01: /*
02: * The contents of this file are subject to the terms of the Common Development
03: * and Distribution License (the License). You may not use this file except in
04: * compliance with the License.
05: *
06: * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
07: * or http://www.netbeans.org/cddl.txt.
08: *
09: * When distributing Covered Code, include this CDDL Header Notice in each file
10: * and include the License file at http://www.netbeans.org/cddl.txt.
11: * If applicable, add the following below the CDDL Header, with the fields
12: * enclosed by brackets [] replaced by your own identifying information:
13: * "Portions Copyrighted [year] [name of copyright owner]"
14: *
15: * The Original Software is NetBeans. The Initial Developer of the Original
16: * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
17: * Microsystems, Inc. All Rights Reserved.
18: */
19: package org.netbeans.modules.xslt.tmap.nodes.properties;
20:
21: import java.awt.Component;
22: import java.beans.PropertyEditorSupport;
23: import javax.xml.namespace.QName;
24: import org.netbeans.modules.soa.ui.form.Reusable;
25: import org.openide.explorer.propertysheet.ExPropertyEditor;
26: import org.openide.explorer.propertysheet.PropertyEnv;
27:
28: /**
29: *
30: * @author Vitaly Bychkov
31: * @author nk160297
32: *
33: * @version 1.0
34: */
35: public class StringPropEditor extends PropertyEditorSupport implements
36: ExPropertyEditor, Reusable {
37:
38: private static StringPropertyCustomizer customizer = null;
39:
40: protected PropertyEnv myPropertyEnv = null;
41:
42: /**
43: * Allows to use single instance of editor for differen properties
44: */
45: /** Creates a new instance of QNamePropEditor */
46: public StringPropEditor() {
47: }
48:
49: public String getAsText() {
50: Object value = super .getValue();
51: return value == null ? "" : String.valueOf(value);
52: }
53:
54: public void setAsText(String text)
55: throws java.lang.IllegalArgumentException {
56: setValue(text);
57: }
58:
59: public boolean supportsCustomEditor() {
60: return true;
61: }
62:
63: public Component getCustomEditor() {
64: customizer = PropertyUtils.propertyCustomizerPool
65: .getObjectByClass(StringPropertyCustomizer.class);
66: customizer.init(myPropertyEnv, this );
67: return customizer;
68: }
69:
70: public void attachEnv(PropertyEnv newPropertyEnv) {
71: myPropertyEnv = newPropertyEnv;
72: }
73:
74: }
|