extended Colour element with additional optional attributes for graduated colour
[jalview.git] / src / jalview / schemabinding / version2 / descriptors / AnnotationColoursDescriptor.java
1 /*\r
2  * Jalview - A Sequence Alignment Editor and Viewer (Version 2.4.1)\r
3  * Copyright (C) 2009 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.AnnotationColours;\r
26 \r
27 /**\r
28  * Class AnnotationColoursDescriptor.\r
29  * \r
30  * @version $Revision$ $Date$\r
31  */\r
32 public class AnnotationColoursDescriptor extends 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       //----------------/\r
61      //- Constructors -/\r
62     //----------------/\r
63 \r
64     public AnnotationColoursDescriptor() {\r
65         super();\r
66         _nsURI = "www.jalview.org";\r
67         _xmlName = "AnnotationColours";\r
68         _elementDefinition = true;\r
69         org.exolab.castor.xml.util.XMLFieldDescriptorImpl  desc           = null;\r
70         org.exolab.castor.mapping.FieldHandler             handler        = null;\r
71         org.exolab.castor.xml.FieldValidator               fieldValidator = null;\r
72         //-- initialize attribute descriptors\r
73         \r
74         //-- _aboveThreshold\r
75         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Integer.TYPE, "_aboveThreshold", "aboveThreshold", org.exolab.castor.xml.NodeType.Attribute);\r
76         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
77             public java.lang.Object getValue( java.lang.Object object ) \r
78                 throws IllegalStateException\r
79             {\r
80                 AnnotationColours target = (AnnotationColours) object;\r
81                 if (!target.hasAboveThreshold()) { return null; }\r
82                 return new java.lang.Integer(target.getAboveThreshold());\r
83             }\r
84             public void setValue( java.lang.Object object, java.lang.Object value) \r
85                 throws IllegalStateException, IllegalArgumentException\r
86             {\r
87                 try {\r
88                     AnnotationColours target = (AnnotationColours) object;\r
89                     // if null, use delete method for optional primitives \r
90                     if (value == null) {\r
91                         target.deleteAboveThreshold();\r
92                         return;\r
93                     }\r
94                     target.setAboveThreshold( ((java.lang.Integer) value).intValue());\r
95                 } catch (java.lang.Exception ex) {\r
96                     throw new IllegalStateException(ex.toString());\r
97                 }\r
98             }\r
99             public java.lang.Object newInstance(java.lang.Object parent) {\r
100                 return null;\r
101             }\r
102         };\r
103         desc.setHandler(handler);\r
104         desc.setMultivalued(false);\r
105         addFieldDescriptor(desc);\r
106         \r
107         //-- validation code for: _aboveThreshold\r
108         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
109         { //-- local scope\r
110             org.exolab.castor.xml.validators.IntValidator typeValidator;\r
111             typeValidator = new org.exolab.castor.xml.validators.IntValidator();\r
112             fieldValidator.setValidator(typeValidator);\r
113             typeValidator.setMinInclusive(-2147483648);\r
114             typeValidator.setMaxInclusive(2147483647);\r
115         }\r
116         desc.setValidator(fieldValidator);\r
117         //-- _annotation\r
118         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_annotation", "annotation", org.exolab.castor.xml.NodeType.Attribute);\r
119         desc.setImmutable(true);\r
120         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
121             public java.lang.Object getValue( java.lang.Object object ) \r
122                 throws IllegalStateException\r
123             {\r
124                 AnnotationColours target = (AnnotationColours) object;\r
125                 return target.getAnnotation();\r
126             }\r
127             public void setValue( java.lang.Object object, java.lang.Object value) \r
128                 throws IllegalStateException, IllegalArgumentException\r
129             {\r
130                 try {\r
131                     AnnotationColours target = (AnnotationColours) object;\r
132                     target.setAnnotation( (java.lang.String) value);\r
133                 } catch (java.lang.Exception ex) {\r
134                     throw new IllegalStateException(ex.toString());\r
135                 }\r
136             }\r
137             public java.lang.Object newInstance(java.lang.Object parent) {\r
138                 return null;\r
139             }\r
140         };\r
141         desc.setHandler(handler);\r
142         desc.setMultivalued(false);\r
143         addFieldDescriptor(desc);\r
144         \r
145         //-- validation code for: _annotation\r
146         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
147         { //-- local scope\r
148             org.exolab.castor.xml.validators.StringValidator typeValidator;\r
149             typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
150             fieldValidator.setValidator(typeValidator);\r
151             typeValidator.setWhiteSpace("preserve");\r
152         }\r
153         desc.setValidator(fieldValidator);\r
154         //-- _minColour\r
155         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Integer.TYPE, "_minColour", "minColour", org.exolab.castor.xml.NodeType.Attribute);\r
156         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
157             public java.lang.Object getValue( java.lang.Object object ) \r
158                 throws IllegalStateException\r
159             {\r
160                 AnnotationColours target = (AnnotationColours) object;\r
161                 if (!target.hasMinColour()) { return null; }\r
162                 return new java.lang.Integer(target.getMinColour());\r
163             }\r
164             public void setValue( java.lang.Object object, java.lang.Object value) \r
165                 throws IllegalStateException, IllegalArgumentException\r
166             {\r
167                 try {\r
168                     AnnotationColours target = (AnnotationColours) object;\r
169                     // if null, use delete method for optional primitives \r
170                     if (value == null) {\r
171                         target.deleteMinColour();\r
172                         return;\r
173                     }\r
174                     target.setMinColour( ((java.lang.Integer) value).intValue());\r
175                 } catch (java.lang.Exception ex) {\r
176                     throw new IllegalStateException(ex.toString());\r
177                 }\r
178             }\r
179             public java.lang.Object newInstance(java.lang.Object parent) {\r
180                 return null;\r
181             }\r
182         };\r
183         desc.setHandler(handler);\r
184         desc.setMultivalued(false);\r
185         addFieldDescriptor(desc);\r
186         \r
187         //-- validation code for: _minColour\r
188         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
189         { //-- local scope\r
190             org.exolab.castor.xml.validators.IntValidator typeValidator;\r
191             typeValidator = new org.exolab.castor.xml.validators.IntValidator();\r
192             fieldValidator.setValidator(typeValidator);\r
193             typeValidator.setMinInclusive(-2147483648);\r
194             typeValidator.setMaxInclusive(2147483647);\r
195         }\r
196         desc.setValidator(fieldValidator);\r
197         //-- _maxColour\r
198         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Integer.TYPE, "_maxColour", "maxColour", org.exolab.castor.xml.NodeType.Attribute);\r
199         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
200             public java.lang.Object getValue( java.lang.Object object ) \r
201                 throws IllegalStateException\r
202             {\r
203                 AnnotationColours target = (AnnotationColours) object;\r
204                 if (!target.hasMaxColour()) { return null; }\r
205                 return new java.lang.Integer(target.getMaxColour());\r
206             }\r
207             public void setValue( java.lang.Object object, java.lang.Object value) \r
208                 throws IllegalStateException, IllegalArgumentException\r
209             {\r
210                 try {\r
211                     AnnotationColours target = (AnnotationColours) object;\r
212                     // if null, use delete method for optional primitives \r
213                     if (value == null) {\r
214                         target.deleteMaxColour();\r
215                         return;\r
216                     }\r
217                     target.setMaxColour( ((java.lang.Integer) value).intValue());\r
218                 } catch (java.lang.Exception ex) {\r
219                     throw new IllegalStateException(ex.toString());\r
220                 }\r
221             }\r
222             public java.lang.Object newInstance(java.lang.Object parent) {\r
223                 return null;\r
224             }\r
225         };\r
226         desc.setHandler(handler);\r
227         desc.setMultivalued(false);\r
228         addFieldDescriptor(desc);\r
229         \r
230         //-- validation code for: _maxColour\r
231         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
232         { //-- local scope\r
233             org.exolab.castor.xml.validators.IntValidator typeValidator;\r
234             typeValidator = new org.exolab.castor.xml.validators.IntValidator();\r
235             fieldValidator.setValidator(typeValidator);\r
236             typeValidator.setMinInclusive(-2147483648);\r
237             typeValidator.setMaxInclusive(2147483647);\r
238         }\r
239         desc.setValidator(fieldValidator);\r
240         //-- _colourScheme\r
241         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_colourScheme", "colourScheme", org.exolab.castor.xml.NodeType.Attribute);\r
242         desc.setImmutable(true);\r
243         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
244             public java.lang.Object getValue( java.lang.Object object ) \r
245                 throws IllegalStateException\r
246             {\r
247                 AnnotationColours target = (AnnotationColours) object;\r
248                 return target.getColourScheme();\r
249             }\r
250             public void setValue( java.lang.Object object, java.lang.Object value) \r
251                 throws IllegalStateException, IllegalArgumentException\r
252             {\r
253                 try {\r
254                     AnnotationColours target = (AnnotationColours) object;\r
255                     target.setColourScheme( (java.lang.String) value);\r
256                 } catch (java.lang.Exception ex) {\r
257                     throw new IllegalStateException(ex.toString());\r
258                 }\r
259             }\r
260             public java.lang.Object newInstance(java.lang.Object parent) {\r
261                 return null;\r
262             }\r
263         };\r
264         desc.setHandler(handler);\r
265         desc.setMultivalued(false);\r
266         addFieldDescriptor(desc);\r
267         \r
268         //-- validation code for: _colourScheme\r
269         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
270         { //-- local scope\r
271             org.exolab.castor.xml.validators.StringValidator typeValidator;\r
272             typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
273             fieldValidator.setValidator(typeValidator);\r
274             typeValidator.setWhiteSpace("preserve");\r
275         }\r
276         desc.setValidator(fieldValidator);\r
277         //-- _threshold\r
278         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Float.TYPE, "_threshold", "threshold", org.exolab.castor.xml.NodeType.Attribute);\r
279         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
280             public java.lang.Object getValue( java.lang.Object object ) \r
281                 throws IllegalStateException\r
282             {\r
283                 AnnotationColours target = (AnnotationColours) object;\r
284                 if (!target.hasThreshold()) { return null; }\r
285                 return new java.lang.Float(target.getThreshold());\r
286             }\r
287             public void setValue( java.lang.Object object, java.lang.Object value) \r
288                 throws IllegalStateException, IllegalArgumentException\r
289             {\r
290                 try {\r
291                     AnnotationColours target = (AnnotationColours) object;\r
292                     // if null, use delete method for optional primitives \r
293                     if (value == null) {\r
294                         target.deleteThreshold();\r
295                         return;\r
296                     }\r
297                     target.setThreshold( ((java.lang.Float) value).floatValue());\r
298                 } catch (java.lang.Exception ex) {\r
299                     throw new IllegalStateException(ex.toString());\r
300                 }\r
301             }\r
302             public java.lang.Object newInstance(java.lang.Object parent) {\r
303                 return null;\r
304             }\r
305         };\r
306         desc.setHandler(handler);\r
307         desc.setMultivalued(false);\r
308         addFieldDescriptor(desc);\r
309         \r
310         //-- validation code for: _threshold\r
311         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
312         { //-- local scope\r
313             org.exolab.castor.xml.validators.FloatValidator typeValidator;\r
314             typeValidator = new org.exolab.castor.xml.validators.FloatValidator();\r
315             fieldValidator.setValidator(typeValidator);\r
316             typeValidator.setMinInclusive((float) -3.4028235E38);\r
317             typeValidator.setMaxInclusive((float) 3.4028235E38);\r
318         }\r
319         desc.setValidator(fieldValidator);\r
320         //-- initialize element descriptors\r
321         \r
322     }\r
323 \r
324 \r
325       //-----------/\r
326      //- Methods -/\r
327     //-----------/\r
328 \r
329     /**\r
330      * Method getAccessMode.\r
331      * \r
332      * @return the access mode specified for this class.\r
333      */\r
334     public org.exolab.castor.mapping.AccessMode getAccessMode(\r
335     ) {\r
336         return null;\r
337     }\r
338 \r
339     /**\r
340      * Method getIdentity.\r
341      * \r
342      * @return the identity field, null if this class has no\r
343      * identity.\r
344      */\r
345     public org.exolab.castor.mapping.FieldDescriptor getIdentity(\r
346     ) {\r
347         return super.getIdentity();\r
348     }\r
349 \r
350     /**\r
351      * Method getJavaClass.\r
352      * \r
353      * @return the Java class represented by this descriptor.\r
354      */\r
355     public java.lang.Class getJavaClass(\r
356     ) {\r
357         return jalview.schemabinding.version2.AnnotationColours.class;\r
358     }\r
359 \r
360     /**\r
361      * Method getNameSpacePrefix.\r
362      * \r
363      * @return the namespace prefix to use when marshaling as XML.\r
364      */\r
365     public java.lang.String getNameSpacePrefix(\r
366     ) {\r
367         return _nsPrefix;\r
368     }\r
369 \r
370     /**\r
371      * Method getNameSpaceURI.\r
372      * \r
373      * @return the namespace URI used when marshaling and\r
374      * unmarshaling as XML.\r
375      */\r
376     public java.lang.String getNameSpaceURI(\r
377     ) {\r
378         return _nsURI;\r
379     }\r
380 \r
381     /**\r
382      * Method getValidator.\r
383      * \r
384      * @return a specific validator for the class described by this\r
385      * ClassDescriptor.\r
386      */\r
387     public org.exolab.castor.xml.TypeValidator getValidator(\r
388     ) {\r
389         return this;\r
390     }\r
391 \r
392     /**\r
393      * Method getXMLName.\r
394      * \r
395      * @return the XML Name for the Class being described.\r
396      */\r
397     public java.lang.String getXMLName(\r
398     ) {\r
399         return _xmlName;\r
400     }\r
401 \r
402     /**\r
403      * Method isElementDefinition.\r
404      * \r
405      * @return true if XML schema definition of this Class is that\r
406      * of a global\r
407      * element or element with anonymous type definition.\r
408      */\r
409     public boolean isElementDefinition(\r
410     ) {\r
411         return _elementDefinition;\r
412     }\r
413 \r
414 }\r