JAL-1517 fix copyright for 2.8.2
[jalview.git] / src / jalview / schemabinding / version2 / descriptors / AnnotationDescriptor.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
3  * Copyright (C) 2014 The Jalview Authors
4  * 
5  * This file is part of Jalview.
6  * 
7  * Jalview is free software: you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License 
9  * as published by the Free Software Foundation, either version 3
10  * of the License, or (at your option) any later version.
11  *  
12  * Jalview is distributed in the hope that it will be useful, but 
13  * WITHOUT ANY WARRANTY; without even the implied warranty 
14  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
15  * PURPOSE.  See the GNU General Public License for more details.
16  * 
17  * You should have received a copy of the GNU General Public License
18  * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
19  * The Jalview Authors are detailed in the 'AUTHORS' file.
20  */
21 package jalview.schemabinding.version2.descriptors;
22
23 //---------------------------------/
24 //- Imported classes and packages -/
25 //---------------------------------/
26
27 import jalview.schemabinding.version2.Annotation;
28
29 /**
30  * Class AnnotationDescriptor.
31  * 
32  * @version $Revision$ $Date$
33  */
34 public class AnnotationDescriptor extends
35         org.exolab.castor.xml.util.XMLClassDescriptorImpl
36 {
37
38   // --------------------------/
39   // - Class/Member Variables -/
40   // --------------------------/
41
42   /**
43    * Field _elementDefinition.
44    */
45   private boolean _elementDefinition;
46
47   /**
48    * Field _nsPrefix.
49    */
50   private java.lang.String _nsPrefix;
51
52   /**
53    * Field _nsURI.
54    */
55   private java.lang.String _nsURI;
56
57   /**
58    * Field _xmlName.
59    */
60   private java.lang.String _xmlName;
61
62   // ----------------/
63   // - Constructors -/
64   // ----------------/
65
66   public AnnotationDescriptor()
67   {
68     super();
69     _nsURI = "www.vamsas.ac.uk/jalview/version2";
70     _xmlName = "Annotation";
71     _elementDefinition = true;
72
73     // -- set grouping compositor
74     setCompositorAsSequence();
75     org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
76     org.exolab.castor.mapping.FieldHandler handler = null;
77     org.exolab.castor.xml.FieldValidator fieldValidator = null;
78     // -- initialize attribute descriptors
79
80     // -- _graph
81     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
82             java.lang.Boolean.TYPE, "_graph", "graph",
83             org.exolab.castor.xml.NodeType.Attribute);
84     handler = new org.exolab.castor.xml.XMLFieldHandler()
85     {
86       public java.lang.Object getValue(java.lang.Object object)
87               throws IllegalStateException
88       {
89         Annotation target = (Annotation) object;
90         if (!target.hasGraph())
91         {
92           return null;
93         }
94         return (target.getGraph() ? java.lang.Boolean.TRUE
95                 : java.lang.Boolean.FALSE);
96       }
97
98       public void setValue(java.lang.Object object, java.lang.Object value)
99               throws IllegalStateException, IllegalArgumentException
100       {
101         try
102         {
103           Annotation target = (Annotation) object;
104           // ignore null values for non optional primitives
105           if (value == null)
106           {
107             return;
108           }
109
110           target.setGraph(((java.lang.Boolean) value).booleanValue());
111         } catch (java.lang.Exception ex)
112         {
113           throw new IllegalStateException(ex.toString());
114         }
115       }
116
117       public java.lang.Object newInstance(java.lang.Object parent)
118       {
119         return null;
120       }
121     };
122     desc.setHandler(handler);
123     desc.setRequired(true);
124     desc.setMultivalued(false);
125     addFieldDescriptor(desc);
126
127     // -- validation code for: _graph
128     fieldValidator = new org.exolab.castor.xml.FieldValidator();
129     fieldValidator.setMinOccurs(1);
130     { // -- local scope
131       org.exolab.castor.xml.validators.BooleanValidator typeValidator;
132       typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();
133       fieldValidator.setValidator(typeValidator);
134     }
135     desc.setValidator(fieldValidator);
136     // -- _graphType
137     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
138             java.lang.Integer.TYPE, "_graphType", "graphType",
139             org.exolab.castor.xml.NodeType.Attribute);
140     handler = new org.exolab.castor.xml.XMLFieldHandler()
141     {
142       public java.lang.Object getValue(java.lang.Object object)
143               throws IllegalStateException
144       {
145         Annotation target = (Annotation) object;
146         if (!target.hasGraphType())
147         {
148           return null;
149         }
150         return new java.lang.Integer(target.getGraphType());
151       }
152
153       public void setValue(java.lang.Object object, java.lang.Object value)
154               throws IllegalStateException, IllegalArgumentException
155       {
156         try
157         {
158           Annotation target = (Annotation) object;
159           // if null, use delete method for optional primitives
160           if (value == null)
161           {
162             target.deleteGraphType();
163             return;
164           }
165           target.setGraphType(((java.lang.Integer) value).intValue());
166         } catch (java.lang.Exception ex)
167         {
168           throw new IllegalStateException(ex.toString());
169         }
170       }
171
172       public java.lang.Object newInstance(java.lang.Object parent)
173       {
174         return null;
175       }
176     };
177     desc.setHandler(handler);
178     desc.setMultivalued(false);
179     addFieldDescriptor(desc);
180
181     // -- validation code for: _graphType
182     fieldValidator = new org.exolab.castor.xml.FieldValidator();
183     { // -- local scope
184       org.exolab.castor.xml.validators.IntValidator typeValidator;
185       typeValidator = new org.exolab.castor.xml.validators.IntValidator();
186       fieldValidator.setValidator(typeValidator);
187       typeValidator.setMinInclusive(-2147483648);
188       typeValidator.setMaxInclusive(2147483647);
189     }
190     desc.setValidator(fieldValidator);
191     // -- _sequenceRef
192     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
193             java.lang.String.class, "_sequenceRef", "sequenceRef",
194             org.exolab.castor.xml.NodeType.Attribute);
195     desc.setImmutable(true);
196     handler = new org.exolab.castor.xml.XMLFieldHandler()
197     {
198       public java.lang.Object getValue(java.lang.Object object)
199               throws IllegalStateException
200       {
201         Annotation target = (Annotation) object;
202         return target.getSequenceRef();
203       }
204
205       public void setValue(java.lang.Object object, java.lang.Object value)
206               throws IllegalStateException, IllegalArgumentException
207       {
208         try
209         {
210           Annotation target = (Annotation) object;
211           target.setSequenceRef((java.lang.String) value);
212         } catch (java.lang.Exception ex)
213         {
214           throw new IllegalStateException(ex.toString());
215         }
216       }
217
218       public java.lang.Object newInstance(java.lang.Object parent)
219       {
220         return null;
221       }
222     };
223     desc.setHandler(handler);
224     desc.setMultivalued(false);
225     addFieldDescriptor(desc);
226
227     // -- validation code for: _sequenceRef
228     fieldValidator = new org.exolab.castor.xml.FieldValidator();
229     { // -- local scope
230       org.exolab.castor.xml.validators.StringValidator typeValidator;
231       typeValidator = new org.exolab.castor.xml.validators.StringValidator();
232       fieldValidator.setValidator(typeValidator);
233       typeValidator.setWhiteSpace("preserve");
234     }
235     desc.setValidator(fieldValidator);
236     // -- _groupRef
237     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
238             java.lang.String.class, "_groupRef", "groupRef",
239             org.exolab.castor.xml.NodeType.Attribute);
240     desc.setImmutable(true);
241     handler = new org.exolab.castor.xml.XMLFieldHandler()
242     {
243       public java.lang.Object getValue(java.lang.Object object)
244               throws IllegalStateException
245       {
246         Annotation target = (Annotation) object;
247         return target.getGroupRef();
248       }
249
250       public void setValue(java.lang.Object object, java.lang.Object value)
251               throws IllegalStateException, IllegalArgumentException
252       {
253         try
254         {
255           Annotation target = (Annotation) object;
256           target.setGroupRef((java.lang.String) value);
257         } catch (java.lang.Exception ex)
258         {
259           throw new IllegalStateException(ex.toString());
260         }
261       }
262
263       public java.lang.Object newInstance(java.lang.Object parent)
264       {
265         return null;
266       }
267     };
268     desc.setHandler(handler);
269     desc.setMultivalued(false);
270     addFieldDescriptor(desc);
271
272     // -- validation code for: _groupRef
273     fieldValidator = new org.exolab.castor.xml.FieldValidator();
274     { // -- local scope
275       org.exolab.castor.xml.validators.StringValidator typeValidator;
276       typeValidator = new org.exolab.castor.xml.validators.StringValidator();
277       fieldValidator.setValidator(typeValidator);
278       typeValidator.setWhiteSpace("preserve");
279     }
280     desc.setValidator(fieldValidator);
281     // -- _graphColour
282     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
283             java.lang.Integer.TYPE, "_graphColour", "graphColour",
284             org.exolab.castor.xml.NodeType.Attribute);
285     handler = new org.exolab.castor.xml.XMLFieldHandler()
286     {
287       public java.lang.Object getValue(java.lang.Object object)
288               throws IllegalStateException
289       {
290         Annotation target = (Annotation) object;
291         if (!target.hasGraphColour())
292         {
293           return null;
294         }
295         return new java.lang.Integer(target.getGraphColour());
296       }
297
298       public void setValue(java.lang.Object object, java.lang.Object value)
299               throws IllegalStateException, IllegalArgumentException
300       {
301         try
302         {
303           Annotation target = (Annotation) object;
304           // if null, use delete method for optional primitives
305           if (value == null)
306           {
307             target.deleteGraphColour();
308             return;
309           }
310           target.setGraphColour(((java.lang.Integer) value).intValue());
311         } catch (java.lang.Exception ex)
312         {
313           throw new IllegalStateException(ex.toString());
314         }
315       }
316
317       public java.lang.Object newInstance(java.lang.Object parent)
318       {
319         return null;
320       }
321     };
322     desc.setHandler(handler);
323     desc.setMultivalued(false);
324     addFieldDescriptor(desc);
325
326     // -- validation code for: _graphColour
327     fieldValidator = new org.exolab.castor.xml.FieldValidator();
328     { // -- local scope
329       org.exolab.castor.xml.validators.IntValidator typeValidator;
330       typeValidator = new org.exolab.castor.xml.validators.IntValidator();
331       fieldValidator.setValidator(typeValidator);
332       typeValidator.setMinInclusive(-2147483648);
333       typeValidator.setMaxInclusive(2147483647);
334     }
335     desc.setValidator(fieldValidator);
336     // -- _graphGroup
337     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
338             java.lang.Integer.TYPE, "_graphGroup", "graphGroup",
339             org.exolab.castor.xml.NodeType.Attribute);
340     handler = new org.exolab.castor.xml.XMLFieldHandler()
341     {
342       public java.lang.Object getValue(java.lang.Object object)
343               throws IllegalStateException
344       {
345         Annotation target = (Annotation) object;
346         if (!target.hasGraphGroup())
347         {
348           return null;
349         }
350         return new java.lang.Integer(target.getGraphGroup());
351       }
352
353       public void setValue(java.lang.Object object, java.lang.Object value)
354               throws IllegalStateException, IllegalArgumentException
355       {
356         try
357         {
358           Annotation target = (Annotation) object;
359           // if null, use delete method for optional primitives
360           if (value == null)
361           {
362             target.deleteGraphGroup();
363             return;
364           }
365           target.setGraphGroup(((java.lang.Integer) value).intValue());
366         } catch (java.lang.Exception ex)
367         {
368           throw new IllegalStateException(ex.toString());
369         }
370       }
371
372       public java.lang.Object newInstance(java.lang.Object parent)
373       {
374         return null;
375       }
376     };
377     desc.setHandler(handler);
378     desc.setMultivalued(false);
379     addFieldDescriptor(desc);
380
381     // -- validation code for: _graphGroup
382     fieldValidator = new org.exolab.castor.xml.FieldValidator();
383     { // -- local scope
384       org.exolab.castor.xml.validators.IntValidator typeValidator;
385       typeValidator = new org.exolab.castor.xml.validators.IntValidator();
386       fieldValidator.setValidator(typeValidator);
387       typeValidator.setMinInclusive(-2147483648);
388       typeValidator.setMaxInclusive(2147483647);
389     }
390     desc.setValidator(fieldValidator);
391     // -- _graphHeight
392     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
393             java.lang.Integer.TYPE, "_graphHeight", "graphHeight",
394             org.exolab.castor.xml.NodeType.Attribute);
395     handler = new org.exolab.castor.xml.XMLFieldHandler()
396     {
397       public java.lang.Object getValue(java.lang.Object object)
398               throws IllegalStateException
399       {
400         Annotation target = (Annotation) object;
401         if (!target.hasGraphHeight())
402         {
403           return null;
404         }
405         return new java.lang.Integer(target.getGraphHeight());
406       }
407
408       public void setValue(java.lang.Object object, java.lang.Object value)
409               throws IllegalStateException, IllegalArgumentException
410       {
411         try
412         {
413           Annotation target = (Annotation) object;
414           // if null, use delete method for optional primitives
415           if (value == null)
416           {
417             target.deleteGraphHeight();
418             return;
419           }
420           target.setGraphHeight(((java.lang.Integer) value).intValue());
421         } catch (java.lang.Exception ex)
422         {
423           throw new IllegalStateException(ex.toString());
424         }
425       }
426
427       public java.lang.Object newInstance(java.lang.Object parent)
428       {
429         return null;
430       }
431     };
432     desc.setHandler(handler);
433     desc.setMultivalued(false);
434     addFieldDescriptor(desc);
435
436     // -- validation code for: _graphHeight
437     fieldValidator = new org.exolab.castor.xml.FieldValidator();
438     { // -- local scope
439       org.exolab.castor.xml.validators.IntValidator typeValidator;
440       typeValidator = new org.exolab.castor.xml.validators.IntValidator();
441       fieldValidator.setValidator(typeValidator);
442       typeValidator.setMinInclusive(-2147483648);
443       typeValidator.setMaxInclusive(2147483647);
444     }
445     desc.setValidator(fieldValidator);
446     // -- _id
447     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
448             java.lang.String.class, "_id", "id",
449             org.exolab.castor.xml.NodeType.Attribute);
450     desc.setImmutable(true);
451     handler = new org.exolab.castor.xml.XMLFieldHandler()
452     {
453       public java.lang.Object getValue(java.lang.Object object)
454               throws IllegalStateException
455       {
456         Annotation target = (Annotation) object;
457         return target.getId();
458       }
459
460       public void setValue(java.lang.Object object, java.lang.Object value)
461               throws IllegalStateException, IllegalArgumentException
462       {
463         try
464         {
465           Annotation target = (Annotation) object;
466           target.setId((java.lang.String) value);
467         } catch (java.lang.Exception ex)
468         {
469           throw new IllegalStateException(ex.toString());
470         }
471       }
472
473       public java.lang.Object newInstance(java.lang.Object parent)
474       {
475         return null;
476       }
477     };
478     desc.setHandler(handler);
479     desc.setMultivalued(false);
480     addFieldDescriptor(desc);
481
482     // -- validation code for: _id
483     fieldValidator = new org.exolab.castor.xml.FieldValidator();
484     { // -- local scope
485       org.exolab.castor.xml.validators.StringValidator typeValidator;
486       typeValidator = new org.exolab.castor.xml.validators.StringValidator();
487       fieldValidator.setValidator(typeValidator);
488       typeValidator.setWhiteSpace("preserve");
489     }
490     desc.setValidator(fieldValidator);
491     // -- _scoreOnly
492     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
493             java.lang.Boolean.TYPE, "_scoreOnly", "scoreOnly",
494             org.exolab.castor.xml.NodeType.Attribute);
495     handler = new org.exolab.castor.xml.XMLFieldHandler()
496     {
497       public java.lang.Object getValue(java.lang.Object object)
498               throws IllegalStateException
499       {
500         Annotation target = (Annotation) object;
501         if (!target.hasScoreOnly())
502         {
503           return null;
504         }
505         return (target.getScoreOnly() ? java.lang.Boolean.TRUE
506                 : java.lang.Boolean.FALSE);
507       }
508
509       public void setValue(java.lang.Object object, java.lang.Object value)
510               throws IllegalStateException, IllegalArgumentException
511       {
512         try
513         {
514           Annotation target = (Annotation) object;
515           // if null, use delete method for optional primitives
516           if (value == null)
517           {
518             target.deleteScoreOnly();
519             return;
520           }
521           target.setScoreOnly(((java.lang.Boolean) value).booleanValue());
522         } catch (java.lang.Exception ex)
523         {
524           throw new IllegalStateException(ex.toString());
525         }
526       }
527
528       public java.lang.Object newInstance(java.lang.Object parent)
529       {
530         return null;
531       }
532     };
533     desc.setHandler(handler);
534     desc.setMultivalued(false);
535     addFieldDescriptor(desc);
536
537     // -- validation code for: _scoreOnly
538     fieldValidator = new org.exolab.castor.xml.FieldValidator();
539     { // -- local scope
540       org.exolab.castor.xml.validators.BooleanValidator typeValidator;
541       typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();
542       fieldValidator.setValidator(typeValidator);
543     }
544     desc.setValidator(fieldValidator);
545     // -- _score
546     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
547             java.lang.Double.TYPE, "_score", "score",
548             org.exolab.castor.xml.NodeType.Attribute);
549     handler = new org.exolab.castor.xml.XMLFieldHandler()
550     {
551       public java.lang.Object getValue(java.lang.Object object)
552               throws IllegalStateException
553       {
554         Annotation target = (Annotation) object;
555         if (!target.hasScore())
556         {
557           return null;
558         }
559         return new java.lang.Double(target.getScore());
560       }
561
562       public void setValue(java.lang.Object object, java.lang.Object value)
563               throws IllegalStateException, IllegalArgumentException
564       {
565         try
566         {
567           Annotation target = (Annotation) object;
568           // if null, use delete method for optional primitives
569           if (value == null)
570           {
571             target.deleteScore();
572             return;
573           }
574           target.setScore(((java.lang.Double) value).doubleValue());
575         } catch (java.lang.Exception ex)
576         {
577           throw new IllegalStateException(ex.toString());
578         }
579       }
580
581       public java.lang.Object newInstance(java.lang.Object parent)
582       {
583         return null;
584       }
585     };
586     desc.setHandler(handler);
587     desc.setMultivalued(false);
588     addFieldDescriptor(desc);
589
590     // -- validation code for: _score
591     fieldValidator = new org.exolab.castor.xml.FieldValidator();
592     { // -- local scope
593       org.exolab.castor.xml.validators.DoubleValidator typeValidator;
594       typeValidator = new org.exolab.castor.xml.validators.DoubleValidator();
595       fieldValidator.setValidator(typeValidator);
596       typeValidator.setMinInclusive(-1.7976931348623157E308);
597       typeValidator.setMaxInclusive(1.7976931348623157E308);
598     }
599     desc.setValidator(fieldValidator);
600     // -- _visible
601     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
602             java.lang.Boolean.TYPE, "_visible", "visible",
603             org.exolab.castor.xml.NodeType.Attribute);
604     handler = new org.exolab.castor.xml.XMLFieldHandler()
605     {
606       public java.lang.Object getValue(java.lang.Object object)
607               throws IllegalStateException
608       {
609         Annotation target = (Annotation) object;
610         if (!target.hasVisible())
611         {
612           return null;
613         }
614         return (target.getVisible() ? java.lang.Boolean.TRUE
615                 : java.lang.Boolean.FALSE);
616       }
617
618       public void setValue(java.lang.Object object, java.lang.Object value)
619               throws IllegalStateException, IllegalArgumentException
620       {
621         try
622         {
623           Annotation target = (Annotation) object;
624           // if null, use delete method for optional primitives
625           if (value == null)
626           {
627             target.deleteVisible();
628             return;
629           }
630           target.setVisible(((java.lang.Boolean) value).booleanValue());
631         } catch (java.lang.Exception ex)
632         {
633           throw new IllegalStateException(ex.toString());
634         }
635       }
636
637       public java.lang.Object newInstance(java.lang.Object parent)
638       {
639         return null;
640       }
641     };
642     desc.setHandler(handler);
643     desc.setMultivalued(false);
644     addFieldDescriptor(desc);
645
646     // -- validation code for: _visible
647     fieldValidator = new org.exolab.castor.xml.FieldValidator();
648     { // -- local scope
649       org.exolab.castor.xml.validators.BooleanValidator typeValidator;
650       typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();
651       fieldValidator.setValidator(typeValidator);
652     }
653     desc.setValidator(fieldValidator);
654     // -- _centreColLabels
655     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
656             java.lang.Boolean.TYPE, "_centreColLabels", "centreColLabels",
657             org.exolab.castor.xml.NodeType.Attribute);
658     handler = new org.exolab.castor.xml.XMLFieldHandler()
659     {
660       public java.lang.Object getValue(java.lang.Object object)
661               throws IllegalStateException
662       {
663         Annotation target = (Annotation) object;
664         if (!target.hasCentreColLabels())
665         {
666           return null;
667         }
668         return (target.getCentreColLabels() ? java.lang.Boolean.TRUE
669                 : java.lang.Boolean.FALSE);
670       }
671
672       public void setValue(java.lang.Object object, java.lang.Object value)
673               throws IllegalStateException, IllegalArgumentException
674       {
675         try
676         {
677           Annotation target = (Annotation) object;
678           // if null, use delete method for optional primitives
679           if (value == null)
680           {
681             target.deleteCentreColLabels();
682             return;
683           }
684           target.setCentreColLabels(((java.lang.Boolean) value)
685                   .booleanValue());
686         } catch (java.lang.Exception ex)
687         {
688           throw new IllegalStateException(ex.toString());
689         }
690       }
691
692       public java.lang.Object newInstance(java.lang.Object parent)
693       {
694         return null;
695       }
696     };
697     desc.setHandler(handler);
698     desc.setMultivalued(false);
699     addFieldDescriptor(desc);
700
701     // -- validation code for: _centreColLabels
702     fieldValidator = new org.exolab.castor.xml.FieldValidator();
703     { // -- local scope
704       org.exolab.castor.xml.validators.BooleanValidator typeValidator;
705       typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();
706       fieldValidator.setValidator(typeValidator);
707     }
708     desc.setValidator(fieldValidator);
709     // -- _scaleColLabels
710     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
711             java.lang.Boolean.TYPE, "_scaleColLabels", "scaleColLabels",
712             org.exolab.castor.xml.NodeType.Attribute);
713     handler = new org.exolab.castor.xml.XMLFieldHandler()
714     {
715       public java.lang.Object getValue(java.lang.Object object)
716               throws IllegalStateException
717       {
718         Annotation target = (Annotation) object;
719         if (!target.hasScaleColLabels())
720         {
721           return null;
722         }
723         return (target.getScaleColLabels() ? java.lang.Boolean.TRUE
724                 : java.lang.Boolean.FALSE);
725       }
726
727       public void setValue(java.lang.Object object, java.lang.Object value)
728               throws IllegalStateException, IllegalArgumentException
729       {
730         try
731         {
732           Annotation target = (Annotation) object;
733           // if null, use delete method for optional primitives
734           if (value == null)
735           {
736             target.deleteScaleColLabels();
737             return;
738           }
739           target.setScaleColLabels(((java.lang.Boolean) value)
740                   .booleanValue());
741         } catch (java.lang.Exception ex)
742         {
743           throw new IllegalStateException(ex.toString());
744         }
745       }
746
747       public java.lang.Object newInstance(java.lang.Object parent)
748       {
749         return null;
750       }
751     };
752     desc.setHandler(handler);
753     desc.setMultivalued(false);
754     addFieldDescriptor(desc);
755
756     // -- validation code for: _scaleColLabels
757     fieldValidator = new org.exolab.castor.xml.FieldValidator();
758     { // -- local scope
759       org.exolab.castor.xml.validators.BooleanValidator typeValidator;
760       typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();
761       fieldValidator.setValidator(typeValidator);
762     }
763     desc.setValidator(fieldValidator);
764     // -- _showAllColLabels
765     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
766             java.lang.Boolean.TYPE, "_showAllColLabels",
767             "showAllColLabels", org.exolab.castor.xml.NodeType.Attribute);
768     handler = new org.exolab.castor.xml.XMLFieldHandler()
769     {
770       public java.lang.Object getValue(java.lang.Object object)
771               throws IllegalStateException
772       {
773         Annotation target = (Annotation) object;
774         if (!target.hasShowAllColLabels())
775         {
776           return null;
777         }
778         return (target.getShowAllColLabels() ? java.lang.Boolean.TRUE
779                 : java.lang.Boolean.FALSE);
780       }
781
782       public void setValue(java.lang.Object object, java.lang.Object value)
783               throws IllegalStateException, IllegalArgumentException
784       {
785         try
786         {
787           Annotation target = (Annotation) object;
788           // if null, use delete method for optional primitives
789           if (value == null)
790           {
791             target.deleteShowAllColLabels();
792             return;
793           }
794           target.setShowAllColLabels(((java.lang.Boolean) value)
795                   .booleanValue());
796         } catch (java.lang.Exception ex)
797         {
798           throw new IllegalStateException(ex.toString());
799         }
800       }
801
802       public java.lang.Object newInstance(java.lang.Object parent)
803       {
804         return null;
805       }
806     };
807     desc.setHandler(handler);
808     desc.setMultivalued(false);
809     addFieldDescriptor(desc);
810
811     // -- validation code for: _showAllColLabels
812     fieldValidator = new org.exolab.castor.xml.FieldValidator();
813     { // -- local scope
814       org.exolab.castor.xml.validators.BooleanValidator typeValidator;
815       typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();
816       fieldValidator.setValidator(typeValidator);
817     }
818     desc.setValidator(fieldValidator);
819     // -- _autoCalculated
820     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
821             java.lang.Boolean.TYPE, "_autoCalculated", "autoCalculated",
822             org.exolab.castor.xml.NodeType.Attribute);
823     handler = new org.exolab.castor.xml.XMLFieldHandler()
824     {
825       public java.lang.Object getValue(java.lang.Object object)
826               throws IllegalStateException
827       {
828         Annotation target = (Annotation) object;
829         if (!target.hasAutoCalculated())
830         {
831           return null;
832         }
833         return (target.getAutoCalculated() ? java.lang.Boolean.TRUE
834                 : java.lang.Boolean.FALSE);
835       }
836
837       public void setValue(java.lang.Object object, java.lang.Object value)
838               throws IllegalStateException, IllegalArgumentException
839       {
840         try
841         {
842           Annotation target = (Annotation) object;
843           // if null, use delete method for optional primitives
844           if (value == null)
845           {
846             target.deleteAutoCalculated();
847             return;
848           }
849           target.setAutoCalculated(((java.lang.Boolean) value)
850                   .booleanValue());
851         } catch (java.lang.Exception ex)
852         {
853           throw new IllegalStateException(ex.toString());
854         }
855       }
856
857       public java.lang.Object newInstance(java.lang.Object parent)
858       {
859         return null;
860       }
861     };
862     desc.setHandler(handler);
863     desc.setMultivalued(false);
864     addFieldDescriptor(desc);
865
866     // -- validation code for: _autoCalculated
867     fieldValidator = new org.exolab.castor.xml.FieldValidator();
868     { // -- local scope
869       org.exolab.castor.xml.validators.BooleanValidator typeValidator;
870       typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();
871       fieldValidator.setValidator(typeValidator);
872     }
873     desc.setValidator(fieldValidator);
874     // -- _belowAlignment
875     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
876             java.lang.Boolean.TYPE, "_belowAlignment", "belowAlignment",
877             org.exolab.castor.xml.NodeType.Attribute);
878     handler = new org.exolab.castor.xml.XMLFieldHandler()
879     {
880       public java.lang.Object getValue(java.lang.Object object)
881               throws IllegalStateException
882       {
883         Annotation target = (Annotation) object;
884         if (!target.hasBelowAlignment())
885         {
886           return null;
887         }
888         return (target.getBelowAlignment() ? java.lang.Boolean.TRUE
889                 : java.lang.Boolean.FALSE);
890       }
891
892       public void setValue(java.lang.Object object, java.lang.Object value)
893               throws IllegalStateException, IllegalArgumentException
894       {
895         try
896         {
897           Annotation target = (Annotation) object;
898           // if null, use delete method for optional primitives
899           if (value == null)
900           {
901             target.deleteBelowAlignment();
902             return;
903           }
904           target.setBelowAlignment(((java.lang.Boolean) value)
905                   .booleanValue());
906         } catch (java.lang.Exception ex)
907         {
908           throw new IllegalStateException(ex.toString());
909         }
910       }
911
912       public java.lang.Object newInstance(java.lang.Object parent)
913       {
914         return null;
915       }
916     };
917     desc.setHandler(handler);
918     desc.setMultivalued(false);
919     addFieldDescriptor(desc);
920
921     // -- validation code for: _belowAlignment
922     fieldValidator = new org.exolab.castor.xml.FieldValidator();
923     { // -- local scope
924       org.exolab.castor.xml.validators.BooleanValidator typeValidator;
925       typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();
926       fieldValidator.setValidator(typeValidator);
927     }
928     desc.setValidator(fieldValidator);
929     // -- _calcId
930     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
931             java.lang.String.class, "_calcId", "calcId",
932             org.exolab.castor.xml.NodeType.Attribute);
933     desc.setImmutable(true);
934     handler = new org.exolab.castor.xml.XMLFieldHandler()
935     {
936       public java.lang.Object getValue(java.lang.Object object)
937               throws IllegalStateException
938       {
939         Annotation target = (Annotation) object;
940         return target.getCalcId();
941       }
942
943       public void setValue(java.lang.Object object, java.lang.Object value)
944               throws IllegalStateException, IllegalArgumentException
945       {
946         try
947         {
948           Annotation target = (Annotation) object;
949           target.setCalcId((java.lang.String) value);
950         } catch (java.lang.Exception ex)
951         {
952           throw new IllegalStateException(ex.toString());
953         }
954       }
955
956       public java.lang.Object newInstance(java.lang.Object parent)
957       {
958         return null;
959       }
960     };
961     desc.setHandler(handler);
962     desc.setMultivalued(false);
963     addFieldDescriptor(desc);
964
965     // -- validation code for: _calcId
966     fieldValidator = new org.exolab.castor.xml.FieldValidator();
967     { // -- local scope
968       org.exolab.castor.xml.validators.StringValidator typeValidator;
969       typeValidator = new org.exolab.castor.xml.validators.StringValidator();
970       fieldValidator.setValidator(typeValidator);
971       typeValidator.setWhiteSpace("preserve");
972     }
973     desc.setValidator(fieldValidator);
974     // -- initialize element descriptors
975
976     // -- _annotationElementList
977     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
978             jalview.schemabinding.version2.AnnotationElement.class,
979             "_annotationElementList", "annotationElement",
980             org.exolab.castor.xml.NodeType.Element);
981     handler = new org.exolab.castor.xml.XMLFieldHandler()
982     {
983       public java.lang.Object getValue(java.lang.Object object)
984               throws IllegalStateException
985       {
986         Annotation target = (Annotation) object;
987         return target.getAnnotationElement();
988       }
989
990       public void setValue(java.lang.Object object, java.lang.Object value)
991               throws IllegalStateException, IllegalArgumentException
992       {
993         try
994         {
995           Annotation target = (Annotation) object;
996           target.addAnnotationElement((jalview.schemabinding.version2.AnnotationElement) value);
997         } catch (java.lang.Exception ex)
998         {
999           throw new IllegalStateException(ex.toString());
1000         }
1001       }
1002
1003       public void resetValue(Object object) throws IllegalStateException,
1004               IllegalArgumentException
1005       {
1006         try
1007         {
1008           Annotation target = (Annotation) object;
1009           target.removeAllAnnotationElement();
1010         } catch (java.lang.Exception ex)
1011         {
1012           throw new IllegalStateException(ex.toString());
1013         }
1014       }
1015
1016       public java.lang.Object newInstance(java.lang.Object parent)
1017       {
1018         return new jalview.schemabinding.version2.AnnotationElement();
1019       }
1020     };
1021     desc.setHandler(handler);
1022     desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");
1023     desc.setMultivalued(true);
1024     addFieldDescriptor(desc);
1025
1026     // -- validation code for: _annotationElementList
1027     fieldValidator = new org.exolab.castor.xml.FieldValidator();
1028     fieldValidator.setMinOccurs(0);
1029     { // -- local scope
1030     }
1031     desc.setValidator(fieldValidator);
1032     // -- _label
1033     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
1034             java.lang.String.class, "_label", "label",
1035             org.exolab.castor.xml.NodeType.Element);
1036     desc.setImmutable(true);
1037     handler = new org.exolab.castor.xml.XMLFieldHandler()
1038     {
1039       public java.lang.Object getValue(java.lang.Object object)
1040               throws IllegalStateException
1041       {
1042         Annotation target = (Annotation) object;
1043         return target.getLabel();
1044       }
1045
1046       public void setValue(java.lang.Object object, java.lang.Object value)
1047               throws IllegalStateException, IllegalArgumentException
1048       {
1049         try
1050         {
1051           Annotation target = (Annotation) object;
1052           target.setLabel((java.lang.String) value);
1053         } catch (java.lang.Exception ex)
1054         {
1055           throw new IllegalStateException(ex.toString());
1056         }
1057       }
1058
1059       public java.lang.Object newInstance(java.lang.Object parent)
1060       {
1061         return null;
1062       }
1063     };
1064     desc.setHandler(handler);
1065     desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");
1066     desc.setRequired(true);
1067     desc.setMultivalued(false);
1068     addFieldDescriptor(desc);
1069
1070     // -- validation code for: _label
1071     fieldValidator = new org.exolab.castor.xml.FieldValidator();
1072     fieldValidator.setMinOccurs(1);
1073     { // -- local scope
1074       org.exolab.castor.xml.validators.StringValidator typeValidator;
1075       typeValidator = new org.exolab.castor.xml.validators.StringValidator();
1076       fieldValidator.setValidator(typeValidator);
1077       typeValidator.setWhiteSpace("preserve");
1078     }
1079     desc.setValidator(fieldValidator);
1080     // -- _description
1081     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
1082             java.lang.String.class, "_description", "description",
1083             org.exolab.castor.xml.NodeType.Element);
1084     desc.setImmutable(true);
1085     handler = new org.exolab.castor.xml.XMLFieldHandler()
1086     {
1087       public java.lang.Object getValue(java.lang.Object object)
1088               throws IllegalStateException
1089       {
1090         Annotation target = (Annotation) object;
1091         return target.getDescription();
1092       }
1093
1094       public void setValue(java.lang.Object object, java.lang.Object value)
1095               throws IllegalStateException, IllegalArgumentException
1096       {
1097         try
1098         {
1099           Annotation target = (Annotation) object;
1100           target.setDescription((java.lang.String) value);
1101         } catch (java.lang.Exception ex)
1102         {
1103           throw new IllegalStateException(ex.toString());
1104         }
1105       }
1106
1107       public java.lang.Object newInstance(java.lang.Object parent)
1108       {
1109         return null;
1110       }
1111     };
1112     desc.setHandler(handler);
1113     desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");
1114     desc.setMultivalued(false);
1115     addFieldDescriptor(desc);
1116
1117     // -- validation code for: _description
1118     fieldValidator = new org.exolab.castor.xml.FieldValidator();
1119     { // -- local scope
1120       org.exolab.castor.xml.validators.StringValidator typeValidator;
1121       typeValidator = new org.exolab.castor.xml.validators.StringValidator();
1122       fieldValidator.setValidator(typeValidator);
1123       typeValidator.setWhiteSpace("preserve");
1124     }
1125     desc.setValidator(fieldValidator);
1126     // -- _thresholdLine
1127     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
1128             jalview.schemabinding.version2.ThresholdLine.class,
1129             "_thresholdLine", "thresholdLine",
1130             org.exolab.castor.xml.NodeType.Element);
1131     handler = new org.exolab.castor.xml.XMLFieldHandler()
1132     {
1133       public java.lang.Object getValue(java.lang.Object object)
1134               throws IllegalStateException
1135       {
1136         Annotation target = (Annotation) object;
1137         return target.getThresholdLine();
1138       }
1139
1140       public void setValue(java.lang.Object object, java.lang.Object value)
1141               throws IllegalStateException, IllegalArgumentException
1142       {
1143         try
1144         {
1145           Annotation target = (Annotation) object;
1146           target.setThresholdLine((jalview.schemabinding.version2.ThresholdLine) value);
1147         } catch (java.lang.Exception ex)
1148         {
1149           throw new IllegalStateException(ex.toString());
1150         }
1151       }
1152
1153       public java.lang.Object newInstance(java.lang.Object parent)
1154       {
1155         return new jalview.schemabinding.version2.ThresholdLine();
1156       }
1157     };
1158     desc.setHandler(handler);
1159     desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");
1160     desc.setMultivalued(false);
1161     addFieldDescriptor(desc);
1162
1163     // -- validation code for: _thresholdLine
1164     fieldValidator = new org.exolab.castor.xml.FieldValidator();
1165     { // -- local scope
1166     }
1167     desc.setValidator(fieldValidator);
1168   }
1169
1170   // -----------/
1171   // - Methods -/
1172   // -----------/
1173
1174   /**
1175    * Method getAccessMode.
1176    * 
1177    * @return the access mode specified for this class.
1178    */
1179   public org.exolab.castor.mapping.AccessMode getAccessMode()
1180   {
1181     return null;
1182   }
1183
1184   /**
1185    * Method getIdentity.
1186    * 
1187    * @return the identity field, null if this class has no identity.
1188    */
1189   public org.exolab.castor.mapping.FieldDescriptor getIdentity()
1190   {
1191     return super.getIdentity();
1192   }
1193
1194   /**
1195    * Method getJavaClass.
1196    * 
1197    * @return the Java class represented by this descriptor.
1198    */
1199   public java.lang.Class getJavaClass()
1200   {
1201     return jalview.schemabinding.version2.Annotation.class;
1202   }
1203
1204   /**
1205    * Method getNameSpacePrefix.
1206    * 
1207    * @return the namespace prefix to use when marshaling as XML.
1208    */
1209   public java.lang.String getNameSpacePrefix()
1210   {
1211     return _nsPrefix;
1212   }
1213
1214   /**
1215    * Method getNameSpaceURI.
1216    * 
1217    * @return the namespace URI used when marshaling and unmarshaling as XML.
1218    */
1219   public java.lang.String getNameSpaceURI()
1220   {
1221     return _nsURI;
1222   }
1223
1224   /**
1225    * Method getValidator.
1226    * 
1227    * @return a specific validator for the class described by this
1228    *         ClassDescriptor.
1229    */
1230   public org.exolab.castor.xml.TypeValidator getValidator()
1231   {
1232     return this;
1233   }
1234
1235   /**
1236    * Method getXMLName.
1237    * 
1238    * @return the XML Name for the Class being described.
1239    */
1240   public java.lang.String getXMLName()
1241   {
1242     return _xmlName;
1243   }
1244
1245   /**
1246    * Method isElementDefinition.
1247    * 
1248    * @return true if XML schema definition of this Class is that of a global
1249    *         element or element with anonymous type definition.
1250    */
1251   public boolean isElementDefinition()
1252   {
1253     return _elementDefinition;
1254   }
1255
1256 }