KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > xml > schema > ui > nodes > categorized > customizer > AdvancedGlobalAttributeCustomizer


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  * AdvancedGlobalAttributeCustomizer.java
22  *
23  * Created on January 17, 2006, 10:26 PM
24  */

25
26 package org.netbeans.modules.xml.schema.ui.nodes.categorized.customizer;
27
28 import org.netbeans.modules.xml.schema.model.SchemaComponent;
29 import org.openide.util.HelpCtx;
30 //local imports
31
import org.netbeans.modules.xml.schema.model.GlobalAttribute;
32 import org.netbeans.modules.xml.schema.model.GlobalSimpleType;
33 import org.netbeans.modules.xml.schema.model.LocalSimpleType;
34 import org.netbeans.modules.xml.schema.model.SchemaComponentFactory;
35 import org.netbeans.modules.xml.schema.model.SchemaComponentReference;
36 import org.netbeans.modules.xml.schema.ui.nodes.categorized.customizer.AttributeCustomizer.AttributeTypeStyle;
37
38 /**
39  * Global Element customizer
40  *
41  * @author Ajit Bhate
42  */

43 public class AdvancedGlobalAttributeCustomizer extends AttributeCustomizer<GlobalAttribute>
44 {
45     
46     static final long serialVersionUID = 1L;
47     
48     /**
49      * Creates new form AdvancedGlobalAttributeCustomizer
50      */

51     public AdvancedGlobalAttributeCustomizer(
52             SchemaComponentReference<GlobalAttribute> reference)
53     {
54         this(reference, null, null);
55     }
56     
57     public AdvancedGlobalAttributeCustomizer(
58             SchemaComponentReference<GlobalAttribute> reference,
59             SchemaComponent parent, GlobalSimpleType currentGlobalSimpleType)
60     {
61         super(reference, parent, currentGlobalSimpleType);
62     }
63     
64     
65     /**
66      * initializes non ui elements
67      */

68     protected void initializeModel()
69     {
70         GlobalAttribute attribute = getReference().get();
71         if(!hasParent())
72         {
73             _setType(_getType());
74         }
75         else if (attribute.getType() != null)
76         {
77             _setType(attribute.getType().get());
78         }
79         else
80         {
81             _setType(attribute.getInlineType());
82         }
83     }
84     
85     /**
86      * Changes the type of attribute
87      *
88      */

89     protected void setModelType()
90     {
91         GlobalAttribute attribute = getReference().get();
92         
93         AttributeTypeStyle newStyle = getUIStyle();
94         if(newStyle == AttributeTypeStyle.EXISTING)
95         {
96             GlobalSimpleType newType = getUIType();
97             _setType(newType);
98             if(attribute.getInlineType()!=null)
99             {
100                 attribute.setInlineType(null);
101             }
102             SchemaComponentFactory factory = attribute.getModel().getFactory();
103             attribute.setType(factory.createGlobalReference(
104                     newType, GlobalSimpleType.class, attribute));
105         }
106         else
107         {
108             if(attribute.getType()!=null)
109             {
110                 attribute.setType(null);
111             }
112             LocalSimpleType lt = createLocalType();
113             attribute.setInlineType(lt);
114             _setType(lt);
115         }
116     }
117
118     public HelpCtx getHelpCtx()
119     {
120         return new HelpCtx(AdvancedGlobalAttributeCustomizer.class);
121     }
122 }
123
Popular Tags