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