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