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