dddeb96ec13aaa49b7959f44d2da0b0e5c9409d2
[jalview.git] / src / jalview / schemabinding / version2 / descriptors / FeatureSettingsDescriptor.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
3  * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
4  * 
5  * This file is part of Jalview.
6  * 
7  * Jalview is free software: you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License 
9  * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
10  *  
11  * Jalview is distributed in the hope that it will be useful, but 
12  * WITHOUT ANY WARRANTY; without even the implied warranty 
13  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
14  * PURPOSE.  See the GNU General Public License for more details.
15  * 
16  * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
17  */
18 package jalview.schemabinding.version2.descriptors;
19
20 //---------------------------------/
21 //- Imported classes and packages -/
22 //---------------------------------/
23
24 import jalview.schemabinding.version2.FeatureSettings;
25
26 /**
27  * Class FeatureSettingsDescriptor.
28  * 
29  * @version $Revision$ $Date$
30  */
31 public class FeatureSettingsDescriptor extends
32         org.exolab.castor.xml.util.XMLClassDescriptorImpl
33 {
34
35   // --------------------------/
36   // - Class/Member Variables -/
37   // --------------------------/
38
39   /**
40    * Field _elementDefinition.
41    */
42   private boolean _elementDefinition;
43
44   /**
45    * Field _nsPrefix.
46    */
47   private java.lang.String _nsPrefix;
48
49   /**
50    * Field _nsURI.
51    */
52   private java.lang.String _nsURI;
53
54   /**
55    * Field _xmlName.
56    */
57   private java.lang.String _xmlName;
58
59   // ----------------/
60   // - Constructors -/
61   // ----------------/
62
63   public FeatureSettingsDescriptor()
64   {
65     super();
66     _nsURI = "www.jalview.org";
67     _xmlName = "FeatureSettings";
68     _elementDefinition = true;
69
70     // -- set grouping compositor
71     setCompositorAsSequence();
72     org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
73     org.exolab.castor.mapping.FieldHandler handler = null;
74     org.exolab.castor.xml.FieldValidator fieldValidator = null;
75     // -- initialize attribute descriptors
76
77     // -- initialize element descriptors
78
79     // -- _settingList
80     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
81             jalview.schemabinding.version2.Setting.class, "_settingList",
82             "setting", org.exolab.castor.xml.NodeType.Element);
83     handler = new org.exolab.castor.xml.XMLFieldHandler()
84     {
85       public java.lang.Object getValue(java.lang.Object object)
86               throws IllegalStateException
87       {
88         FeatureSettings target = (FeatureSettings) object;
89         return target.getSetting();
90       }
91
92       public void setValue(java.lang.Object object, java.lang.Object value)
93               throws IllegalStateException, IllegalArgumentException
94       {
95         try
96         {
97           FeatureSettings target = (FeatureSettings) object;
98           target.addSetting((jalview.schemabinding.version2.Setting) value);
99         } catch (java.lang.Exception ex)
100         {
101           throw new IllegalStateException(ex.toString());
102         }
103       }
104
105       public void resetValue(Object object) throws IllegalStateException,
106               IllegalArgumentException
107       {
108         try
109         {
110           FeatureSettings target = (FeatureSettings) object;
111           target.removeAllSetting();
112         } catch (java.lang.Exception ex)
113         {
114           throw new IllegalStateException(ex.toString());
115         }
116       }
117
118       public java.lang.Object newInstance(java.lang.Object parent)
119       {
120         return new jalview.schemabinding.version2.Setting();
121       }
122     };
123     desc.setHandler(handler);
124     desc.setNameSpaceURI("www.jalview.org");
125     desc.setMultivalued(true);
126     addFieldDescriptor(desc);
127
128     // -- validation code for: _settingList
129     fieldValidator = new org.exolab.castor.xml.FieldValidator();
130     fieldValidator.setMinOccurs(0);
131     { // -- local scope
132     }
133     desc.setValidator(fieldValidator);
134     // -- _groupList
135     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
136             jalview.schemabinding.version2.Group.class, "_groupList",
137             "group", org.exolab.castor.xml.NodeType.Element);
138     handler = new org.exolab.castor.xml.XMLFieldHandler()
139     {
140       public java.lang.Object getValue(java.lang.Object object)
141               throws IllegalStateException
142       {
143         FeatureSettings target = (FeatureSettings) object;
144         return target.getGroup();
145       }
146
147       public void setValue(java.lang.Object object, java.lang.Object value)
148               throws IllegalStateException, IllegalArgumentException
149       {
150         try
151         {
152           FeatureSettings target = (FeatureSettings) object;
153           target.addGroup((jalview.schemabinding.version2.Group) value);
154         } catch (java.lang.Exception ex)
155         {
156           throw new IllegalStateException(ex.toString());
157         }
158       }
159
160       public void resetValue(Object object) throws IllegalStateException,
161               IllegalArgumentException
162       {
163         try
164         {
165           FeatureSettings target = (FeatureSettings) object;
166           target.removeAllGroup();
167         } catch (java.lang.Exception ex)
168         {
169           throw new IllegalStateException(ex.toString());
170         }
171       }
172
173       public java.lang.Object newInstance(java.lang.Object parent)
174       {
175         return new jalview.schemabinding.version2.Group();
176       }
177     };
178     desc.setHandler(handler);
179     desc.setNameSpaceURI("www.jalview.org");
180     desc.setMultivalued(true);
181     addFieldDescriptor(desc);
182
183     // -- validation code for: _groupList
184     fieldValidator = new org.exolab.castor.xml.FieldValidator();
185     fieldValidator.setMinOccurs(0);
186     { // -- local scope
187     }
188     desc.setValidator(fieldValidator);
189   }
190
191   // -----------/
192   // - Methods -/
193   // -----------/
194
195   /**
196    * Method getAccessMode.
197    * 
198    * @return the access mode specified for this class.
199    */
200   public org.exolab.castor.mapping.AccessMode getAccessMode()
201   {
202     return null;
203   }
204
205   /**
206    * Method getIdentity.
207    * 
208    * @return the identity field, null if this class has no identity.
209    */
210   public org.exolab.castor.mapping.FieldDescriptor getIdentity()
211   {
212     return super.getIdentity();
213   }
214
215   /**
216    * Method getJavaClass.
217    * 
218    * @return the Java class represented by this descriptor.
219    */
220   public java.lang.Class getJavaClass()
221   {
222     return jalview.schemabinding.version2.FeatureSettings.class;
223   }
224
225   /**
226    * Method getNameSpacePrefix.
227    * 
228    * @return the namespace prefix to use when marshaling as XML.
229    */
230   public java.lang.String getNameSpacePrefix()
231   {
232     return _nsPrefix;
233   }
234
235   /**
236    * Method getNameSpaceURI.
237    * 
238    * @return the namespace URI used when marshaling and unmarshaling as XML.
239    */
240   public java.lang.String getNameSpaceURI()
241   {
242     return _nsURI;
243   }
244
245   /**
246    * Method getValidator.
247    * 
248    * @return a specific validator for the class described by this
249    *         ClassDescriptor.
250    */
251   public org.exolab.castor.xml.TypeValidator getValidator()
252   {
253     return this;
254   }
255
256   /**
257    * Method getXMLName.
258    * 
259    * @return the XML Name for the Class being described.
260    */
261   public java.lang.String getXMLName()
262   {
263     return _xmlName;
264   }
265
266   /**
267    * Method isElementDefinition.
268    * 
269    * @return true if XML schema definition of this Class is that of a global
270    *         element or element with anonymous type definition.
271    */
272   public boolean isElementDefinition()
273   {
274     return _elementDefinition;
275   }
276
277 }