Jalview 2.6 source licence
[jalview.git] / src / jalview / schemabinding / version2 / descriptors / AnnotationElementDescriptor.java
1 /*\r
2  * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6)\r
3  * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle\r
4  * \r
5  * This file is part of Jalview.\r
6  * \r
7  * Jalview is free software: you can redistribute it and/or\r
8  * modify it under the terms of the GNU General Public License \r
9  * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r
10  * \r
11  * Jalview is distributed in the hope that it will be useful, but \r
12  * WITHOUT ANY WARRANTY; without even the implied warranty \r
13  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR \r
14  * PURPOSE.  See the GNU General Public License for more details.\r
15  * \r
16  * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.\r
17  */\r
18 package jalview.schemabinding.version2.descriptors;\r
19 \r
20 //---------------------------------/\r
21 //- Imported classes and packages -/\r
22 //---------------------------------/\r
23 \r
24 import jalview.schemabinding.version2.AnnotationElement;\r
25 \r
26 /**\r
27  * Class AnnotationElementDescriptor.\r
28  * \r
29  * @version $Revision$ $Date$\r
30  */\r
31 public class AnnotationElementDescriptor extends\r
32         org.exolab.castor.xml.util.XMLClassDescriptorImpl\r
33 {\r
34 \r
35   // --------------------------/\r
36   // - Class/Member Variables -/\r
37   // --------------------------/\r
38 \r
39   /**\r
40    * Field _elementDefinition.\r
41    */\r
42   private boolean _elementDefinition;\r
43 \r
44   /**\r
45    * Field _nsPrefix.\r
46    */\r
47   private java.lang.String _nsPrefix;\r
48 \r
49   /**\r
50    * Field _nsURI.\r
51    */\r
52   private java.lang.String _nsURI;\r
53 \r
54   /**\r
55    * Field _xmlName.\r
56    */\r
57   private java.lang.String _xmlName;\r
58 \r
59   // ----------------/\r
60   // - Constructors -/\r
61   // ----------------/\r
62 \r
63   public AnnotationElementDescriptor()\r
64   {\r
65     super();\r
66     _nsURI = "www.vamsas.ac.uk/jalview/version2";\r
67     _xmlName = "annotationElement";\r
68     _elementDefinition = true;\r
69 \r
70     // -- set grouping compositor\r
71     setCompositorAsSequence();\r
72     org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;\r
73     org.exolab.castor.mapping.FieldHandler handler = null;\r
74     org.exolab.castor.xml.FieldValidator fieldValidator = null;\r
75     // -- initialize attribute descriptors\r
76 \r
77     // -- _position\r
78     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
79             java.lang.Integer.TYPE, "_position", "position",\r
80             org.exolab.castor.xml.NodeType.Attribute);\r
81     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
82     {\r
83       public java.lang.Object getValue(java.lang.Object object)\r
84               throws IllegalStateException\r
85       {\r
86         AnnotationElement target = (AnnotationElement) object;\r
87         if (!target.hasPosition())\r
88         {\r
89           return null;\r
90         }\r
91         return new java.lang.Integer(target.getPosition());\r
92       }\r
93 \r
94       public void setValue(java.lang.Object object, java.lang.Object value)\r
95               throws IllegalStateException, IllegalArgumentException\r
96       {\r
97         try\r
98         {\r
99           AnnotationElement target = (AnnotationElement) object;\r
100           // ignore null values for non optional primitives\r
101           if (value == null)\r
102           {\r
103             return;\r
104           }\r
105 \r
106           target.setPosition(((java.lang.Integer) value).intValue());\r
107         } catch (java.lang.Exception ex)\r
108         {\r
109           throw new IllegalStateException(ex.toString());\r
110         }\r
111       }\r
112 \r
113       public java.lang.Object newInstance(java.lang.Object parent)\r
114       {\r
115         return null;\r
116       }\r
117     };\r
118     desc.setHandler(handler);\r
119     desc.setRequired(true);\r
120     desc.setMultivalued(false);\r
121     addFieldDescriptor(desc);\r
122 \r
123     // -- validation code for: _position\r
124     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
125     fieldValidator.setMinOccurs(1);\r
126     { // -- local scope\r
127       org.exolab.castor.xml.validators.IntValidator typeValidator;\r
128       typeValidator = new org.exolab.castor.xml.validators.IntValidator();\r
129       fieldValidator.setValidator(typeValidator);\r
130       typeValidator.setMinInclusive(-2147483648);\r
131       typeValidator.setMaxInclusive(2147483647);\r
132     }\r
133     desc.setValidator(fieldValidator);\r
134     // -- _colour\r
135     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
136             java.lang.Integer.TYPE, "_colour", "colour",\r
137             org.exolab.castor.xml.NodeType.Attribute);\r
138     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
139     {\r
140       public java.lang.Object getValue(java.lang.Object object)\r
141               throws IllegalStateException\r
142       {\r
143         AnnotationElement target = (AnnotationElement) object;\r
144         if (!target.hasColour())\r
145         {\r
146           return null;\r
147         }\r
148         return new java.lang.Integer(target.getColour());\r
149       }\r
150 \r
151       public void setValue(java.lang.Object object, java.lang.Object value)\r
152               throws IllegalStateException, IllegalArgumentException\r
153       {\r
154         try\r
155         {\r
156           AnnotationElement target = (AnnotationElement) object;\r
157           // if null, use delete method for optional primitives\r
158           if (value == null)\r
159           {\r
160             target.deleteColour();\r
161             return;\r
162           }\r
163           target.setColour(((java.lang.Integer) value).intValue());\r
164         } catch (java.lang.Exception ex)\r
165         {\r
166           throw new IllegalStateException(ex.toString());\r
167         }\r
168       }\r
169 \r
170       public java.lang.Object newInstance(java.lang.Object parent)\r
171       {\r
172         return null;\r
173       }\r
174     };\r
175     desc.setHandler(handler);\r
176     desc.setMultivalued(false);\r
177     addFieldDescriptor(desc);\r
178 \r
179     // -- validation code for: _colour\r
180     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
181     { // -- local scope\r
182       org.exolab.castor.xml.validators.IntValidator typeValidator;\r
183       typeValidator = new org.exolab.castor.xml.validators.IntValidator();\r
184       fieldValidator.setValidator(typeValidator);\r
185       typeValidator.setMinInclusive(-2147483648);\r
186       typeValidator.setMaxInclusive(2147483647);\r
187     }\r
188     desc.setValidator(fieldValidator);\r
189     // -- initialize element descriptors\r
190 \r
191     // -- _displayCharacter\r
192     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
193             java.lang.String.class, "_displayCharacter",\r
194             "displayCharacter", org.exolab.castor.xml.NodeType.Element);\r
195     desc.setImmutable(true);\r
196     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
197     {\r
198       public java.lang.Object getValue(java.lang.Object object)\r
199               throws IllegalStateException\r
200       {\r
201         AnnotationElement target = (AnnotationElement) object;\r
202         return target.getDisplayCharacter();\r
203       }\r
204 \r
205       public void setValue(java.lang.Object object, java.lang.Object value)\r
206               throws IllegalStateException, IllegalArgumentException\r
207       {\r
208         try\r
209         {\r
210           AnnotationElement target = (AnnotationElement) object;\r
211           target.setDisplayCharacter((java.lang.String) value);\r
212         } catch (java.lang.Exception ex)\r
213         {\r
214           throw new IllegalStateException(ex.toString());\r
215         }\r
216       }\r
217 \r
218       public java.lang.Object newInstance(java.lang.Object parent)\r
219       {\r
220         return null;\r
221       }\r
222     };\r
223     desc.setHandler(handler);\r
224     desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");\r
225     desc.setMultivalued(false);\r
226     addFieldDescriptor(desc);\r
227 \r
228     // -- validation code for: _displayCharacter\r
229     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
230     { // -- local scope\r
231       org.exolab.castor.xml.validators.StringValidator typeValidator;\r
232       typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
233       fieldValidator.setValidator(typeValidator);\r
234       typeValidator.setWhiteSpace("preserve");\r
235     }\r
236     desc.setValidator(fieldValidator);\r
237     // -- _description\r
238     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
239             java.lang.String.class, "_description", "description",\r
240             org.exolab.castor.xml.NodeType.Element);\r
241     desc.setImmutable(true);\r
242     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
243     {\r
244       public java.lang.Object getValue(java.lang.Object object)\r
245               throws IllegalStateException\r
246       {\r
247         AnnotationElement target = (AnnotationElement) object;\r
248         return target.getDescription();\r
249       }\r
250 \r
251       public void setValue(java.lang.Object object, java.lang.Object value)\r
252               throws IllegalStateException, IllegalArgumentException\r
253       {\r
254         try\r
255         {\r
256           AnnotationElement target = (AnnotationElement) object;\r
257           target.setDescription((java.lang.String) value);\r
258         } catch (java.lang.Exception ex)\r
259         {\r
260           throw new IllegalStateException(ex.toString());\r
261         }\r
262       }\r
263 \r
264       public java.lang.Object newInstance(java.lang.Object parent)\r
265       {\r
266         return null;\r
267       }\r
268     };\r
269     desc.setHandler(handler);\r
270     desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");\r
271     desc.setMultivalued(false);\r
272     addFieldDescriptor(desc);\r
273 \r
274     // -- validation code for: _description\r
275     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
276     { // -- local scope\r
277       org.exolab.castor.xml.validators.StringValidator typeValidator;\r
278       typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
279       fieldValidator.setValidator(typeValidator);\r
280       typeValidator.setWhiteSpace("preserve");\r
281     }\r
282     desc.setValidator(fieldValidator);\r
283     // -- _secondaryStructure\r
284     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
285             java.lang.String.class, "_secondaryStructure",\r
286             "secondaryStructure", org.exolab.castor.xml.NodeType.Element);\r
287     desc.setImmutable(true);\r
288     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
289     {\r
290       public java.lang.Object getValue(java.lang.Object object)\r
291               throws IllegalStateException\r
292       {\r
293         AnnotationElement target = (AnnotationElement) object;\r
294         return target.getSecondaryStructure();\r
295       }\r
296 \r
297       public void setValue(java.lang.Object object, java.lang.Object value)\r
298               throws IllegalStateException, IllegalArgumentException\r
299       {\r
300         try\r
301         {\r
302           AnnotationElement target = (AnnotationElement) object;\r
303           target.setSecondaryStructure((java.lang.String) value);\r
304         } catch (java.lang.Exception ex)\r
305         {\r
306           throw new IllegalStateException(ex.toString());\r
307         }\r
308       }\r
309 \r
310       public java.lang.Object newInstance(java.lang.Object parent)\r
311       {\r
312         return null;\r
313       }\r
314     };\r
315     desc.setHandler(handler);\r
316     desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");\r
317     desc.setMultivalued(false);\r
318     addFieldDescriptor(desc);\r
319 \r
320     // -- validation code for: _secondaryStructure\r
321     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
322     { // -- local scope\r
323       org.exolab.castor.xml.validators.StringValidator typeValidator;\r
324       typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
325       fieldValidator.setValidator(typeValidator);\r
326       typeValidator.setWhiteSpace("preserve");\r
327       typeValidator.setLength(1);\r
328     }\r
329     desc.setValidator(fieldValidator);\r
330     // -- _value\r
331     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
332             java.lang.Float.TYPE, "_value", "value",\r
333             org.exolab.castor.xml.NodeType.Element);\r
334     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
335     {\r
336       public java.lang.Object getValue(java.lang.Object object)\r
337               throws IllegalStateException\r
338       {\r
339         AnnotationElement target = (AnnotationElement) object;\r
340         if (!target.hasValue())\r
341         {\r
342           return null;\r
343         }\r
344         return new java.lang.Float(target.getValue());\r
345       }\r
346 \r
347       public void setValue(java.lang.Object object, java.lang.Object value)\r
348               throws IllegalStateException, IllegalArgumentException\r
349       {\r
350         try\r
351         {\r
352           AnnotationElement target = (AnnotationElement) object;\r
353           // if null, use delete method for optional primitives\r
354           if (value == null)\r
355           {\r
356             target.deleteValue();\r
357             return;\r
358           }\r
359           target.setValue(((java.lang.Float) value).floatValue());\r
360         } catch (java.lang.Exception ex)\r
361         {\r
362           throw new IllegalStateException(ex.toString());\r
363         }\r
364       }\r
365 \r
366       public java.lang.Object newInstance(java.lang.Object parent)\r
367       {\r
368         return null;\r
369       }\r
370     };\r
371     desc.setHandler(handler);\r
372     desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");\r
373     desc.setMultivalued(false);\r
374     addFieldDescriptor(desc);\r
375 \r
376     // -- validation code for: _value\r
377     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
378     { // -- local scope\r
379       org.exolab.castor.xml.validators.FloatValidator typeValidator;\r
380       typeValidator = new org.exolab.castor.xml.validators.FloatValidator();\r
381       fieldValidator.setValidator(typeValidator);\r
382       typeValidator.setMinInclusive((float) -3.4028235E38);\r
383       typeValidator.setMaxInclusive((float) 3.4028235E38);\r
384     }\r
385     desc.setValidator(fieldValidator);\r
386   }\r
387 \r
388   // -----------/\r
389   // - Methods -/\r
390   // -----------/\r
391 \r
392   /**\r
393    * Method getAccessMode.\r
394    * \r
395    * @return the access mode specified for this class.\r
396    */\r
397   public org.exolab.castor.mapping.AccessMode getAccessMode()\r
398   {\r
399     return null;\r
400   }\r
401 \r
402   /**\r
403    * Method getIdentity.\r
404    * \r
405    * @return the identity field, null if this class has no identity.\r
406    */\r
407   public org.exolab.castor.mapping.FieldDescriptor getIdentity()\r
408   {\r
409     return super.getIdentity();\r
410   }\r
411 \r
412   /**\r
413    * Method getJavaClass.\r
414    * \r
415    * @return the Java class represented by this descriptor.\r
416    */\r
417   public java.lang.Class getJavaClass()\r
418   {\r
419     return jalview.schemabinding.version2.AnnotationElement.class;\r
420   }\r
421 \r
422   /**\r
423    * Method getNameSpacePrefix.\r
424    * \r
425    * @return the namespace prefix to use when marshaling as XML.\r
426    */\r
427   public java.lang.String getNameSpacePrefix()\r
428   {\r
429     return _nsPrefix;\r
430   }\r
431 \r
432   /**\r
433    * Method getNameSpaceURI.\r
434    * \r
435    * @return the namespace URI used when marshaling and unmarshaling as XML.\r
436    */\r
437   public java.lang.String getNameSpaceURI()\r
438   {\r
439     return _nsURI;\r
440   }\r
441 \r
442   /**\r
443    * Method getValidator.\r
444    * \r
445    * @return a specific validator for the class described by this\r
446    *         ClassDescriptor.\r
447    */\r
448   public org.exolab.castor.xml.TypeValidator getValidator()\r
449   {\r
450     return this;\r
451   }\r
452 \r
453   /**\r
454    * Method getXMLName.\r
455    * \r
456    * @return the XML Name for the Class being described.\r
457    */\r
458   public java.lang.String getXMLName()\r
459   {\r
460     return _xmlName;\r
461   }\r
462 \r
463   /**\r
464    * Method isElementDefinition.\r
465    * \r
466    * @return true if XML schema definition of this Class is that of a global\r
467    *         element or element with anonymous type definition.\r
468    */\r
469   public boolean isElementDefinition()\r
470   {\r
471     return _elementDefinition;\r
472   }\r
473 \r
474 }\r