merge from 2_4_Release branch
[jalview.git] / src / jalview / schemabinding / version2 / descriptors / StructureStateDescriptor.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.StructureState;\r
26 \r
27 /**\r
28  * Class StructureStateDescriptor.\r
29  * \r
30  * @version $Revision$ $Date$\r
31  */\r
32 public class StructureStateDescriptor 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 StructureStateDescriptor()\r
65   {\r
66     super();\r
67     _nsURI = "www.jalview.org";\r
68     _xmlName = "structureState";\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     // -- _content\r
74     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
75             java.lang.String.class, "_content", "PCDATA",\r
76             org.exolab.castor.xml.NodeType.Text);\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         StructureState target = (StructureState) object;\r
84         return target.getContent();\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           StructureState target = (StructureState) object;\r
93           target.setContent((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     addFieldDescriptor(desc);\r
107 \r
108     // -- validation code for: _content\r
109     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
110     { // -- local scope\r
111       org.exolab.castor.xml.validators.StringValidator typeValidator;\r
112       typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
113       fieldValidator.setValidator(typeValidator);\r
114       typeValidator.setWhiteSpace("preserve");\r
115     }\r
116     desc.setValidator(fieldValidator);\r
117     // -- initialize attribute descriptors\r
118 \r
119     // -- _visible\r
120     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
121             java.lang.Boolean.TYPE, "_visible", "visible",\r
122             org.exolab.castor.xml.NodeType.Attribute);\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         StructureState target = (StructureState) object;\r
129         if (!target.hasVisible())\r
130         {\r
131           return null;\r
132         }\r
133         return (target.getVisible() ? java.lang.Boolean.TRUE\r
134                 : java.lang.Boolean.FALSE);\r
135       }\r
136 \r
137       public void setValue(java.lang.Object object, java.lang.Object value)\r
138               throws IllegalStateException, IllegalArgumentException\r
139       {\r
140         try\r
141         {\r
142           StructureState target = (StructureState) object;\r
143           // if null, use delete method for optional primitives\r
144           if (value == null)\r
145           {\r
146             target.deleteVisible();\r
147             return;\r
148           }\r
149           target.setVisible(((java.lang.Boolean) value).booleanValue());\r
150         } catch (java.lang.Exception ex)\r
151         {\r
152           throw new IllegalStateException(ex.toString());\r
153         }\r
154       }\r
155 \r
156       public java.lang.Object newInstance(java.lang.Object parent)\r
157       {\r
158         return null;\r
159       }\r
160     };\r
161     desc.setHandler(handler);\r
162     desc.setMultivalued(false);\r
163     addFieldDescriptor(desc);\r
164 \r
165     // -- validation code for: _visible\r
166     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
167     { // -- local scope\r
168       org.exolab.castor.xml.validators.BooleanValidator typeValidator;\r
169       typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();\r
170       fieldValidator.setValidator(typeValidator);\r
171     }\r
172     desc.setValidator(fieldValidator);\r
173     // -- _xpos\r
174     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
175             java.lang.Integer.TYPE, "_xpos", "xpos",\r
176             org.exolab.castor.xml.NodeType.Attribute);\r
177     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
178     {\r
179       public java.lang.Object getValue(java.lang.Object object)\r
180               throws IllegalStateException\r
181       {\r
182         StructureState target = (StructureState) object;\r
183         if (!target.hasXpos())\r
184         {\r
185           return null;\r
186         }\r
187         return new java.lang.Integer(target.getXpos());\r
188       }\r
189 \r
190       public void setValue(java.lang.Object object, java.lang.Object value)\r
191               throws IllegalStateException, IllegalArgumentException\r
192       {\r
193         try\r
194         {\r
195           StructureState target = (StructureState) object;\r
196           // if null, use delete method for optional primitives\r
197           if (value == null)\r
198           {\r
199             target.deleteXpos();\r
200             return;\r
201           }\r
202           target.setXpos(((java.lang.Integer) value).intValue());\r
203         } catch (java.lang.Exception ex)\r
204         {\r
205           throw new IllegalStateException(ex.toString());\r
206         }\r
207       }\r
208 \r
209       public java.lang.Object newInstance(java.lang.Object parent)\r
210       {\r
211         return null;\r
212       }\r
213     };\r
214     desc.setHandler(handler);\r
215     desc.setMultivalued(false);\r
216     addFieldDescriptor(desc);\r
217 \r
218     // -- validation code for: _xpos\r
219     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
220     { // -- local scope\r
221       org.exolab.castor.xml.validators.IntValidator typeValidator;\r
222       typeValidator = new org.exolab.castor.xml.validators.IntValidator();\r
223       fieldValidator.setValidator(typeValidator);\r
224       typeValidator.setMinInclusive(-2147483648);\r
225       typeValidator.setMaxInclusive(2147483647);\r
226     }\r
227     desc.setValidator(fieldValidator);\r
228     // -- _ypos\r
229     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
230             java.lang.Integer.TYPE, "_ypos", "ypos",\r
231             org.exolab.castor.xml.NodeType.Attribute);\r
232     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
233     {\r
234       public java.lang.Object getValue(java.lang.Object object)\r
235               throws IllegalStateException\r
236       {\r
237         StructureState target = (StructureState) object;\r
238         if (!target.hasYpos())\r
239         {\r
240           return null;\r
241         }\r
242         return new java.lang.Integer(target.getYpos());\r
243       }\r
244 \r
245       public void setValue(java.lang.Object object, java.lang.Object value)\r
246               throws IllegalStateException, IllegalArgumentException\r
247       {\r
248         try\r
249         {\r
250           StructureState target = (StructureState) object;\r
251           // if null, use delete method for optional primitives\r
252           if (value == null)\r
253           {\r
254             target.deleteYpos();\r
255             return;\r
256           }\r
257           target.setYpos(((java.lang.Integer) value).intValue());\r
258         } catch (java.lang.Exception ex)\r
259         {\r
260           throw new IllegalStateException(ex.toString());\r
261         }\r
262       }\r
263 \r
264       public java.lang.Object newInstance(java.lang.Object parent)\r
265       {\r
266         return null;\r
267       }\r
268     };\r
269     desc.setHandler(handler);\r
270     desc.setMultivalued(false);\r
271     addFieldDescriptor(desc);\r
272 \r
273     // -- validation code for: _ypos\r
274     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
275     { // -- local scope\r
276       org.exolab.castor.xml.validators.IntValidator typeValidator;\r
277       typeValidator = new org.exolab.castor.xml.validators.IntValidator();\r
278       fieldValidator.setValidator(typeValidator);\r
279       typeValidator.setMinInclusive(-2147483648);\r
280       typeValidator.setMaxInclusive(2147483647);\r
281     }\r
282     desc.setValidator(fieldValidator);\r
283     // -- _width\r
284     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
285             java.lang.Integer.TYPE, "_width", "width",\r
286             org.exolab.castor.xml.NodeType.Attribute);\r
287     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
288     {\r
289       public java.lang.Object getValue(java.lang.Object object)\r
290               throws IllegalStateException\r
291       {\r
292         StructureState target = (StructureState) object;\r
293         if (!target.hasWidth())\r
294         {\r
295           return null;\r
296         }\r
297         return new java.lang.Integer(target.getWidth());\r
298       }\r
299 \r
300       public void setValue(java.lang.Object object, java.lang.Object value)\r
301               throws IllegalStateException, IllegalArgumentException\r
302       {\r
303         try\r
304         {\r
305           StructureState target = (StructureState) object;\r
306           // if null, use delete method for optional primitives\r
307           if (value == null)\r
308           {\r
309             target.deleteWidth();\r
310             return;\r
311           }\r
312           target.setWidth(((java.lang.Integer) value).intValue());\r
313         } catch (java.lang.Exception ex)\r
314         {\r
315           throw new IllegalStateException(ex.toString());\r
316         }\r
317       }\r
318 \r
319       public java.lang.Object newInstance(java.lang.Object parent)\r
320       {\r
321         return null;\r
322       }\r
323     };\r
324     desc.setHandler(handler);\r
325     desc.setMultivalued(false);\r
326     addFieldDescriptor(desc);\r
327 \r
328     // -- validation code for: _width\r
329     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
330     { // -- local scope\r
331       org.exolab.castor.xml.validators.IntValidator typeValidator;\r
332       typeValidator = new org.exolab.castor.xml.validators.IntValidator();\r
333       fieldValidator.setValidator(typeValidator);\r
334       typeValidator.setMinInclusive(-2147483648);\r
335       typeValidator.setMaxInclusive(2147483647);\r
336     }\r
337     desc.setValidator(fieldValidator);\r
338     // -- _height\r
339     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
340             java.lang.Integer.TYPE, "_height", "height",\r
341             org.exolab.castor.xml.NodeType.Attribute);\r
342     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
343     {\r
344       public java.lang.Object getValue(java.lang.Object object)\r
345               throws IllegalStateException\r
346       {\r
347         StructureState target = (StructureState) object;\r
348         if (!target.hasHeight())\r
349         {\r
350           return null;\r
351         }\r
352         return new java.lang.Integer(target.getHeight());\r
353       }\r
354 \r
355       public void setValue(java.lang.Object object, java.lang.Object value)\r
356               throws IllegalStateException, IllegalArgumentException\r
357       {\r
358         try\r
359         {\r
360           StructureState target = (StructureState) object;\r
361           // if null, use delete method for optional primitives\r
362           if (value == null)\r
363           {\r
364             target.deleteHeight();\r
365             return;\r
366           }\r
367           target.setHeight(((java.lang.Integer) value).intValue());\r
368         } catch (java.lang.Exception ex)\r
369         {\r
370           throw new IllegalStateException(ex.toString());\r
371         }\r
372       }\r
373 \r
374       public java.lang.Object newInstance(java.lang.Object parent)\r
375       {\r
376         return null;\r
377       }\r
378     };\r
379     desc.setHandler(handler);\r
380     desc.setMultivalued(false);\r
381     addFieldDescriptor(desc);\r
382 \r
383     // -- validation code for: _height\r
384     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
385     { // -- local scope\r
386       org.exolab.castor.xml.validators.IntValidator typeValidator;\r
387       typeValidator = new org.exolab.castor.xml.validators.IntValidator();\r
388       fieldValidator.setValidator(typeValidator);\r
389       typeValidator.setMinInclusive(-2147483648);\r
390       typeValidator.setMaxInclusive(2147483647);\r
391     }\r
392     desc.setValidator(fieldValidator);\r
393     // -- initialize element descriptors\r
394 \r
395   }\r
396 \r
397   // -----------/\r
398   // - Methods -/\r
399   // -----------/\r
400 \r
401   /**\r
402    * Method getAccessMode.\r
403    * \r
404    * @return the access mode specified for this class.\r
405    */\r
406   public org.exolab.castor.mapping.AccessMode getAccessMode()\r
407   {\r
408     return null;\r
409   }\r
410 \r
411   /**\r
412    * Method getIdentity.\r
413    * \r
414    * @return the identity field, null if this class has no identity.\r
415    */\r
416   public org.exolab.castor.mapping.FieldDescriptor getIdentity()\r
417   {\r
418     return super.getIdentity();\r
419   }\r
420 \r
421   /**\r
422    * Method getJavaClass.\r
423    * \r
424    * @return the Java class represented by this descriptor.\r
425    */\r
426   public java.lang.Class getJavaClass()\r
427   {\r
428     return jalview.schemabinding.version2.StructureState.class;\r
429   }\r
430 \r
431   /**\r
432    * Method getNameSpacePrefix.\r
433    * \r
434    * @return the namespace prefix to use when marshaling as XML.\r
435    */\r
436   public java.lang.String getNameSpacePrefix()\r
437   {\r
438     return _nsPrefix;\r
439   }\r
440 \r
441   /**\r
442    * Method getNameSpaceURI.\r
443    * \r
444    * @return the namespace URI used when marshaling and unmarshaling as XML.\r
445    */\r
446   public java.lang.String getNameSpaceURI()\r
447   {\r
448     return _nsURI;\r
449   }\r
450 \r
451   /**\r
452    * Method getValidator.\r
453    * \r
454    * @return a specific validator for the class described by this\r
455    *         ClassDescriptor.\r
456    */\r
457   public org.exolab.castor.xml.TypeValidator getValidator()\r
458   {\r
459     return this;\r
460   }\r
461 \r
462   /**\r
463    * Method getXMLName.\r
464    * \r
465    * @return the XML Name for the Class being described.\r
466    */\r
467   public java.lang.String getXMLName()\r
468   {\r
469     return _xmlName;\r
470   }\r
471 \r
472   /**\r
473    * Method isElementDefinition.\r
474    * \r
475    * @return true if XML schema definition of this Class is that of a global\r
476    *         element or element with anonymous type definition.\r
477    */\r
478   public boolean isElementDefinition()\r
479   {\r
480     return _elementDefinition;\r
481   }\r
482 \r
483 }\r