44298962c4628f391deae5a45150beaf27335cbe
[jalview.git] / src / jalview / schemabinding / version2 / descriptors / AnnotationElementDescriptor.java
1 /*\r
2  * Jalview - A Sequence Alignment Editor and Viewer (Development Version 2.4.1)\r
3  * Copyright (C) 2009 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 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       //----------------/\r
61      //- Constructors -/\r
62     //----------------/\r
63 \r
64     public AnnotationElementDescriptor() {\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(java.lang.Integer.TYPE, "_position", "position", org.exolab.castor.xml.NodeType.Attribute);\r
79         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
80             public java.lang.Object getValue( java.lang.Object object ) \r
81                 throws IllegalStateException\r
82             {\r
83                 AnnotationElement target = (AnnotationElement) object;\r
84                 if (!target.hasPosition()) { return null; }\r
85                 return new java.lang.Integer(target.getPosition());\r
86             }\r
87             public void setValue( java.lang.Object object, java.lang.Object value) \r
88                 throws IllegalStateException, IllegalArgumentException\r
89             {\r
90                 try {\r
91                     AnnotationElement target = (AnnotationElement) object;\r
92                     // ignore null values for non optional primitives\r
93                     if (value == null) { return; }\r
94                     \r
95                     target.setPosition( ((java.lang.Integer) value).intValue());\r
96                 } catch (java.lang.Exception ex) {\r
97                     throw new IllegalStateException(ex.toString());\r
98                 }\r
99             }\r
100             public java.lang.Object newInstance(java.lang.Object parent) {\r
101                 return null;\r
102             }\r
103         };\r
104         desc.setHandler(handler);\r
105         desc.setRequired(true);\r
106         desc.setMultivalued(false);\r
107         addFieldDescriptor(desc);\r
108         \r
109         //-- validation code for: _position\r
110         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
111         fieldValidator.setMinOccurs(1);\r
112         { //-- local scope\r
113             org.exolab.castor.xml.validators.IntValidator typeValidator;\r
114             typeValidator = new org.exolab.castor.xml.validators.IntValidator();\r
115             fieldValidator.setValidator(typeValidator);\r
116             typeValidator.setMinInclusive(-2147483648);\r
117             typeValidator.setMaxInclusive(2147483647);\r
118         }\r
119         desc.setValidator(fieldValidator);\r
120         //-- _colour\r
121         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Integer.TYPE, "_colour", "colour", org.exolab.castor.xml.NodeType.Attribute);\r
122         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
123             public java.lang.Object getValue( java.lang.Object object ) \r
124                 throws IllegalStateException\r
125             {\r
126                 AnnotationElement target = (AnnotationElement) object;\r
127                 if (!target.hasColour()) { return null; }\r
128                 return new java.lang.Integer(target.getColour());\r
129             }\r
130             public void setValue( java.lang.Object object, java.lang.Object value) \r
131                 throws IllegalStateException, IllegalArgumentException\r
132             {\r
133                 try {\r
134                     AnnotationElement target = (AnnotationElement) object;\r
135                     // if null, use delete method for optional primitives \r
136                     if (value == null) {\r
137                         target.deleteColour();\r
138                         return;\r
139                     }\r
140                     target.setColour( ((java.lang.Integer) value).intValue());\r
141                 } catch (java.lang.Exception ex) {\r
142                     throw new IllegalStateException(ex.toString());\r
143                 }\r
144             }\r
145             public java.lang.Object newInstance(java.lang.Object parent) {\r
146                 return null;\r
147             }\r
148         };\r
149         desc.setHandler(handler);\r
150         desc.setMultivalued(false);\r
151         addFieldDescriptor(desc);\r
152         \r
153         //-- validation code for: _colour\r
154         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
155         { //-- local scope\r
156             org.exolab.castor.xml.validators.IntValidator typeValidator;\r
157             typeValidator = new org.exolab.castor.xml.validators.IntValidator();\r
158             fieldValidator.setValidator(typeValidator);\r
159             typeValidator.setMinInclusive(-2147483648);\r
160             typeValidator.setMaxInclusive(2147483647);\r
161         }\r
162         desc.setValidator(fieldValidator);\r
163         //-- initialize element descriptors\r
164         \r
165         //-- _displayCharacter\r
166         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_displayCharacter", "displayCharacter", org.exolab.castor.xml.NodeType.Element);\r
167         desc.setImmutable(true);\r
168         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
169             public java.lang.Object getValue( java.lang.Object object ) \r
170                 throws IllegalStateException\r
171             {\r
172                 AnnotationElement target = (AnnotationElement) object;\r
173                 return target.getDisplayCharacter();\r
174             }\r
175             public void setValue( java.lang.Object object, java.lang.Object value) \r
176                 throws IllegalStateException, IllegalArgumentException\r
177             {\r
178                 try {\r
179                     AnnotationElement target = (AnnotationElement) object;\r
180                     target.setDisplayCharacter( (java.lang.String) value);\r
181                 } catch (java.lang.Exception ex) {\r
182                     throw new IllegalStateException(ex.toString());\r
183                 }\r
184             }\r
185             public java.lang.Object newInstance(java.lang.Object parent) {\r
186                 return null;\r
187             }\r
188         };\r
189         desc.setHandler(handler);\r
190         desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");\r
191         desc.setMultivalued(false);\r
192         addFieldDescriptor(desc);\r
193         \r
194         //-- validation code for: _displayCharacter\r
195         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
196         { //-- local scope\r
197             org.exolab.castor.xml.validators.StringValidator typeValidator;\r
198             typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
199             fieldValidator.setValidator(typeValidator);\r
200             typeValidator.setWhiteSpace("preserve");\r
201         }\r
202         desc.setValidator(fieldValidator);\r
203         //-- _description\r
204         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_description", "description", org.exolab.castor.xml.NodeType.Element);\r
205         desc.setImmutable(true);\r
206         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
207             public java.lang.Object getValue( java.lang.Object object ) \r
208                 throws IllegalStateException\r
209             {\r
210                 AnnotationElement target = (AnnotationElement) object;\r
211                 return target.getDescription();\r
212             }\r
213             public void setValue( java.lang.Object object, java.lang.Object value) \r
214                 throws IllegalStateException, IllegalArgumentException\r
215             {\r
216                 try {\r
217                     AnnotationElement target = (AnnotationElement) object;\r
218                     target.setDescription( (java.lang.String) value);\r
219                 } catch (java.lang.Exception ex) {\r
220                     throw new IllegalStateException(ex.toString());\r
221                 }\r
222             }\r
223             public java.lang.Object newInstance(java.lang.Object parent) {\r
224                 return null;\r
225             }\r
226         };\r
227         desc.setHandler(handler);\r
228         desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");\r
229         desc.setMultivalued(false);\r
230         addFieldDescriptor(desc);\r
231         \r
232         //-- validation code for: _description\r
233         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
234         { //-- local scope\r
235             org.exolab.castor.xml.validators.StringValidator typeValidator;\r
236             typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
237             fieldValidator.setValidator(typeValidator);\r
238             typeValidator.setWhiteSpace("preserve");\r
239         }\r
240         desc.setValidator(fieldValidator);\r
241         //-- _secondaryStructure\r
242         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_secondaryStructure", "secondaryStructure", org.exolab.castor.xml.NodeType.Element);\r
243         desc.setImmutable(true);\r
244         handler = new org.exolab.castor.xml.XMLFieldHandler() {\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.getSecondaryStructure();\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                     AnnotationElement target = (AnnotationElement) object;\r
256                     target.setSecondaryStructure( (java.lang.String) value);\r
257                 } catch (java.lang.Exception ex) {\r
258                     throw new IllegalStateException(ex.toString());\r
259                 }\r
260             }\r
261             public java.lang.Object newInstance(java.lang.Object parent) {\r
262                 return null;\r
263             }\r
264         };\r
265         desc.setHandler(handler);\r
266         desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");\r
267         desc.setMultivalued(false);\r
268         addFieldDescriptor(desc);\r
269         \r
270         //-- validation code for: _secondaryStructure\r
271         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
272         { //-- local scope\r
273             org.exolab.castor.xml.validators.StringValidator typeValidator;\r
274             typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
275             fieldValidator.setValidator(typeValidator);\r
276             typeValidator.setWhiteSpace("preserve");\r
277             typeValidator.setLength(1);\r
278         }\r
279         desc.setValidator(fieldValidator);\r
280         //-- _value\r
281         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Float.TYPE, "_value", "value", org.exolab.castor.xml.NodeType.Element);\r
282         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
283             public java.lang.Object getValue( java.lang.Object object ) \r
284                 throws IllegalStateException\r
285             {\r
286                 AnnotationElement target = (AnnotationElement) object;\r
287                 if (!target.hasValue()) { return null; }\r
288                 return new java.lang.Float(target.getValue());\r
289             }\r
290             public void setValue( java.lang.Object object, java.lang.Object value) \r
291                 throws IllegalStateException, IllegalArgumentException\r
292             {\r
293                 try {\r
294                     AnnotationElement target = (AnnotationElement) object;\r
295                     // if null, use delete method for optional primitives \r
296                     if (value == null) {\r
297                         target.deleteValue();\r
298                         return;\r
299                     }\r
300                     target.setValue( ((java.lang.Float) value).floatValue());\r
301                 } catch (java.lang.Exception ex) {\r
302                     throw new IllegalStateException(ex.toString());\r
303                 }\r
304             }\r
305             public java.lang.Object newInstance(java.lang.Object parent) {\r
306                 return null;\r
307             }\r
308         };\r
309         desc.setHandler(handler);\r
310         desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");\r
311         desc.setMultivalued(false);\r
312         addFieldDescriptor(desc);\r
313         \r
314         //-- validation code for: _value\r
315         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
316         { //-- local scope\r
317             org.exolab.castor.xml.validators.FloatValidator typeValidator;\r
318             typeValidator = new org.exolab.castor.xml.validators.FloatValidator();\r
319             fieldValidator.setValidator(typeValidator);\r
320             typeValidator.setMinInclusive((float) -3.4028235E38);\r
321             typeValidator.setMaxInclusive((float) 3.4028235E38);\r
322         }\r
323         desc.setValidator(fieldValidator);\r
324     }\r
325 \r
326 \r
327       //-----------/\r
328      //- Methods -/\r
329     //-----------/\r
330 \r
331     /**\r
332      * Method getAccessMode.\r
333      * \r
334      * @return the access mode specified for this class.\r
335      */\r
336     public org.exolab.castor.mapping.AccessMode getAccessMode(\r
337     ) {\r
338         return null;\r
339     }\r
340 \r
341     /**\r
342      * Method getIdentity.\r
343      * \r
344      * @return the identity field, null if this class has no\r
345      * identity.\r
346      */\r
347     public org.exolab.castor.mapping.FieldDescriptor getIdentity(\r
348     ) {\r
349         return super.getIdentity();\r
350     }\r
351 \r
352     /**\r
353      * Method getJavaClass.\r
354      * \r
355      * @return the Java class represented by this descriptor.\r
356      */\r
357     public java.lang.Class getJavaClass(\r
358     ) {\r
359         return jalview.schemabinding.version2.AnnotationElement.class;\r
360     }\r
361 \r
362     /**\r
363      * Method getNameSpacePrefix.\r
364      * \r
365      * @return the namespace prefix to use when marshaling as XML.\r
366      */\r
367     public java.lang.String getNameSpacePrefix(\r
368     ) {\r
369         return _nsPrefix;\r
370     }\r
371 \r
372     /**\r
373      * Method getNameSpaceURI.\r
374      * \r
375      * @return the namespace URI used when marshaling and\r
376      * unmarshaling as XML.\r
377      */\r
378     public java.lang.String getNameSpaceURI(\r
379     ) {\r
380         return _nsURI;\r
381     }\r
382 \r
383     /**\r
384      * Method getValidator.\r
385      * \r
386      * @return a specific validator for the class described by this\r
387      * ClassDescriptor.\r
388      */\r
389     public org.exolab.castor.xml.TypeValidator getValidator(\r
390     ) {\r
391         return this;\r
392     }\r
393 \r
394     /**\r
395      * Method getXMLName.\r
396      * \r
397      * @return the XML Name for the Class being described.\r
398      */\r
399     public java.lang.String getXMLName(\r
400     ) {\r
401         return _xmlName;\r
402     }\r
403 \r
404     /**\r
405      * Method isElementDefinition.\r
406      * \r
407      * @return true if XML schema definition of this Class is that\r
408      * of a global\r
409      * element or element with anonymous type definition.\r
410      */\r
411     public boolean isElementDefinition(\r
412     ) {\r
413         return _elementDefinition;\r
414     }\r
415 \r
416 }\r