5a983e7b4c8e48f6831cc069306bfe70b3ce1030
[jalview.git] / src / jalview / schemabinding / version2 / descriptors / TreeDescriptor.java
1 /*\r
2  * Jalview - A Sequence Alignment Editor and Viewer (Version 2.4)\r
3  * Copyright (C) 2008 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
4  * \r
5  * This program is free software; you can redistribute it and/or\r
6  * modify it under the terms of the GNU General Public License\r
7  * as published by the Free Software Foundation; either version 2\r
8  * of the License, or (at your option) any later version.\r
9  * \r
10  * This program is distributed in the hope that it will be useful,\r
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
13  * GNU General Public License for more details.\r
14  * \r
15  * You should have received a copy of the GNU General Public License\r
16  * along with this program; if not, write to the Free Software\r
17  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA\r
18  */\r
19 package jalview.schemabinding.version2.descriptors;\r
20 \r
21 // ---------------------------------/\r
22 // - Imported classes and packages -/\r
23 // ---------------------------------/\r
24 \r
25 import jalview.schemabinding.version2.Tree;\r
26 \r
27 /**\r
28  * Class TreeDescriptor.\r
29  * \r
30  * @version $Revision$ $Date$\r
31  */\r
32 public class TreeDescriptor extends\r
33         org.exolab.castor.xml.util.XMLClassDescriptorImpl\r
34 {\r
35 \r
36   // --------------------------/\r
37   // - Class/Member Variables -/\r
38   // --------------------------/\r
39 \r
40   /**\r
41    * Field _elementDefinition.\r
42    */\r
43   private boolean _elementDefinition;\r
44 \r
45   /**\r
46    * Field _nsPrefix.\r
47    */\r
48   private java.lang.String _nsPrefix;\r
49 \r
50   /**\r
51    * Field _nsURI.\r
52    */\r
53   private java.lang.String _nsURI;\r
54 \r
55   /**\r
56    * Field _xmlName.\r
57    */\r
58   private java.lang.String _xmlName;\r
59 \r
60   // ----------------/\r
61   // - Constructors -/\r
62   // ----------------/\r
63 \r
64   public TreeDescriptor()\r
65   {\r
66     super();\r
67     _nsURI = "www.jalview.org";\r
68     _xmlName = "tree";\r
69     _elementDefinition = true;\r
70 \r
71     // -- set grouping compositor\r
72     setCompositorAsSequence();\r
73     org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;\r
74     org.exolab.castor.mapping.FieldHandler handler = null;\r
75     org.exolab.castor.xml.FieldValidator fieldValidator = null;\r
76     // -- initialize attribute descriptors\r
77 \r
78     // -- _width\r
79     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
80             java.lang.Integer.TYPE, "_width", "width",\r
81             org.exolab.castor.xml.NodeType.Attribute);\r
82     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
83     {\r
84       public java.lang.Object getValue(java.lang.Object object)\r
85               throws IllegalStateException\r
86       {\r
87         Tree target = (Tree) object;\r
88         if (!target.hasWidth())\r
89         {\r
90           return null;\r
91         }\r
92         return new java.lang.Integer(target.getWidth());\r
93       }\r
94 \r
95       public void setValue(java.lang.Object object, java.lang.Object value)\r
96               throws IllegalStateException, IllegalArgumentException\r
97       {\r
98         try\r
99         {\r
100           Tree target = (Tree) object;\r
101           // if null, use delete method for optional primitives\r
102           if (value == null)\r
103           {\r
104             target.deleteWidth();\r
105             return;\r
106           }\r
107           target.setWidth(((java.lang.Integer) value).intValue());\r
108         } catch (java.lang.Exception ex)\r
109         {\r
110           throw new IllegalStateException(ex.toString());\r
111         }\r
112       }\r
113 \r
114       public java.lang.Object newInstance(java.lang.Object parent)\r
115       {\r
116         return null;\r
117       }\r
118     };\r
119     desc.setHandler(handler);\r
120     desc.setMultivalued(false);\r
121     addFieldDescriptor(desc);\r
122 \r
123     // -- validation code for: _width\r
124     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
125     { // -- local scope\r
126       org.exolab.castor.xml.validators.IntValidator typeValidator;\r
127       typeValidator = new org.exolab.castor.xml.validators.IntValidator();\r
128       fieldValidator.setValidator(typeValidator);\r
129       typeValidator.setMinInclusive(-2147483648);\r
130       typeValidator.setMaxInclusive(2147483647);\r
131     }\r
132     desc.setValidator(fieldValidator);\r
133     // -- _height\r
134     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
135             java.lang.Integer.TYPE, "_height", "height",\r
136             org.exolab.castor.xml.NodeType.Attribute);\r
137     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
138     {\r
139       public java.lang.Object getValue(java.lang.Object object)\r
140               throws IllegalStateException\r
141       {\r
142         Tree target = (Tree) object;\r
143         if (!target.hasHeight())\r
144         {\r
145           return null;\r
146         }\r
147         return new java.lang.Integer(target.getHeight());\r
148       }\r
149 \r
150       public void setValue(java.lang.Object object, java.lang.Object value)\r
151               throws IllegalStateException, IllegalArgumentException\r
152       {\r
153         try\r
154         {\r
155           Tree target = (Tree) object;\r
156           // if null, use delete method for optional primitives\r
157           if (value == null)\r
158           {\r
159             target.deleteHeight();\r
160             return;\r
161           }\r
162           target.setHeight(((java.lang.Integer) value).intValue());\r
163         } catch (java.lang.Exception ex)\r
164         {\r
165           throw new IllegalStateException(ex.toString());\r
166         }\r
167       }\r
168 \r
169       public java.lang.Object newInstance(java.lang.Object parent)\r
170       {\r
171         return null;\r
172       }\r
173     };\r
174     desc.setHandler(handler);\r
175     desc.setMultivalued(false);\r
176     addFieldDescriptor(desc);\r
177 \r
178     // -- validation code for: _height\r
179     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
180     { // -- local scope\r
181       org.exolab.castor.xml.validators.IntValidator typeValidator;\r
182       typeValidator = new org.exolab.castor.xml.validators.IntValidator();\r
183       fieldValidator.setValidator(typeValidator);\r
184       typeValidator.setMinInclusive(-2147483648);\r
185       typeValidator.setMaxInclusive(2147483647);\r
186     }\r
187     desc.setValidator(fieldValidator);\r
188     // -- _xpos\r
189     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
190             java.lang.Integer.TYPE, "_xpos", "xpos",\r
191             org.exolab.castor.xml.NodeType.Attribute);\r
192     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
193     {\r
194       public java.lang.Object getValue(java.lang.Object object)\r
195               throws IllegalStateException\r
196       {\r
197         Tree target = (Tree) object;\r
198         if (!target.hasXpos())\r
199         {\r
200           return null;\r
201         }\r
202         return new java.lang.Integer(target.getXpos());\r
203       }\r
204 \r
205       public void setValue(java.lang.Object object, java.lang.Object value)\r
206               throws IllegalStateException, IllegalArgumentException\r
207       {\r
208         try\r
209         {\r
210           Tree target = (Tree) object;\r
211           // if null, use delete method for optional primitives\r
212           if (value == null)\r
213           {\r
214             target.deleteXpos();\r
215             return;\r
216           }\r
217           target.setXpos(((java.lang.Integer) value).intValue());\r
218         } catch (java.lang.Exception ex)\r
219         {\r
220           throw new IllegalStateException(ex.toString());\r
221         }\r
222       }\r
223 \r
224       public java.lang.Object newInstance(java.lang.Object parent)\r
225       {\r
226         return null;\r
227       }\r
228     };\r
229     desc.setHandler(handler);\r
230     desc.setMultivalued(false);\r
231     addFieldDescriptor(desc);\r
232 \r
233     // -- validation code for: _xpos\r
234     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
235     { // -- local scope\r
236       org.exolab.castor.xml.validators.IntValidator typeValidator;\r
237       typeValidator = new org.exolab.castor.xml.validators.IntValidator();\r
238       fieldValidator.setValidator(typeValidator);\r
239       typeValidator.setMinInclusive(-2147483648);\r
240       typeValidator.setMaxInclusive(2147483647);\r
241     }\r
242     desc.setValidator(fieldValidator);\r
243     // -- _ypos\r
244     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
245             java.lang.Integer.TYPE, "_ypos", "ypos",\r
246             org.exolab.castor.xml.NodeType.Attribute);\r
247     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
248     {\r
249       public java.lang.Object getValue(java.lang.Object object)\r
250               throws IllegalStateException\r
251       {\r
252         Tree target = (Tree) object;\r
253         if (!target.hasYpos())\r
254         {\r
255           return null;\r
256         }\r
257         return new java.lang.Integer(target.getYpos());\r
258       }\r
259 \r
260       public void setValue(java.lang.Object object, java.lang.Object value)\r
261               throws IllegalStateException, IllegalArgumentException\r
262       {\r
263         try\r
264         {\r
265           Tree target = (Tree) object;\r
266           // if null, use delete method for optional primitives\r
267           if (value == null)\r
268           {\r
269             target.deleteYpos();\r
270             return;\r
271           }\r
272           target.setYpos(((java.lang.Integer) value).intValue());\r
273         } catch (java.lang.Exception ex)\r
274         {\r
275           throw new IllegalStateException(ex.toString());\r
276         }\r
277       }\r
278 \r
279       public java.lang.Object newInstance(java.lang.Object parent)\r
280       {\r
281         return null;\r
282       }\r
283     };\r
284     desc.setHandler(handler);\r
285     desc.setMultivalued(false);\r
286     addFieldDescriptor(desc);\r
287 \r
288     // -- validation code for: _ypos\r
289     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
290     { // -- local scope\r
291       org.exolab.castor.xml.validators.IntValidator typeValidator;\r
292       typeValidator = new org.exolab.castor.xml.validators.IntValidator();\r
293       fieldValidator.setValidator(typeValidator);\r
294       typeValidator.setMinInclusive(-2147483648);\r
295       typeValidator.setMaxInclusive(2147483647);\r
296     }\r
297     desc.setValidator(fieldValidator);\r
298     // -- _fontName\r
299     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
300             java.lang.String.class, "_fontName", "fontName",\r
301             org.exolab.castor.xml.NodeType.Attribute);\r
302     desc.setImmutable(true);\r
303     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
304     {\r
305       public java.lang.Object getValue(java.lang.Object object)\r
306               throws IllegalStateException\r
307       {\r
308         Tree target = (Tree) object;\r
309         return target.getFontName();\r
310       }\r
311 \r
312       public void setValue(java.lang.Object object, java.lang.Object value)\r
313               throws IllegalStateException, IllegalArgumentException\r
314       {\r
315         try\r
316         {\r
317           Tree target = (Tree) object;\r
318           target.setFontName((java.lang.String) value);\r
319         } catch (java.lang.Exception ex)\r
320         {\r
321           throw new IllegalStateException(ex.toString());\r
322         }\r
323       }\r
324 \r
325       public java.lang.Object newInstance(java.lang.Object parent)\r
326       {\r
327         return null;\r
328       }\r
329     };\r
330     desc.setHandler(handler);\r
331     desc.setMultivalued(false);\r
332     addFieldDescriptor(desc);\r
333 \r
334     // -- validation code for: _fontName\r
335     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
336     { // -- local scope\r
337       org.exolab.castor.xml.validators.StringValidator typeValidator;\r
338       typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
339       fieldValidator.setValidator(typeValidator);\r
340       typeValidator.setWhiteSpace("preserve");\r
341     }\r
342     desc.setValidator(fieldValidator);\r
343     // -- _fontSize\r
344     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
345             java.lang.Integer.TYPE, "_fontSize", "fontSize",\r
346             org.exolab.castor.xml.NodeType.Attribute);\r
347     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
348     {\r
349       public java.lang.Object getValue(java.lang.Object object)\r
350               throws IllegalStateException\r
351       {\r
352         Tree target = (Tree) object;\r
353         if (!target.hasFontSize())\r
354         {\r
355           return null;\r
356         }\r
357         return new java.lang.Integer(target.getFontSize());\r
358       }\r
359 \r
360       public void setValue(java.lang.Object object, java.lang.Object value)\r
361               throws IllegalStateException, IllegalArgumentException\r
362       {\r
363         try\r
364         {\r
365           Tree target = (Tree) object;\r
366           // if null, use delete method for optional primitives\r
367           if (value == null)\r
368           {\r
369             target.deleteFontSize();\r
370             return;\r
371           }\r
372           target.setFontSize(((java.lang.Integer) value).intValue());\r
373         } catch (java.lang.Exception ex)\r
374         {\r
375           throw new IllegalStateException(ex.toString());\r
376         }\r
377       }\r
378 \r
379       public java.lang.Object newInstance(java.lang.Object parent)\r
380       {\r
381         return null;\r
382       }\r
383     };\r
384     desc.setHandler(handler);\r
385     desc.setMultivalued(false);\r
386     addFieldDescriptor(desc);\r
387 \r
388     // -- validation code for: _fontSize\r
389     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
390     { // -- local scope\r
391       org.exolab.castor.xml.validators.IntValidator typeValidator;\r
392       typeValidator = new org.exolab.castor.xml.validators.IntValidator();\r
393       fieldValidator.setValidator(typeValidator);\r
394       typeValidator.setMinInclusive(-2147483648);\r
395       typeValidator.setMaxInclusive(2147483647);\r
396     }\r
397     desc.setValidator(fieldValidator);\r
398     // -- _fontStyle\r
399     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
400             java.lang.Integer.TYPE, "_fontStyle", "fontStyle",\r
401             org.exolab.castor.xml.NodeType.Attribute);\r
402     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
403     {\r
404       public java.lang.Object getValue(java.lang.Object object)\r
405               throws IllegalStateException\r
406       {\r
407         Tree target = (Tree) object;\r
408         if (!target.hasFontStyle())\r
409         {\r
410           return null;\r
411         }\r
412         return new java.lang.Integer(target.getFontStyle());\r
413       }\r
414 \r
415       public void setValue(java.lang.Object object, java.lang.Object value)\r
416               throws IllegalStateException, IllegalArgumentException\r
417       {\r
418         try\r
419         {\r
420           Tree target = (Tree) object;\r
421           // if null, use delete method for optional primitives\r
422           if (value == null)\r
423           {\r
424             target.deleteFontStyle();\r
425             return;\r
426           }\r
427           target.setFontStyle(((java.lang.Integer) value).intValue());\r
428         } catch (java.lang.Exception ex)\r
429         {\r
430           throw new IllegalStateException(ex.toString());\r
431         }\r
432       }\r
433 \r
434       public java.lang.Object newInstance(java.lang.Object parent)\r
435       {\r
436         return null;\r
437       }\r
438     };\r
439     desc.setHandler(handler);\r
440     desc.setMultivalued(false);\r
441     addFieldDescriptor(desc);\r
442 \r
443     // -- validation code for: _fontStyle\r
444     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
445     { // -- local scope\r
446       org.exolab.castor.xml.validators.IntValidator typeValidator;\r
447       typeValidator = new org.exolab.castor.xml.validators.IntValidator();\r
448       fieldValidator.setValidator(typeValidator);\r
449       typeValidator.setMinInclusive(-2147483648);\r
450       typeValidator.setMaxInclusive(2147483647);\r
451     }\r
452     desc.setValidator(fieldValidator);\r
453     // -- _threshold\r
454     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
455             java.lang.Float.TYPE, "_threshold", "threshold",\r
456             org.exolab.castor.xml.NodeType.Attribute);\r
457     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
458     {\r
459       public java.lang.Object getValue(java.lang.Object object)\r
460               throws IllegalStateException\r
461       {\r
462         Tree target = (Tree) object;\r
463         if (!target.hasThreshold())\r
464         {\r
465           return null;\r
466         }\r
467         return new java.lang.Float(target.getThreshold());\r
468       }\r
469 \r
470       public void setValue(java.lang.Object object, java.lang.Object value)\r
471               throws IllegalStateException, IllegalArgumentException\r
472       {\r
473         try\r
474         {\r
475           Tree target = (Tree) object;\r
476           // if null, use delete method for optional primitives\r
477           if (value == null)\r
478           {\r
479             target.deleteThreshold();\r
480             return;\r
481           }\r
482           target.setThreshold(((java.lang.Float) value).floatValue());\r
483         } catch (java.lang.Exception ex)\r
484         {\r
485           throw new IllegalStateException(ex.toString());\r
486         }\r
487       }\r
488 \r
489       public java.lang.Object newInstance(java.lang.Object parent)\r
490       {\r
491         return null;\r
492       }\r
493     };\r
494     desc.setHandler(handler);\r
495     desc.setMultivalued(false);\r
496     addFieldDescriptor(desc);\r
497 \r
498     // -- validation code for: _threshold\r
499     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
500     { // -- local scope\r
501       org.exolab.castor.xml.validators.FloatValidator typeValidator;\r
502       typeValidator = new org.exolab.castor.xml.validators.FloatValidator();\r
503       fieldValidator.setValidator(typeValidator);\r
504       typeValidator.setMinInclusive((float) -3.4028235E38);\r
505       typeValidator.setMaxInclusive((float) 3.4028235E38);\r
506     }\r
507     desc.setValidator(fieldValidator);\r
508     // -- _showBootstrap\r
509     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
510             java.lang.Boolean.TYPE, "_showBootstrap", "showBootstrap",\r
511             org.exolab.castor.xml.NodeType.Attribute);\r
512     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
513     {\r
514       public java.lang.Object getValue(java.lang.Object object)\r
515               throws IllegalStateException\r
516       {\r
517         Tree target = (Tree) object;\r
518         if (!target.hasShowBootstrap())\r
519         {\r
520           return null;\r
521         }\r
522         return (target.getShowBootstrap() ? java.lang.Boolean.TRUE\r
523                 : java.lang.Boolean.FALSE);\r
524       }\r
525 \r
526       public void setValue(java.lang.Object object, java.lang.Object value)\r
527               throws IllegalStateException, IllegalArgumentException\r
528       {\r
529         try\r
530         {\r
531           Tree target = (Tree) object;\r
532           // if null, use delete method for optional primitives\r
533           if (value == null)\r
534           {\r
535             target.deleteShowBootstrap();\r
536             return;\r
537           }\r
538           target.setShowBootstrap(((java.lang.Boolean) value)\r
539                   .booleanValue());\r
540         } catch (java.lang.Exception ex)\r
541         {\r
542           throw new IllegalStateException(ex.toString());\r
543         }\r
544       }\r
545 \r
546       public java.lang.Object newInstance(java.lang.Object parent)\r
547       {\r
548         return null;\r
549       }\r
550     };\r
551     desc.setHandler(handler);\r
552     desc.setMultivalued(false);\r
553     addFieldDescriptor(desc);\r
554 \r
555     // -- validation code for: _showBootstrap\r
556     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
557     { // -- local scope\r
558       org.exolab.castor.xml.validators.BooleanValidator typeValidator;\r
559       typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
560       fieldValidator.setValidator(typeValidator);\r
561     }\r
562     desc.setValidator(fieldValidator);\r
563     // -- _showDistances\r
564     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
565             java.lang.Boolean.TYPE, "_showDistances", "showDistances",\r
566             org.exolab.castor.xml.NodeType.Attribute);\r
567     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
568     {\r
569       public java.lang.Object getValue(java.lang.Object object)\r
570               throws IllegalStateException\r
571       {\r
572         Tree target = (Tree) object;\r
573         if (!target.hasShowDistances())\r
574         {\r
575           return null;\r
576         }\r
577         return (target.getShowDistances() ? java.lang.Boolean.TRUE\r
578                 : java.lang.Boolean.FALSE);\r
579       }\r
580 \r
581       public void setValue(java.lang.Object object, java.lang.Object value)\r
582               throws IllegalStateException, IllegalArgumentException\r
583       {\r
584         try\r
585         {\r
586           Tree target = (Tree) object;\r
587           // if null, use delete method for optional primitives\r
588           if (value == null)\r
589           {\r
590             target.deleteShowDistances();\r
591             return;\r
592           }\r
593           target.setShowDistances(((java.lang.Boolean) value)\r
594                   .booleanValue());\r
595         } catch (java.lang.Exception ex)\r
596         {\r
597           throw new IllegalStateException(ex.toString());\r
598         }\r
599       }\r
600 \r
601       public java.lang.Object newInstance(java.lang.Object parent)\r
602       {\r
603         return null;\r
604       }\r
605     };\r
606     desc.setHandler(handler);\r
607     desc.setMultivalued(false);\r
608     addFieldDescriptor(desc);\r
609 \r
610     // -- validation code for: _showDistances\r
611     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
612     { // -- local scope\r
613       org.exolab.castor.xml.validators.BooleanValidator typeValidator;\r
614       typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
615       fieldValidator.setValidator(typeValidator);\r
616     }\r
617     desc.setValidator(fieldValidator);\r
618     // -- _markUnlinked\r
619     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
620             java.lang.Boolean.TYPE, "_markUnlinked", "markUnlinked",\r
621             org.exolab.castor.xml.NodeType.Attribute);\r
622     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
623     {\r
624       public java.lang.Object getValue(java.lang.Object object)\r
625               throws IllegalStateException\r
626       {\r
627         Tree target = (Tree) object;\r
628         if (!target.hasMarkUnlinked())\r
629         {\r
630           return null;\r
631         }\r
632         return (target.getMarkUnlinked() ? java.lang.Boolean.TRUE\r
633                 : java.lang.Boolean.FALSE);\r
634       }\r
635 \r
636       public void setValue(java.lang.Object object, java.lang.Object value)\r
637               throws IllegalStateException, IllegalArgumentException\r
638       {\r
639         try\r
640         {\r
641           Tree target = (Tree) object;\r
642           // if null, use delete method for optional primitives\r
643           if (value == null)\r
644           {\r
645             target.deleteMarkUnlinked();\r
646             return;\r
647           }\r
648           target\r
649                   .setMarkUnlinked(((java.lang.Boolean) value)\r
650                           .booleanValue());\r
651         } catch (java.lang.Exception ex)\r
652         {\r
653           throw new IllegalStateException(ex.toString());\r
654         }\r
655       }\r
656 \r
657       public java.lang.Object newInstance(java.lang.Object parent)\r
658       {\r
659         return null;\r
660       }\r
661     };\r
662     desc.setHandler(handler);\r
663     desc.setMultivalued(false);\r
664     addFieldDescriptor(desc);\r
665 \r
666     // -- validation code for: _markUnlinked\r
667     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
668     { // -- local scope\r
669       org.exolab.castor.xml.validators.BooleanValidator typeValidator;\r
670       typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
671       fieldValidator.setValidator(typeValidator);\r
672     }\r
673     desc.setValidator(fieldValidator);\r
674     // -- _fitToWindow\r
675     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
676             java.lang.Boolean.TYPE, "_fitToWindow", "fitToWindow",\r
677             org.exolab.castor.xml.NodeType.Attribute);\r
678     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
679     {\r
680       public java.lang.Object getValue(java.lang.Object object)\r
681               throws IllegalStateException\r
682       {\r
683         Tree target = (Tree) object;\r
684         if (!target.hasFitToWindow())\r
685         {\r
686           return null;\r
687         }\r
688         return (target.getFitToWindow() ? java.lang.Boolean.TRUE\r
689                 : java.lang.Boolean.FALSE);\r
690       }\r
691 \r
692       public void setValue(java.lang.Object object, java.lang.Object value)\r
693               throws IllegalStateException, IllegalArgumentException\r
694       {\r
695         try\r
696         {\r
697           Tree target = (Tree) object;\r
698           // if null, use delete method for optional primitives\r
699           if (value == null)\r
700           {\r
701             target.deleteFitToWindow();\r
702             return;\r
703           }\r
704           target.setFitToWindow(((java.lang.Boolean) value).booleanValue());\r
705         } catch (java.lang.Exception ex)\r
706         {\r
707           throw new IllegalStateException(ex.toString());\r
708         }\r
709       }\r
710 \r
711       public java.lang.Object newInstance(java.lang.Object parent)\r
712       {\r
713         return null;\r
714       }\r
715     };\r
716     desc.setHandler(handler);\r
717     desc.setMultivalued(false);\r
718     addFieldDescriptor(desc);\r
719 \r
720     // -- validation code for: _fitToWindow\r
721     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
722     { // -- local scope\r
723       org.exolab.castor.xml.validators.BooleanValidator typeValidator;\r
724       typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
725       fieldValidator.setValidator(typeValidator);\r
726     }\r
727     desc.setValidator(fieldValidator);\r
728     // -- _currentTree\r
729     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
730             java.lang.Boolean.TYPE, "_currentTree", "currentTree",\r
731             org.exolab.castor.xml.NodeType.Attribute);\r
732     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
733     {\r
734       public java.lang.Object getValue(java.lang.Object object)\r
735               throws IllegalStateException\r
736       {\r
737         Tree target = (Tree) object;\r
738         if (!target.hasCurrentTree())\r
739         {\r
740           return null;\r
741         }\r
742         return (target.getCurrentTree() ? java.lang.Boolean.TRUE\r
743                 : java.lang.Boolean.FALSE);\r
744       }\r
745 \r
746       public void setValue(java.lang.Object object, java.lang.Object value)\r
747               throws IllegalStateException, IllegalArgumentException\r
748       {\r
749         try\r
750         {\r
751           Tree target = (Tree) object;\r
752           // if null, use delete method for optional primitives\r
753           if (value == null)\r
754           {\r
755             target.deleteCurrentTree();\r
756             return;\r
757           }\r
758           target.setCurrentTree(((java.lang.Boolean) value).booleanValue());\r
759         } catch (java.lang.Exception ex)\r
760         {\r
761           throw new IllegalStateException(ex.toString());\r
762         }\r
763       }\r
764 \r
765       public java.lang.Object newInstance(java.lang.Object parent)\r
766       {\r
767         return null;\r
768       }\r
769     };\r
770     desc.setHandler(handler);\r
771     desc.setMultivalued(false);\r
772     addFieldDescriptor(desc);\r
773 \r
774     // -- validation code for: _currentTree\r
775     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
776     { // -- local scope\r
777       org.exolab.castor.xml.validators.BooleanValidator typeValidator;\r
778       typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
779       fieldValidator.setValidator(typeValidator);\r
780     }\r
781     desc.setValidator(fieldValidator);\r
782     // -- initialize element descriptors\r
783 \r
784     // -- _title\r
785     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
786             java.lang.String.class, "_title", "title",\r
787             org.exolab.castor.xml.NodeType.Element);\r
788     desc.setImmutable(true);\r
789     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
790     {\r
791       public java.lang.Object getValue(java.lang.Object object)\r
792               throws IllegalStateException\r
793       {\r
794         Tree target = (Tree) object;\r
795         return target.getTitle();\r
796       }\r
797 \r
798       public void setValue(java.lang.Object object, java.lang.Object value)\r
799               throws IllegalStateException, IllegalArgumentException\r
800       {\r
801         try\r
802         {\r
803           Tree target = (Tree) object;\r
804           target.setTitle((java.lang.String) value);\r
805         } catch (java.lang.Exception ex)\r
806         {\r
807           throw new IllegalStateException(ex.toString());\r
808         }\r
809       }\r
810 \r
811       public java.lang.Object newInstance(java.lang.Object parent)\r
812       {\r
813         return null;\r
814       }\r
815     };\r
816     desc.setHandler(handler);\r
817     desc.setNameSpaceURI("www.jalview.org");\r
818     desc.setMultivalued(false);\r
819     addFieldDescriptor(desc);\r
820 \r
821     // -- validation code for: _title\r
822     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
823     { // -- local scope\r
824       org.exolab.castor.xml.validators.StringValidator typeValidator;\r
825       typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
826       fieldValidator.setValidator(typeValidator);\r
827       typeValidator.setWhiteSpace("preserve");\r
828     }\r
829     desc.setValidator(fieldValidator);\r
830     // -- _newick\r
831     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
832             java.lang.String.class, "_newick", "newick",\r
833             org.exolab.castor.xml.NodeType.Element);\r
834     desc.setImmutable(true);\r
835     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
836     {\r
837       public java.lang.Object getValue(java.lang.Object object)\r
838               throws IllegalStateException\r
839       {\r
840         Tree target = (Tree) object;\r
841         return target.getNewick();\r
842       }\r
843 \r
844       public void setValue(java.lang.Object object, java.lang.Object value)\r
845               throws IllegalStateException, IllegalArgumentException\r
846       {\r
847         try\r
848         {\r
849           Tree target = (Tree) object;\r
850           target.setNewick((java.lang.String) value);\r
851         } catch (java.lang.Exception ex)\r
852         {\r
853           throw new IllegalStateException(ex.toString());\r
854         }\r
855       }\r
856 \r
857       public java.lang.Object newInstance(java.lang.Object parent)\r
858       {\r
859         return null;\r
860       }\r
861     };\r
862     desc.setHandler(handler);\r
863     desc.setNameSpaceURI("www.jalview.org");\r
864     desc.setMultivalued(false);\r
865     addFieldDescriptor(desc);\r
866 \r
867     // -- validation code for: _newick\r
868     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
869     { // -- local scope\r
870       org.exolab.castor.xml.validators.StringValidator typeValidator;\r
871       typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
872       fieldValidator.setValidator(typeValidator);\r
873       typeValidator.setWhiteSpace("preserve");\r
874     }\r
875     desc.setValidator(fieldValidator);\r
876   }\r
877 \r
878   // -----------/\r
879   // - Methods -/\r
880   // -----------/\r
881 \r
882   /**\r
883    * Method getAccessMode.\r
884    * \r
885    * @return the access mode specified for this class.\r
886    */\r
887   public org.exolab.castor.mapping.AccessMode getAccessMode()\r
888   {\r
889     return null;\r
890   }\r
891 \r
892   /**\r
893    * Method getIdentity.\r
894    * \r
895    * @return the identity field, null if this class has no identity.\r
896    */\r
897   public org.exolab.castor.mapping.FieldDescriptor getIdentity()\r
898   {\r
899     return super.getIdentity();\r
900   }\r
901 \r
902   /**\r
903    * Method getJavaClass.\r
904    * \r
905    * @return the Java class represented by this descriptor.\r
906    */\r
907   public java.lang.Class getJavaClass()\r
908   {\r
909     return jalview.schemabinding.version2.Tree.class;\r
910   }\r
911 \r
912   /**\r
913    * Method getNameSpacePrefix.\r
914    * \r
915    * @return the namespace prefix to use when marshaling as XML.\r
916    */\r
917   public java.lang.String getNameSpacePrefix()\r
918   {\r
919     return _nsPrefix;\r
920   }\r
921 \r
922   /**\r
923    * Method getNameSpaceURI.\r
924    * \r
925    * @return the namespace URI used when marshaling and unmarshaling as XML.\r
926    */\r
927   public java.lang.String getNameSpaceURI()\r
928   {\r
929     return _nsURI;\r
930   }\r
931 \r
932   /**\r
933    * Method getValidator.\r
934    * \r
935    * @return a specific validator for the class described by this\r
936    *         ClassDescriptor.\r
937    */\r
938   public org.exolab.castor.xml.TypeValidator getValidator()\r
939   {\r
940     return this;\r
941   }\r
942 \r
943   /**\r
944    * Method getXMLName.\r
945    * \r
946    * @return the XML Name for the Class being described.\r
947    */\r
948   public java.lang.String getXMLName()\r
949   {\r
950     return _xmlName;\r
951   }\r
952 \r
953   /**\r
954    * Method isElementDefinition.\r
955    * \r
956    * @return true if XML schema definition of this Class is that of a global\r
957    *         element or element with anonymous type definition.\r
958    */\r
959   public boolean isElementDefinition()\r
960   {\r
961     return _elementDefinition;\r
962   }\r
963 \r
964 }\r