Jalview 2.6 source licence
[jalview.git] / src / jalview / schemabinding / version2 / descriptors / ColourDescriptor.java
1 /*\r
2  * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6)\r
3  * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle\r
4  * \r
5  * This file is part of Jalview.\r
6  * \r
7  * Jalview is free software: you can redistribute it and/or\r
8  * modify it under the terms of the GNU General Public License \r
9  * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r
10  * \r
11  * Jalview is distributed in the hope that it will be useful, but \r
12  * WITHOUT ANY WARRANTY; without even the implied warranty \r
13  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR \r
14  * PURPOSE.  See the GNU General Public License for more details.\r
15  * \r
16  * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.\r
17  */\r
18 package jalview.schemabinding.version2.descriptors;\r
19 \r
20 //---------------------------------/\r
21 //- Imported classes and packages -/\r
22 //---------------------------------/\r
23 \r
24 import jalview.schemabinding.version2.Colour;\r
25 \r
26 /**\r
27  * Class ColourDescriptor.\r
28  * \r
29  * @version $Revision$ $Date$\r
30  */\r
31 public class ColourDescriptor extends\r
32         org.exolab.castor.xml.util.XMLClassDescriptorImpl\r
33 {\r
34 \r
35   // --------------------------/\r
36   // - Class/Member Variables -/\r
37   // --------------------------/\r
38 \r
39   /**\r
40    * Field _elementDefinition.\r
41    */\r
42   private boolean _elementDefinition;\r
43 \r
44   /**\r
45    * Field _nsPrefix.\r
46    */\r
47   private java.lang.String _nsPrefix;\r
48 \r
49   /**\r
50    * Field _nsURI.\r
51    */\r
52   private java.lang.String _nsURI;\r
53 \r
54   /**\r
55    * Field _xmlName.\r
56    */\r
57   private java.lang.String _xmlName;\r
58 \r
59   // ----------------/\r
60   // - Constructors -/\r
61   // ----------------/\r
62 \r
63   public ColourDescriptor()\r
64   {\r
65     super();\r
66     _xmlName = "colour";\r
67     _elementDefinition = true;\r
68     org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;\r
69     org.exolab.castor.mapping.FieldHandler handler = null;\r
70     org.exolab.castor.xml.FieldValidator fieldValidator = null;\r
71     // -- initialize attribute descriptors\r
72 \r
73     // -- _name\r
74     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
75             java.lang.String.class, "_name", "Name",\r
76             org.exolab.castor.xml.NodeType.Attribute);\r
77     desc.setImmutable(true);\r
78     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
79     {\r
80       public java.lang.Object getValue(java.lang.Object object)\r
81               throws IllegalStateException\r
82       {\r
83         Colour target = (Colour) object;\r
84         return target.getName();\r
85       }\r
86 \r
87       public void setValue(java.lang.Object object, java.lang.Object value)\r
88               throws IllegalStateException, IllegalArgumentException\r
89       {\r
90         try\r
91         {\r
92           Colour target = (Colour) object;\r
93           target.setName((java.lang.String) value);\r
94         } catch (java.lang.Exception ex)\r
95         {\r
96           throw new IllegalStateException(ex.toString());\r
97         }\r
98       }\r
99 \r
100       public java.lang.Object newInstance(java.lang.Object parent)\r
101       {\r
102         return null;\r
103       }\r
104     };\r
105     desc.setHandler(handler);\r
106     desc.setMultivalued(false);\r
107     addFieldDescriptor(desc);\r
108 \r
109     // -- validation code for: _name\r
110     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
111     { // -- local scope\r
112       org.exolab.castor.xml.validators.StringValidator typeValidator;\r
113       typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
114       fieldValidator.setValidator(typeValidator);\r
115       typeValidator.setWhiteSpace("preserve");\r
116     }\r
117     desc.setValidator(fieldValidator);\r
118     // -- _RGB\r
119     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
120             java.lang.String.class, "_RGB", "RGB",\r
121             org.exolab.castor.xml.NodeType.Attribute);\r
122     desc.setImmutable(true);\r
123     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
124     {\r
125       public java.lang.Object getValue(java.lang.Object object)\r
126               throws IllegalStateException\r
127       {\r
128         Colour target = (Colour) object;\r
129         return target.getRGB();\r
130       }\r
131 \r
132       public void setValue(java.lang.Object object, java.lang.Object value)\r
133               throws IllegalStateException, IllegalArgumentException\r
134       {\r
135         try\r
136         {\r
137           Colour target = (Colour) object;\r
138           target.setRGB((java.lang.String) value);\r
139         } catch (java.lang.Exception ex)\r
140         {\r
141           throw new IllegalStateException(ex.toString());\r
142         }\r
143       }\r
144 \r
145       public java.lang.Object newInstance(java.lang.Object parent)\r
146       {\r
147         return null;\r
148       }\r
149     };\r
150     desc.setHandler(handler);\r
151     desc.setRequired(true);\r
152     desc.setMultivalued(false);\r
153     addFieldDescriptor(desc);\r
154 \r
155     // -- validation code for: _RGB\r
156     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
157     fieldValidator.setMinOccurs(1);\r
158     { // -- local scope\r
159       org.exolab.castor.xml.validators.StringValidator typeValidator;\r
160       typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
161       fieldValidator.setValidator(typeValidator);\r
162       typeValidator.setWhiteSpace("preserve");\r
163     }\r
164     desc.setValidator(fieldValidator);\r
165     // -- _minRGB\r
166     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
167             java.lang.String.class, "_minRGB", "minRGB",\r
168             org.exolab.castor.xml.NodeType.Attribute);\r
169     desc.setImmutable(true);\r
170     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
171     {\r
172       public java.lang.Object getValue(java.lang.Object object)\r
173               throws IllegalStateException\r
174       {\r
175         Colour target = (Colour) object;\r
176         return target.getMinRGB();\r
177       }\r
178 \r
179       public void setValue(java.lang.Object object, java.lang.Object value)\r
180               throws IllegalStateException, IllegalArgumentException\r
181       {\r
182         try\r
183         {\r
184           Colour target = (Colour) object;\r
185           target.setMinRGB((java.lang.String) value);\r
186         } catch (java.lang.Exception ex)\r
187         {\r
188           throw new IllegalStateException(ex.toString());\r
189         }\r
190       }\r
191 \r
192       public java.lang.Object newInstance(java.lang.Object parent)\r
193       {\r
194         return null;\r
195       }\r
196     };\r
197     desc.setHandler(handler);\r
198     desc.setMultivalued(false);\r
199     addFieldDescriptor(desc);\r
200 \r
201     // -- validation code for: _minRGB\r
202     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
203     { // -- local scope\r
204       org.exolab.castor.xml.validators.StringValidator typeValidator;\r
205       typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
206       fieldValidator.setValidator(typeValidator);\r
207       typeValidator.setWhiteSpace("preserve");\r
208     }\r
209     desc.setValidator(fieldValidator);\r
210     // -- _threshType\r
211     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
212             java.lang.String.class, "_threshType", "threshType",\r
213             org.exolab.castor.xml.NodeType.Attribute);\r
214     desc.setImmutable(true);\r
215     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
216     {\r
217       public java.lang.Object getValue(java.lang.Object object)\r
218               throws IllegalStateException\r
219       {\r
220         Colour target = (Colour) object;\r
221         return target.getThreshType();\r
222       }\r
223 \r
224       public void setValue(java.lang.Object object, java.lang.Object value)\r
225               throws IllegalStateException, IllegalArgumentException\r
226       {\r
227         try\r
228         {\r
229           Colour target = (Colour) object;\r
230           target.setThreshType((java.lang.String) value);\r
231         } catch (java.lang.Exception ex)\r
232         {\r
233           throw new IllegalStateException(ex.toString());\r
234         }\r
235       }\r
236 \r
237       public java.lang.Object newInstance(java.lang.Object parent)\r
238       {\r
239         return null;\r
240       }\r
241     };\r
242     desc.setHandler(handler);\r
243     desc.setMultivalued(false);\r
244     addFieldDescriptor(desc);\r
245 \r
246     // -- validation code for: _threshType\r
247     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
248     { // -- local scope\r
249       org.exolab.castor.xml.validators.StringValidator typeValidator;\r
250       typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
251       fieldValidator.setValidator(typeValidator);\r
252       typeValidator.setWhiteSpace("preserve");\r
253     }\r
254     desc.setValidator(fieldValidator);\r
255     // -- _threshold\r
256     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
257             java.lang.Float.TYPE, "_threshold", "threshold",\r
258             org.exolab.castor.xml.NodeType.Attribute);\r
259     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
260     {\r
261       public java.lang.Object getValue(java.lang.Object object)\r
262               throws IllegalStateException\r
263       {\r
264         Colour target = (Colour) object;\r
265         if (!target.hasThreshold())\r
266         {\r
267           return null;\r
268         }\r
269         return new java.lang.Float(target.getThreshold());\r
270       }\r
271 \r
272       public void setValue(java.lang.Object object, java.lang.Object value)\r
273               throws IllegalStateException, IllegalArgumentException\r
274       {\r
275         try\r
276         {\r
277           Colour target = (Colour) object;\r
278           // if null, use delete method for optional primitives\r
279           if (value == null)\r
280           {\r
281             target.deleteThreshold();\r
282             return;\r
283           }\r
284           target.setThreshold(((java.lang.Float) value).floatValue());\r
285         } catch (java.lang.Exception ex)\r
286         {\r
287           throw new IllegalStateException(ex.toString());\r
288         }\r
289       }\r
290 \r
291       public java.lang.Object newInstance(java.lang.Object parent)\r
292       {\r
293         return null;\r
294       }\r
295     };\r
296     desc.setHandler(handler);\r
297     desc.setMultivalued(false);\r
298     addFieldDescriptor(desc);\r
299 \r
300     // -- validation code for: _threshold\r
301     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
302     { // -- local scope\r
303       org.exolab.castor.xml.validators.FloatValidator typeValidator;\r
304       typeValidator = new org.exolab.castor.xml.validators.FloatValidator();\r
305       fieldValidator.setValidator(typeValidator);\r
306       typeValidator.setMinInclusive((float) -3.4028235E38);\r
307       typeValidator.setMaxInclusive((float) 3.4028235E38);\r
308     }\r
309     desc.setValidator(fieldValidator);\r
310     // -- _max\r
311     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
312             java.lang.Float.TYPE, "_max", "max",\r
313             org.exolab.castor.xml.NodeType.Attribute);\r
314     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
315     {\r
316       public java.lang.Object getValue(java.lang.Object object)\r
317               throws IllegalStateException\r
318       {\r
319         Colour target = (Colour) object;\r
320         if (!target.hasMax())\r
321         {\r
322           return null;\r
323         }\r
324         return new java.lang.Float(target.getMax());\r
325       }\r
326 \r
327       public void setValue(java.lang.Object object, java.lang.Object value)\r
328               throws IllegalStateException, IllegalArgumentException\r
329       {\r
330         try\r
331         {\r
332           Colour target = (Colour) object;\r
333           // if null, use delete method for optional primitives\r
334           if (value == null)\r
335           {\r
336             target.deleteMax();\r
337             return;\r
338           }\r
339           target.setMax(((java.lang.Float) value).floatValue());\r
340         } catch (java.lang.Exception ex)\r
341         {\r
342           throw new IllegalStateException(ex.toString());\r
343         }\r
344       }\r
345 \r
346       public java.lang.Object newInstance(java.lang.Object parent)\r
347       {\r
348         return null;\r
349       }\r
350     };\r
351     desc.setHandler(handler);\r
352     desc.setMultivalued(false);\r
353     addFieldDescriptor(desc);\r
354 \r
355     // -- validation code for: _max\r
356     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
357     { // -- local scope\r
358       org.exolab.castor.xml.validators.FloatValidator typeValidator;\r
359       typeValidator = new org.exolab.castor.xml.validators.FloatValidator();\r
360       fieldValidator.setValidator(typeValidator);\r
361       typeValidator.setMinInclusive((float) -3.4028235E38);\r
362       typeValidator.setMaxInclusive((float) 3.4028235E38);\r
363     }\r
364     desc.setValidator(fieldValidator);\r
365     // -- _min\r
366     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
367             java.lang.Float.TYPE, "_min", "min",\r
368             org.exolab.castor.xml.NodeType.Attribute);\r
369     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
370     {\r
371       public java.lang.Object getValue(java.lang.Object object)\r
372               throws IllegalStateException\r
373       {\r
374         Colour target = (Colour) object;\r
375         if (!target.hasMin())\r
376         {\r
377           return null;\r
378         }\r
379         return new java.lang.Float(target.getMin());\r
380       }\r
381 \r
382       public void setValue(java.lang.Object object, java.lang.Object value)\r
383               throws IllegalStateException, IllegalArgumentException\r
384       {\r
385         try\r
386         {\r
387           Colour target = (Colour) object;\r
388           // if null, use delete method for optional primitives\r
389           if (value == null)\r
390           {\r
391             target.deleteMin();\r
392             return;\r
393           }\r
394           target.setMin(((java.lang.Float) value).floatValue());\r
395         } catch (java.lang.Exception ex)\r
396         {\r
397           throw new IllegalStateException(ex.toString());\r
398         }\r
399       }\r
400 \r
401       public java.lang.Object newInstance(java.lang.Object parent)\r
402       {\r
403         return null;\r
404       }\r
405     };\r
406     desc.setHandler(handler);\r
407     desc.setMultivalued(false);\r
408     addFieldDescriptor(desc);\r
409 \r
410     // -- validation code for: _min\r
411     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
412     { // -- local scope\r
413       org.exolab.castor.xml.validators.FloatValidator typeValidator;\r
414       typeValidator = new org.exolab.castor.xml.validators.FloatValidator();\r
415       fieldValidator.setValidator(typeValidator);\r
416       typeValidator.setMinInclusive((float) -3.4028235E38);\r
417       typeValidator.setMaxInclusive((float) 3.4028235E38);\r
418     }\r
419     desc.setValidator(fieldValidator);\r
420     // -- _colourByLabel\r
421     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
422             java.lang.Boolean.TYPE, "_colourByLabel", "colourByLabel",\r
423             org.exolab.castor.xml.NodeType.Attribute);\r
424     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
425     {\r
426       public java.lang.Object getValue(java.lang.Object object)\r
427               throws IllegalStateException\r
428       {\r
429         Colour target = (Colour) object;\r
430         if (!target.hasColourByLabel())\r
431         {\r
432           return null;\r
433         }\r
434         return (target.getColourByLabel() ? java.lang.Boolean.TRUE\r
435                 : java.lang.Boolean.FALSE);\r
436       }\r
437 \r
438       public void setValue(java.lang.Object object, java.lang.Object value)\r
439               throws IllegalStateException, IllegalArgumentException\r
440       {\r
441         try\r
442         {\r
443           Colour target = (Colour) object;\r
444           // if null, use delete method for optional primitives\r
445           if (value == null)\r
446           {\r
447             target.deleteColourByLabel();\r
448             return;\r
449           }\r
450           target.setColourByLabel(((java.lang.Boolean) value)\r
451                   .booleanValue());\r
452         } catch (java.lang.Exception ex)\r
453         {\r
454           throw new IllegalStateException(ex.toString());\r
455         }\r
456       }\r
457 \r
458       public java.lang.Object newInstance(java.lang.Object parent)\r
459       {\r
460         return null;\r
461       }\r
462     };\r
463     desc.setHandler(handler);\r
464     desc.setMultivalued(false);\r
465     addFieldDescriptor(desc);\r
466 \r
467     // -- validation code for: _colourByLabel\r
468     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
469     { // -- local scope\r
470       org.exolab.castor.xml.validators.BooleanValidator typeValidator;\r
471       typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
472       fieldValidator.setValidator(typeValidator);\r
473     }\r
474     desc.setValidator(fieldValidator);\r
475     // -- _autoScale\r
476     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
477             java.lang.Boolean.TYPE, "_autoScale", "autoScale",\r
478             org.exolab.castor.xml.NodeType.Attribute);\r
479     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
480     {\r
481       public java.lang.Object getValue(java.lang.Object object)\r
482               throws IllegalStateException\r
483       {\r
484         Colour target = (Colour) object;\r
485         if (!target.hasAutoScale())\r
486         {\r
487           return null;\r
488         }\r
489         return (target.getAutoScale() ? java.lang.Boolean.TRUE\r
490                 : java.lang.Boolean.FALSE);\r
491       }\r
492 \r
493       public void setValue(java.lang.Object object, java.lang.Object value)\r
494               throws IllegalStateException, IllegalArgumentException\r
495       {\r
496         try\r
497         {\r
498           Colour target = (Colour) object;\r
499           // if null, use delete method for optional primitives\r
500           if (value == null)\r
501           {\r
502             target.deleteAutoScale();\r
503             return;\r
504           }\r
505           target.setAutoScale(((java.lang.Boolean) value).booleanValue());\r
506         } catch (java.lang.Exception ex)\r
507         {\r
508           throw new IllegalStateException(ex.toString());\r
509         }\r
510       }\r
511 \r
512       public java.lang.Object newInstance(java.lang.Object parent)\r
513       {\r
514         return null;\r
515       }\r
516     };\r
517     desc.setHandler(handler);\r
518     desc.setMultivalued(false);\r
519     addFieldDescriptor(desc);\r
520 \r
521     // -- validation code for: _autoScale\r
522     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
523     { // -- local scope\r
524       org.exolab.castor.xml.validators.BooleanValidator typeValidator;\r
525       typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
526       fieldValidator.setValidator(typeValidator);\r
527     }\r
528     desc.setValidator(fieldValidator);\r
529     // -- initialize element descriptors\r
530 \r
531   }\r
532 \r
533   // -----------/\r
534   // - Methods -/\r
535   // -----------/\r
536 \r
537   /**\r
538    * Method getAccessMode.\r
539    * \r
540    * @return the access mode specified for this class.\r
541    */\r
542   public org.exolab.castor.mapping.AccessMode getAccessMode()\r
543   {\r
544     return null;\r
545   }\r
546 \r
547   /**\r
548    * Method getIdentity.\r
549    * \r
550    * @return the identity field, null if this class has no identity.\r
551    */\r
552   public org.exolab.castor.mapping.FieldDescriptor getIdentity()\r
553   {\r
554     return super.getIdentity();\r
555   }\r
556 \r
557   /**\r
558    * Method getJavaClass.\r
559    * \r
560    * @return the Java class represented by this descriptor.\r
561    */\r
562   public java.lang.Class getJavaClass()\r
563   {\r
564     return jalview.schemabinding.version2.Colour.class;\r
565   }\r
566 \r
567   /**\r
568    * Method getNameSpacePrefix.\r
569    * \r
570    * @return the namespace prefix to use when marshaling as XML.\r
571    */\r
572   public java.lang.String getNameSpacePrefix()\r
573   {\r
574     return _nsPrefix;\r
575   }\r
576 \r
577   /**\r
578    * Method getNameSpaceURI.\r
579    * \r
580    * @return the namespace URI used when marshaling and unmarshaling as XML.\r
581    */\r
582   public java.lang.String getNameSpaceURI()\r
583   {\r
584     return _nsURI;\r
585   }\r
586 \r
587   /**\r
588    * Method getValidator.\r
589    * \r
590    * @return a specific validator for the class described by this\r
591    *         ClassDescriptor.\r
592    */\r
593   public org.exolab.castor.xml.TypeValidator getValidator()\r
594   {\r
595     return this;\r
596   }\r
597 \r
598   /**\r
599    * Method getXMLName.\r
600    * \r
601    * @return the XML Name for the Class being described.\r
602    */\r
603   public java.lang.String getXMLName()\r
604   {\r
605     return _xmlName;\r
606   }\r
607 \r
608   /**\r
609    * Method isElementDefinition.\r
610    * \r
611    * @return true if XML schema definition of this Class is that of a global\r
612    *         element or element with anonymous type definition.\r
613    */\r
614   public boolean isElementDefinition()\r
615   {\r
616     return _elementDefinition;\r
617   }\r
618 \r
619 }\r