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