KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > xml > schema > ui > nodes > schema > properties > NamespaceProperty


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * 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
20 /*
21  * NamespaceProperty.java
22  *
23  * Created on January 5, 2006, 3:21 PM
24  *
25  */

26
27 package org.netbeans.modules.xml.schema.ui.nodes.schema.properties;
28
29 import java.lang.reflect.InvocationTargetException JavaDoc;
30 import java.net.URI JavaDoc;
31 import java.net.URISyntaxException JavaDoc;
32 import org.netbeans.modules.xml.schema.model.SchemaComponent;
33 import org.netbeans.modules.xml.schema.ui.basic.editors.NamespaceEditor;
34 import org.netbeans.modules.xml.schema.ui.nodes.schema.SchemaNode;
35 import org.openide.ErrorManager;
36 import org.openide.util.NbBundle;
37
38 /**
39  * This class provides property support for properties having namespace uris.
40  * @author Ajit Bhate
41  */

42 public class NamespaceProperty extends BaseSchemaProperty {
43     
44     private String JavaDoc typeDisplayName;
45     /**
46      * Creates a new instance of NamespaceProperty.
47      *
48      *
49      * @param component The schema component which property belongs to.
50      * @param property The property name.
51      * @param propDispName The display name of the property.
52      * @param propDesc Short description about the property.
53      * @throws java.lang.NoSuchMethodException If no getter and setter for the property are found
54      */

55     public NamespaceProperty(SchemaComponent component,
56             String JavaDoc property, String JavaDoc dispName, String JavaDoc desc, String JavaDoc typeDisplayName)
57             throws NoSuchMethodException JavaDoc {
58             super(component,String JavaDoc.class,property,dispName,desc,null);
59             this.typeDisplayName = typeDisplayName;
60     }
61     
62     public void setValue(Object JavaDoc o) throws IllegalAccessException JavaDoc, InvocationTargetException JavaDoc {
63         if(o==null) {
64             super.setValue(null);
65         } else if(o instanceof String JavaDoc) {
66             try {
67                 new URI JavaDoc((String JavaDoc) o);
68                 super.setValue(o);
69             } catch (URISyntaxException JavaDoc urse) {
70                 String JavaDoc msg = NbBundle.getMessage(SchemaNode.class, "MSG_Invalid_URI",o); //NOI18N
71
IllegalArgumentException JavaDoc iae = new IllegalArgumentException JavaDoc(msg);
72                 ErrorManager.getDefault().annotate(iae, ErrorManager.USER,
73                         msg, msg, urse, new java.util.Date JavaDoc());
74                 throw iae;
75             }
76         }
77     }
78     /**
79      * This method returns the property editor.
80      * Overridden to return special editor.
81      */

82     @Override JavaDoc
83     public java.beans.PropertyEditor JavaDoc getPropertyEditor() {
84         return new NamespaceEditor(super.getComponent(), typeDisplayName,
85                 getDisplayName());
86     }
87     
88 }
89
Popular Tags