KickJava   Java API By Example, From Geeks To Geeks.

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


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  * AdvancedLocalAttributeCustomizer.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.LocalAttribute;
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 AdvancedLocalAttributeCustomizer extends AttributeCustomizer<LocalAttribute>
44 {
45     
46     static final long serialVersionUID = 1L;
47     
48     /**
49      * Creates new form AdvancedLocalAttributeCustomizer
50      */

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

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

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