extend XML model for graduated feature colours, group associated manual/auto annotati...
[jalview.git] / src / jalview / schemabinding / version2 / descriptors / AnnotationDescriptor.java
1 /*\r
2  * Jalview - A Sequence Alignment Editor and Viewer (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.Annotation;\r
26 \r
27 /**\r
28  * Class AnnotationDescriptor.\r
29  * \r
30  * @version $Revision$ $Date$\r
31  */\r
32 public class AnnotationDescriptor 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 AnnotationDescriptor() {\r
65         super();\r
66         _nsURI = "www.vamsas.ac.uk/jalview/version2";\r
67         _xmlName = "Annotation";\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         //-- _graph\r
78         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Boolean.TYPE, "_graph", "graph", 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                 Annotation target = (Annotation) object;\r
84                 if (!target.hasGraph()) { return null; }\r
85                 return (target.getGraph() ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE);\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                     Annotation target = (Annotation) object;\r
92                     // ignore null values for non optional primitives\r
93                     if (value == null) { return; }\r
94                     \r
95                     target.setGraph( ((java.lang.Boolean) value).booleanValue());\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: _graph\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.BooleanValidator typeValidator;\r
114             typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
115             fieldValidator.setValidator(typeValidator);\r
116         }\r
117         desc.setValidator(fieldValidator);\r
118         //-- _graphType\r
119         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Integer.TYPE, "_graphType", "graphType", org.exolab.castor.xml.NodeType.Attribute);\r
120         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
121             public java.lang.Object getValue( java.lang.Object object ) \r
122                 throws IllegalStateException\r
123             {\r
124                 Annotation target = (Annotation) object;\r
125                 if (!target.hasGraphType()) { return null; }\r
126                 return new java.lang.Integer(target.getGraphType());\r
127             }\r
128             public void setValue( java.lang.Object object, java.lang.Object value) \r
129                 throws IllegalStateException, IllegalArgumentException\r
130             {\r
131                 try {\r
132                     Annotation target = (Annotation) object;\r
133                     // if null, use delete method for optional primitives \r
134                     if (value == null) {\r
135                         target.deleteGraphType();\r
136                         return;\r
137                     }\r
138                     target.setGraphType( ((java.lang.Integer) value).intValue());\r
139                 } catch (java.lang.Exception ex) {\r
140                     throw new IllegalStateException(ex.toString());\r
141                 }\r
142             }\r
143             public java.lang.Object newInstance(java.lang.Object parent) {\r
144                 return null;\r
145             }\r
146         };\r
147         desc.setHandler(handler);\r
148         desc.setMultivalued(false);\r
149         addFieldDescriptor(desc);\r
150         \r
151         //-- validation code for: _graphType\r
152         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
153         { //-- local scope\r
154             org.exolab.castor.xml.validators.IntValidator typeValidator;\r
155             typeValidator = new org.exolab.castor.xml.validators.IntValidator();\r
156             fieldValidator.setValidator(typeValidator);\r
157             typeValidator.setMinInclusive(-2147483648);\r
158             typeValidator.setMaxInclusive(2147483647);\r
159         }\r
160         desc.setValidator(fieldValidator);\r
161         //-- _sequenceRef\r
162         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_sequenceRef", "sequenceRef", org.exolab.castor.xml.NodeType.Attribute);\r
163         desc.setImmutable(true);\r
164         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
165             public java.lang.Object getValue( java.lang.Object object ) \r
166                 throws IllegalStateException\r
167             {\r
168                 Annotation target = (Annotation) object;\r
169                 return target.getSequenceRef();\r
170             }\r
171             public void setValue( java.lang.Object object, java.lang.Object value) \r
172                 throws IllegalStateException, IllegalArgumentException\r
173             {\r
174                 try {\r
175                     Annotation target = (Annotation) object;\r
176                     target.setSequenceRef( (java.lang.String) value);\r
177                 } catch (java.lang.Exception ex) {\r
178                     throw new IllegalStateException(ex.toString());\r
179                 }\r
180             }\r
181             public java.lang.Object newInstance(java.lang.Object parent) {\r
182                 return null;\r
183             }\r
184         };\r
185         desc.setHandler(handler);\r
186         desc.setMultivalued(false);\r
187         addFieldDescriptor(desc);\r
188         \r
189         //-- validation code for: _sequenceRef\r
190         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
191         { //-- local scope\r
192             org.exolab.castor.xml.validators.StringValidator typeValidator;\r
193             typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
194             fieldValidator.setValidator(typeValidator);\r
195             typeValidator.setWhiteSpace("preserve");\r
196         }\r
197         desc.setValidator(fieldValidator);\r
198         //-- _groupRef\r
199         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_groupRef", "groupRef", org.exolab.castor.xml.NodeType.Attribute);\r
200         desc.setImmutable(true);\r
201         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
202             public java.lang.Object getValue( java.lang.Object object ) \r
203                 throws IllegalStateException\r
204             {\r
205                 Annotation target = (Annotation) object;\r
206                 return target.getGroupRef();\r
207             }\r
208             public void setValue( java.lang.Object object, java.lang.Object value) \r
209                 throws IllegalStateException, IllegalArgumentException\r
210             {\r
211                 try {\r
212                     Annotation target = (Annotation) object;\r
213                     target.setGroupRef( (java.lang.String) value);\r
214                 } catch (java.lang.Exception ex) {\r
215                     throw new IllegalStateException(ex.toString());\r
216                 }\r
217             }\r
218             public java.lang.Object newInstance(java.lang.Object parent) {\r
219                 return null;\r
220             }\r
221         };\r
222         desc.setHandler(handler);\r
223         desc.setMultivalued(false);\r
224         addFieldDescriptor(desc);\r
225         \r
226         //-- validation code for: _groupRef\r
227         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
228         { //-- local scope\r
229             org.exolab.castor.xml.validators.StringValidator typeValidator;\r
230             typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
231             fieldValidator.setValidator(typeValidator);\r
232             typeValidator.setWhiteSpace("preserve");\r
233         }\r
234         desc.setValidator(fieldValidator);\r
235         //-- _graphColour\r
236         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Integer.TYPE, "_graphColour", "graphColour", org.exolab.castor.xml.NodeType.Attribute);\r
237         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
238             public java.lang.Object getValue( java.lang.Object object ) \r
239                 throws IllegalStateException\r
240             {\r
241                 Annotation target = (Annotation) object;\r
242                 if (!target.hasGraphColour()) { return null; }\r
243                 return new java.lang.Integer(target.getGraphColour());\r
244             }\r
245             public void setValue( java.lang.Object object, java.lang.Object value) \r
246                 throws IllegalStateException, IllegalArgumentException\r
247             {\r
248                 try {\r
249                     Annotation target = (Annotation) object;\r
250                     // if null, use delete method for optional primitives \r
251                     if (value == null) {\r
252                         target.deleteGraphColour();\r
253                         return;\r
254                     }\r
255                     target.setGraphColour( ((java.lang.Integer) value).intValue());\r
256                 } catch (java.lang.Exception ex) {\r
257                     throw new IllegalStateException(ex.toString());\r
258                 }\r
259             }\r
260             public java.lang.Object newInstance(java.lang.Object parent) {\r
261                 return null;\r
262             }\r
263         };\r
264         desc.setHandler(handler);\r
265         desc.setMultivalued(false);\r
266         addFieldDescriptor(desc);\r
267         \r
268         //-- validation code for: _graphColour\r
269         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
270         { //-- local scope\r
271             org.exolab.castor.xml.validators.IntValidator typeValidator;\r
272             typeValidator = new org.exolab.castor.xml.validators.IntValidator();\r
273             fieldValidator.setValidator(typeValidator);\r
274             typeValidator.setMinInclusive(-2147483648);\r
275             typeValidator.setMaxInclusive(2147483647);\r
276         }\r
277         desc.setValidator(fieldValidator);\r
278         //-- _graphGroup\r
279         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Integer.TYPE, "_graphGroup", "graphGroup", org.exolab.castor.xml.NodeType.Attribute);\r
280         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
281             public java.lang.Object getValue( java.lang.Object object ) \r
282                 throws IllegalStateException\r
283             {\r
284                 Annotation target = (Annotation) object;\r
285                 if (!target.hasGraphGroup()) { return null; }\r
286                 return new java.lang.Integer(target.getGraphGroup());\r
287             }\r
288             public void setValue( java.lang.Object object, java.lang.Object value) \r
289                 throws IllegalStateException, IllegalArgumentException\r
290             {\r
291                 try {\r
292                     Annotation target = (Annotation) object;\r
293                     // if null, use delete method for optional primitives \r
294                     if (value == null) {\r
295                         target.deleteGraphGroup();\r
296                         return;\r
297                     }\r
298                     target.setGraphGroup( ((java.lang.Integer) value).intValue());\r
299                 } catch (java.lang.Exception ex) {\r
300                     throw new IllegalStateException(ex.toString());\r
301                 }\r
302             }\r
303             public java.lang.Object newInstance(java.lang.Object parent) {\r
304                 return null;\r
305             }\r
306         };\r
307         desc.setHandler(handler);\r
308         desc.setMultivalued(false);\r
309         addFieldDescriptor(desc);\r
310         \r
311         //-- validation code for: _graphGroup\r
312         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
313         { //-- local scope\r
314             org.exolab.castor.xml.validators.IntValidator typeValidator;\r
315             typeValidator = new org.exolab.castor.xml.validators.IntValidator();\r
316             fieldValidator.setValidator(typeValidator);\r
317             typeValidator.setMinInclusive(-2147483648);\r
318             typeValidator.setMaxInclusive(2147483647);\r
319         }\r
320         desc.setValidator(fieldValidator);\r
321         //-- _id\r
322         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_id", "id", org.exolab.castor.xml.NodeType.Attribute);\r
323         desc.setImmutable(true);\r
324         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
325             public java.lang.Object getValue( java.lang.Object object ) \r
326                 throws IllegalStateException\r
327             {\r
328                 Annotation target = (Annotation) object;\r
329                 return target.getId();\r
330             }\r
331             public void setValue( java.lang.Object object, java.lang.Object value) \r
332                 throws IllegalStateException, IllegalArgumentException\r
333             {\r
334                 try {\r
335                     Annotation target = (Annotation) object;\r
336                     target.setId( (java.lang.String) value);\r
337                 } catch (java.lang.Exception ex) {\r
338                     throw new IllegalStateException(ex.toString());\r
339                 }\r
340             }\r
341             public java.lang.Object newInstance(java.lang.Object parent) {\r
342                 return null;\r
343             }\r
344         };\r
345         desc.setHandler(handler);\r
346         desc.setMultivalued(false);\r
347         addFieldDescriptor(desc);\r
348         \r
349         //-- validation code for: _id\r
350         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
351         { //-- local scope\r
352             org.exolab.castor.xml.validators.StringValidator typeValidator;\r
353             typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
354             fieldValidator.setValidator(typeValidator);\r
355             typeValidator.setWhiteSpace("preserve");\r
356         }\r
357         desc.setValidator(fieldValidator);\r
358         //-- _scoreOnly\r
359         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Boolean.TYPE, "_scoreOnly", "scoreOnly", org.exolab.castor.xml.NodeType.Attribute);\r
360         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
361             public java.lang.Object getValue( java.lang.Object object ) \r
362                 throws IllegalStateException\r
363             {\r
364                 Annotation target = (Annotation) object;\r
365                 if (!target.hasScoreOnly()) { return null; }\r
366                 return (target.getScoreOnly() ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE);\r
367             }\r
368             public void setValue( java.lang.Object object, java.lang.Object value) \r
369                 throws IllegalStateException, IllegalArgumentException\r
370             {\r
371                 try {\r
372                     Annotation target = (Annotation) object;\r
373                     // if null, use delete method for optional primitives \r
374                     if (value == null) {\r
375                         target.deleteScoreOnly();\r
376                         return;\r
377                     }\r
378                     target.setScoreOnly( ((java.lang.Boolean) value).booleanValue());\r
379                 } catch (java.lang.Exception ex) {\r
380                     throw new IllegalStateException(ex.toString());\r
381                 }\r
382             }\r
383             public java.lang.Object newInstance(java.lang.Object parent) {\r
384                 return null;\r
385             }\r
386         };\r
387         desc.setHandler(handler);\r
388         desc.setMultivalued(false);\r
389         addFieldDescriptor(desc);\r
390         \r
391         //-- validation code for: _scoreOnly\r
392         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
393         { //-- local scope\r
394             org.exolab.castor.xml.validators.BooleanValidator typeValidator;\r
395             typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
396             fieldValidator.setValidator(typeValidator);\r
397         }\r
398         desc.setValidator(fieldValidator);\r
399         //-- _score\r
400         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Double.TYPE, "_score", "score", org.exolab.castor.xml.NodeType.Attribute);\r
401         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
402             public java.lang.Object getValue( java.lang.Object object ) \r
403                 throws IllegalStateException\r
404             {\r
405                 Annotation target = (Annotation) object;\r
406                 if (!target.hasScore()) { return null; }\r
407                 return new java.lang.Double(target.getScore());\r
408             }\r
409             public void setValue( java.lang.Object object, java.lang.Object value) \r
410                 throws IllegalStateException, IllegalArgumentException\r
411             {\r
412                 try {\r
413                     Annotation target = (Annotation) object;\r
414                     // if null, use delete method for optional primitives \r
415                     if (value == null) {\r
416                         target.deleteScore();\r
417                         return;\r
418                     }\r
419                     target.setScore( ((java.lang.Double) value).doubleValue());\r
420                 } catch (java.lang.Exception ex) {\r
421                     throw new IllegalStateException(ex.toString());\r
422                 }\r
423             }\r
424             public java.lang.Object newInstance(java.lang.Object parent) {\r
425                 return null;\r
426             }\r
427         };\r
428         desc.setHandler(handler);\r
429         desc.setMultivalued(false);\r
430         addFieldDescriptor(desc);\r
431         \r
432         //-- validation code for: _score\r
433         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
434         { //-- local scope\r
435             org.exolab.castor.xml.validators.DoubleValidator typeValidator;\r
436             typeValidator = new org.exolab.castor.xml.validators.DoubleValidator();\r
437             fieldValidator.setValidator(typeValidator);\r
438             typeValidator.setMinInclusive(-1.7976931348623157E308);\r
439             typeValidator.setMaxInclusive(1.7976931348623157E308);\r
440         }\r
441         desc.setValidator(fieldValidator);\r
442         //-- _visible\r
443         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Boolean.TYPE, "_visible", "visible", org.exolab.castor.xml.NodeType.Attribute);\r
444         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
445             public java.lang.Object getValue( java.lang.Object object ) \r
446                 throws IllegalStateException\r
447             {\r
448                 Annotation target = (Annotation) object;\r
449                 if (!target.hasVisible()) { return null; }\r
450                 return (target.getVisible() ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE);\r
451             }\r
452             public void setValue( java.lang.Object object, java.lang.Object value) \r
453                 throws IllegalStateException, IllegalArgumentException\r
454             {\r
455                 try {\r
456                     Annotation target = (Annotation) object;\r
457                     // if null, use delete method for optional primitives \r
458                     if (value == null) {\r
459                         target.deleteVisible();\r
460                         return;\r
461                     }\r
462                     target.setVisible( ((java.lang.Boolean) value).booleanValue());\r
463                 } catch (java.lang.Exception ex) {\r
464                     throw new IllegalStateException(ex.toString());\r
465                 }\r
466             }\r
467             public java.lang.Object newInstance(java.lang.Object parent) {\r
468                 return null;\r
469             }\r
470         };\r
471         desc.setHandler(handler);\r
472         desc.setMultivalued(false);\r
473         addFieldDescriptor(desc);\r
474         \r
475         //-- validation code for: _visible\r
476         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
477         { //-- local scope\r
478             org.exolab.castor.xml.validators.BooleanValidator typeValidator;\r
479             typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
480             fieldValidator.setValidator(typeValidator);\r
481         }\r
482         desc.setValidator(fieldValidator);\r
483         //-- _centreColLabels\r
484         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Boolean.TYPE, "_centreColLabels", "centreColLabels", org.exolab.castor.xml.NodeType.Attribute);\r
485         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
486             public java.lang.Object getValue( java.lang.Object object ) \r
487                 throws IllegalStateException\r
488             {\r
489                 Annotation target = (Annotation) object;\r
490                 if (!target.hasCentreColLabels()) { return null; }\r
491                 return (target.getCentreColLabels() ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE);\r
492             }\r
493             public void setValue( java.lang.Object object, java.lang.Object value) \r
494                 throws IllegalStateException, IllegalArgumentException\r
495             {\r
496                 try {\r
497                     Annotation target = (Annotation) object;\r
498                     // if null, use delete method for optional primitives \r
499                     if (value == null) {\r
500                         target.deleteCentreColLabels();\r
501                         return;\r
502                     }\r
503                     target.setCentreColLabels( ((java.lang.Boolean) value).booleanValue());\r
504                 } catch (java.lang.Exception ex) {\r
505                     throw new IllegalStateException(ex.toString());\r
506                 }\r
507             }\r
508             public java.lang.Object newInstance(java.lang.Object parent) {\r
509                 return null;\r
510             }\r
511         };\r
512         desc.setHandler(handler);\r
513         desc.setMultivalued(false);\r
514         addFieldDescriptor(desc);\r
515         \r
516         //-- validation code for: _centreColLabels\r
517         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
518         { //-- local scope\r
519             org.exolab.castor.xml.validators.BooleanValidator typeValidator;\r
520             typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
521             fieldValidator.setValidator(typeValidator);\r
522         }\r
523         desc.setValidator(fieldValidator);\r
524         //-- _scaleColLabels\r
525         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Boolean.TYPE, "_scaleColLabels", "scaleColLabels", org.exolab.castor.xml.NodeType.Attribute);\r
526         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
527             public java.lang.Object getValue( java.lang.Object object ) \r
528                 throws IllegalStateException\r
529             {\r
530                 Annotation target = (Annotation) object;\r
531                 if (!target.hasScaleColLabels()) { return null; }\r
532                 return (target.getScaleColLabels() ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE);\r
533             }\r
534             public void setValue( java.lang.Object object, java.lang.Object value) \r
535                 throws IllegalStateException, IllegalArgumentException\r
536             {\r
537                 try {\r
538                     Annotation target = (Annotation) object;\r
539                     // if null, use delete method for optional primitives \r
540                     if (value == null) {\r
541                         target.deleteScaleColLabels();\r
542                         return;\r
543                     }\r
544                     target.setScaleColLabels( ((java.lang.Boolean) value).booleanValue());\r
545                 } catch (java.lang.Exception ex) {\r
546                     throw new IllegalStateException(ex.toString());\r
547                 }\r
548             }\r
549             public java.lang.Object newInstance(java.lang.Object parent) {\r
550                 return null;\r
551             }\r
552         };\r
553         desc.setHandler(handler);\r
554         desc.setMultivalued(false);\r
555         addFieldDescriptor(desc);\r
556         \r
557         //-- validation code for: _scaleColLabels\r
558         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
559         { //-- local scope\r
560             org.exolab.castor.xml.validators.BooleanValidator typeValidator;\r
561             typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
562             fieldValidator.setValidator(typeValidator);\r
563         }\r
564         desc.setValidator(fieldValidator);\r
565         //-- _showAllColLabels\r
566         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Boolean.TYPE, "_showAllColLabels", "showAllColLabels", org.exolab.castor.xml.NodeType.Attribute);\r
567         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
568             public java.lang.Object getValue( java.lang.Object object ) \r
569                 throws IllegalStateException\r
570             {\r
571                 Annotation target = (Annotation) object;\r
572                 if (!target.hasShowAllColLabels()) { return null; }\r
573                 return (target.getShowAllColLabels() ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE);\r
574             }\r
575             public void setValue( java.lang.Object object, java.lang.Object value) \r
576                 throws IllegalStateException, IllegalArgumentException\r
577             {\r
578                 try {\r
579                     Annotation target = (Annotation) object;\r
580                     // if null, use delete method for optional primitives \r
581                     if (value == null) {\r
582                         target.deleteShowAllColLabels();\r
583                         return;\r
584                     }\r
585                     target.setShowAllColLabels( ((java.lang.Boolean) value).booleanValue());\r
586                 } catch (java.lang.Exception ex) {\r
587                     throw new IllegalStateException(ex.toString());\r
588                 }\r
589             }\r
590             public java.lang.Object newInstance(java.lang.Object parent) {\r
591                 return null;\r
592             }\r
593         };\r
594         desc.setHandler(handler);\r
595         desc.setMultivalued(false);\r
596         addFieldDescriptor(desc);\r
597         \r
598         //-- validation code for: _showAllColLabels\r
599         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
600         { //-- local scope\r
601             org.exolab.castor.xml.validators.BooleanValidator typeValidator;\r
602             typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
603             fieldValidator.setValidator(typeValidator);\r
604         }\r
605         desc.setValidator(fieldValidator);\r
606         //-- _autoCalculated\r
607         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Boolean.TYPE, "_autoCalculated", "autoCalculated", org.exolab.castor.xml.NodeType.Attribute);\r
608         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
609             public java.lang.Object getValue( java.lang.Object object ) \r
610                 throws IllegalStateException\r
611             {\r
612                 Annotation target = (Annotation) object;\r
613                 if (!target.hasAutoCalculated()) { return null; }\r
614                 return (target.getAutoCalculated() ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE);\r
615             }\r
616             public void setValue( java.lang.Object object, java.lang.Object value) \r
617                 throws IllegalStateException, IllegalArgumentException\r
618             {\r
619                 try {\r
620                     Annotation target = (Annotation) object;\r
621                     // if null, use delete method for optional primitives \r
622                     if (value == null) {\r
623                         target.deleteAutoCalculated();\r
624                         return;\r
625                     }\r
626                     target.setAutoCalculated( ((java.lang.Boolean) value).booleanValue());\r
627                 } catch (java.lang.Exception ex) {\r
628                     throw new IllegalStateException(ex.toString());\r
629                 }\r
630             }\r
631             public java.lang.Object newInstance(java.lang.Object parent) {\r
632                 return null;\r
633             }\r
634         };\r
635         desc.setHandler(handler);\r
636         desc.setMultivalued(false);\r
637         addFieldDescriptor(desc);\r
638         \r
639         //-- validation code for: _autoCalculated\r
640         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
641         { //-- local scope\r
642             org.exolab.castor.xml.validators.BooleanValidator typeValidator;\r
643             typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
644             fieldValidator.setValidator(typeValidator);\r
645         }\r
646         desc.setValidator(fieldValidator);\r
647         //-- initialize element descriptors\r
648         \r
649         //-- _annotationElementList\r
650         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(jalview.schemabinding.version2.AnnotationElement.class, "_annotationElementList", "annotationElement", org.exolab.castor.xml.NodeType.Element);\r
651         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
652             public java.lang.Object getValue( java.lang.Object object ) \r
653                 throws IllegalStateException\r
654             {\r
655                 Annotation target = (Annotation) object;\r
656                 return target.getAnnotationElement();\r
657             }\r
658             public void setValue( java.lang.Object object, java.lang.Object value) \r
659                 throws IllegalStateException, IllegalArgumentException\r
660             {\r
661                 try {\r
662                     Annotation target = (Annotation) object;\r
663                     target.addAnnotationElement( (jalview.schemabinding.version2.AnnotationElement) value);\r
664                 } catch (java.lang.Exception ex) {\r
665                     throw new IllegalStateException(ex.toString());\r
666                 }\r
667             }\r
668             public void resetValue(Object object) throws IllegalStateException, IllegalArgumentException {\r
669                 try {\r
670                     Annotation target = (Annotation) object;\r
671                     target.removeAllAnnotationElement();\r
672                 } catch (java.lang.Exception ex) {\r
673                     throw new IllegalStateException(ex.toString());\r
674                 }\r
675             }\r
676             public java.lang.Object newInstance(java.lang.Object parent) {\r
677                 return new jalview.schemabinding.version2.AnnotationElement();\r
678             }\r
679         };\r
680         desc.setHandler(handler);\r
681         desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");\r
682         desc.setMultivalued(true);\r
683         addFieldDescriptor(desc);\r
684         \r
685         //-- validation code for: _annotationElementList\r
686         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
687         fieldValidator.setMinOccurs(0);\r
688         { //-- local scope\r
689         }\r
690         desc.setValidator(fieldValidator);\r
691         //-- _label\r
692         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_label", "label", org.exolab.castor.xml.NodeType.Element);\r
693         desc.setImmutable(true);\r
694         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
695             public java.lang.Object getValue( java.lang.Object object ) \r
696                 throws IllegalStateException\r
697             {\r
698                 Annotation target = (Annotation) object;\r
699                 return target.getLabel();\r
700             }\r
701             public void setValue( java.lang.Object object, java.lang.Object value) \r
702                 throws IllegalStateException, IllegalArgumentException\r
703             {\r
704                 try {\r
705                     Annotation target = (Annotation) object;\r
706                     target.setLabel( (java.lang.String) value);\r
707                 } catch (java.lang.Exception ex) {\r
708                     throw new IllegalStateException(ex.toString());\r
709                 }\r
710             }\r
711             public java.lang.Object newInstance(java.lang.Object parent) {\r
712                 return null;\r
713             }\r
714         };\r
715         desc.setHandler(handler);\r
716         desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");\r
717         desc.setRequired(true);\r
718         desc.setMultivalued(false);\r
719         addFieldDescriptor(desc);\r
720         \r
721         //-- validation code for: _label\r
722         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
723         fieldValidator.setMinOccurs(1);\r
724         { //-- local scope\r
725             org.exolab.castor.xml.validators.StringValidator typeValidator;\r
726             typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
727             fieldValidator.setValidator(typeValidator);\r
728             typeValidator.setWhiteSpace("preserve");\r
729         }\r
730         desc.setValidator(fieldValidator);\r
731         //-- _description\r
732         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_description", "description", org.exolab.castor.xml.NodeType.Element);\r
733         desc.setImmutable(true);\r
734         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
735             public java.lang.Object getValue( java.lang.Object object ) \r
736                 throws IllegalStateException\r
737             {\r
738                 Annotation target = (Annotation) object;\r
739                 return target.getDescription();\r
740             }\r
741             public void setValue( java.lang.Object object, java.lang.Object value) \r
742                 throws IllegalStateException, IllegalArgumentException\r
743             {\r
744                 try {\r
745                     Annotation target = (Annotation) object;\r
746                     target.setDescription( (java.lang.String) value);\r
747                 } catch (java.lang.Exception ex) {\r
748                     throw new IllegalStateException(ex.toString());\r
749                 }\r
750             }\r
751             public java.lang.Object newInstance(java.lang.Object parent) {\r
752                 return null;\r
753             }\r
754         };\r
755         desc.setHandler(handler);\r
756         desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");\r
757         desc.setMultivalued(false);\r
758         addFieldDescriptor(desc);\r
759         \r
760         //-- validation code for: _description\r
761         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
762         { //-- local scope\r
763             org.exolab.castor.xml.validators.StringValidator typeValidator;\r
764             typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
765             fieldValidator.setValidator(typeValidator);\r
766             typeValidator.setWhiteSpace("preserve");\r
767         }\r
768         desc.setValidator(fieldValidator);\r
769         //-- _thresholdLine\r
770         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(jalview.schemabinding.version2.ThresholdLine.class, "_thresholdLine", "thresholdLine", org.exolab.castor.xml.NodeType.Element);\r
771         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
772             public java.lang.Object getValue( java.lang.Object object ) \r
773                 throws IllegalStateException\r
774             {\r
775                 Annotation target = (Annotation) object;\r
776                 return target.getThresholdLine();\r
777             }\r
778             public void setValue( java.lang.Object object, java.lang.Object value) \r
779                 throws IllegalStateException, IllegalArgumentException\r
780             {\r
781                 try {\r
782                     Annotation target = (Annotation) object;\r
783                     target.setThresholdLine( (jalview.schemabinding.version2.ThresholdLine) value);\r
784                 } catch (java.lang.Exception ex) {\r
785                     throw new IllegalStateException(ex.toString());\r
786                 }\r
787             }\r
788             public java.lang.Object newInstance(java.lang.Object parent) {\r
789                 return new jalview.schemabinding.version2.ThresholdLine();\r
790             }\r
791         };\r
792         desc.setHandler(handler);\r
793         desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");\r
794         desc.setMultivalued(false);\r
795         addFieldDescriptor(desc);\r
796         \r
797         //-- validation code for: _thresholdLine\r
798         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
799         { //-- local scope\r
800         }\r
801         desc.setValidator(fieldValidator);\r
802     }\r
803 \r
804 \r
805       //-----------/\r
806      //- Methods -/\r
807     //-----------/\r
808 \r
809     /**\r
810      * Method getAccessMode.\r
811      * \r
812      * @return the access mode specified for this class.\r
813      */\r
814     public org.exolab.castor.mapping.AccessMode getAccessMode(\r
815     ) {\r
816         return null;\r
817     }\r
818 \r
819     /**\r
820      * Method getIdentity.\r
821      * \r
822      * @return the identity field, null if this class has no\r
823      * identity.\r
824      */\r
825     public org.exolab.castor.mapping.FieldDescriptor getIdentity(\r
826     ) {\r
827         return super.getIdentity();\r
828     }\r
829 \r
830     /**\r
831      * Method getJavaClass.\r
832      * \r
833      * @return the Java class represented by this descriptor.\r
834      */\r
835     public java.lang.Class getJavaClass(\r
836     ) {\r
837         return jalview.schemabinding.version2.Annotation.class;\r
838     }\r
839 \r
840     /**\r
841      * Method getNameSpacePrefix.\r
842      * \r
843      * @return the namespace prefix to use when marshaling as XML.\r
844      */\r
845     public java.lang.String getNameSpacePrefix(\r
846     ) {\r
847         return _nsPrefix;\r
848     }\r
849 \r
850     /**\r
851      * Method getNameSpaceURI.\r
852      * \r
853      * @return the namespace URI used when marshaling and\r
854      * unmarshaling as XML.\r
855      */\r
856     public java.lang.String getNameSpaceURI(\r
857     ) {\r
858         return _nsURI;\r
859     }\r
860 \r
861     /**\r
862      * Method getValidator.\r
863      * \r
864      * @return a specific validator for the class described by this\r
865      * ClassDescriptor.\r
866      */\r
867     public org.exolab.castor.xml.TypeValidator getValidator(\r
868     ) {\r
869         return this;\r
870     }\r
871 \r
872     /**\r
873      * Method getXMLName.\r
874      * \r
875      * @return the XML Name for the Class being described.\r
876      */\r
877     public java.lang.String getXMLName(\r
878     ) {\r
879         return _xmlName;\r
880     }\r
881 \r
882     /**\r
883      * Method isElementDefinition.\r
884      * \r
885      * @return true if XML schema definition of this Class is that\r
886      * of a global\r
887      * element or element with anonymous type definition.\r
888      */\r
889     public boolean isElementDefinition(\r
890     ) {\r
891         return _elementDefinition;\r
892     }\r
893 \r
894 }\r