2d17aeeabbcee1815b787b2722c6b9a5d4d7fe32
[jalview.git] / src / jalview / schemabinding / version2 / descriptors / JalviewModelDescriptor.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.JalviewModel;\r
26 \r
27 /**\r
28  * Class JalviewModelDescriptor.\r
29  * \r
30  * @version $Revision$ $Date$\r
31  */\r
32 public class JalviewModelDescriptor 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 JalviewModelDescriptor()\r
65   {\r
66     super();\r
67     _nsURI = "www.jalview.org";\r
68     _xmlName = "JalviewModel";\r
69     _elementDefinition = false;\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     // -- initialize element descriptors\r
79 \r
80     // -- _creationDate\r
81     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
82             java.util.Date.class, "_creationDate", "creationDate",\r
83             org.exolab.castor.xml.NodeType.Element);\r
84     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
85     {\r
86       public java.lang.Object getValue(java.lang.Object object)\r
87               throws IllegalStateException\r
88       {\r
89         JalviewModel target = (JalviewModel) object;\r
90         return target.getCreationDate();\r
91       }\r
92 \r
93       public void setValue(java.lang.Object object, java.lang.Object value)\r
94               throws IllegalStateException, IllegalArgumentException\r
95       {\r
96         try\r
97         {\r
98           JalviewModel target = (JalviewModel) object;\r
99           target.setCreationDate((java.util.Date) value);\r
100         } catch (java.lang.Exception ex)\r
101         {\r
102           throw new IllegalStateException(ex.toString());\r
103         }\r
104       }\r
105 \r
106       public java.lang.Object newInstance(java.lang.Object parent)\r
107       {\r
108         return new java.util.Date();\r
109       }\r
110     };\r
111     handler = new org.exolab.castor.xml.handlers.DateFieldHandler(handler);\r
112     desc.setImmutable(true);\r
113     desc.setHandler(handler);\r
114     desc.setNameSpaceURI("www.jalview.org");\r
115     desc.setRequired(true);\r
116     desc.setMultivalued(false);\r
117     addFieldDescriptor(desc);\r
118 \r
119     // -- validation code for: _creationDate\r
120     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
121     fieldValidator.setMinOccurs(1);\r
122     { // -- local scope\r
123       org.exolab.castor.xml.validators.DateTimeValidator typeValidator;\r
124       typeValidator = new org.exolab.castor.xml.validators.DateTimeValidator();\r
125       fieldValidator.setValidator(typeValidator);\r
126     }\r
127     desc.setValidator(fieldValidator);\r
128     // -- _version\r
129     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
130             java.lang.String.class, "_version", "version",\r
131             org.exolab.castor.xml.NodeType.Element);\r
132     desc.setImmutable(true);\r
133     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
134     {\r
135       public java.lang.Object getValue(java.lang.Object object)\r
136               throws IllegalStateException\r
137       {\r
138         JalviewModel target = (JalviewModel) object;\r
139         return target.getVersion();\r
140       }\r
141 \r
142       public void setValue(java.lang.Object object, java.lang.Object value)\r
143               throws IllegalStateException, IllegalArgumentException\r
144       {\r
145         try\r
146         {\r
147           JalviewModel target = (JalviewModel) object;\r
148           target.setVersion((java.lang.String) value);\r
149         } catch (java.lang.Exception ex)\r
150         {\r
151           throw new IllegalStateException(ex.toString());\r
152         }\r
153       }\r
154 \r
155       public java.lang.Object newInstance(java.lang.Object parent)\r
156       {\r
157         return null;\r
158       }\r
159     };\r
160     desc.setHandler(handler);\r
161     desc.setNameSpaceURI("www.jalview.org");\r
162     desc.setRequired(true);\r
163     desc.setMultivalued(false);\r
164     addFieldDescriptor(desc);\r
165 \r
166     // -- validation code for: _version\r
167     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
168     fieldValidator.setMinOccurs(1);\r
169     { // -- local scope\r
170       org.exolab.castor.xml.validators.StringValidator typeValidator;\r
171       typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
172       fieldValidator.setValidator(typeValidator);\r
173       typeValidator.setWhiteSpace("preserve");\r
174     }\r
175     desc.setValidator(fieldValidator);\r
176     // -- _vamsasModel\r
177     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
178             jalview.schemabinding.version2.VamsasModel.class,\r
179             "_vamsasModel", "vamsasModel",\r
180             org.exolab.castor.xml.NodeType.Element);\r
181     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
182     {\r
183       public java.lang.Object getValue(java.lang.Object object)\r
184               throws IllegalStateException\r
185       {\r
186         JalviewModel target = (JalviewModel) object;\r
187         return target.getVamsasModel();\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           JalviewModel target = (JalviewModel) object;\r
196           target\r
197                   .setVamsasModel((jalview.schemabinding.version2.VamsasModel) value);\r
198         } catch (java.lang.Exception ex)\r
199         {\r
200           throw new IllegalStateException(ex.toString());\r
201         }\r
202       }\r
203 \r
204       public java.lang.Object newInstance(java.lang.Object parent)\r
205       {\r
206         return new jalview.schemabinding.version2.VamsasModel();\r
207       }\r
208     };\r
209     desc.setHandler(handler);\r
210     desc.setNameSpaceURI("www.jalview.org");\r
211     desc.setRequired(true);\r
212     desc.setMultivalued(false);\r
213     addFieldDescriptor(desc);\r
214 \r
215     // -- validation code for: _vamsasModel\r
216     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
217     fieldValidator.setMinOccurs(1);\r
218     { // -- local scope\r
219     }\r
220     desc.setValidator(fieldValidator);\r
221     // -- _jalviewModelSequence\r
222     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
223             jalview.schemabinding.version2.JalviewModelSequence.class,\r
224             "_jalviewModelSequence", "-error-if-this-is-used-",\r
225             org.exolab.castor.xml.NodeType.Element);\r
226     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
227     {\r
228       public java.lang.Object getValue(java.lang.Object object)\r
229               throws IllegalStateException\r
230       {\r
231         JalviewModel target = (JalviewModel) object;\r
232         return target.getJalviewModelSequence();\r
233       }\r
234 \r
235       public void setValue(java.lang.Object object, java.lang.Object value)\r
236               throws IllegalStateException, IllegalArgumentException\r
237       {\r
238         try\r
239         {\r
240           JalviewModel target = (JalviewModel) object;\r
241           target\r
242                   .setJalviewModelSequence((jalview.schemabinding.version2.JalviewModelSequence) value);\r
243         } catch (java.lang.Exception ex)\r
244         {\r
245           throw new IllegalStateException(ex.toString());\r
246         }\r
247       }\r
248 \r
249       public java.lang.Object newInstance(java.lang.Object parent)\r
250       {\r
251         return new jalview.schemabinding.version2.JalviewModelSequence();\r
252       }\r
253     };\r
254     desc.setHandler(handler);\r
255     desc.setContainer(true);\r
256     desc\r
257             .setClassDescriptor(new jalview.schemabinding.version2.descriptors.JalviewModelSequenceDescriptor());\r
258     desc.setNameSpaceURI("www.jalview.org");\r
259     desc.setRequired(true);\r
260     desc.setMultivalued(false);\r
261     addFieldDescriptor(desc);\r
262 \r
263     // -- validation code for: _jalviewModelSequence\r
264     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
265     fieldValidator.setMinOccurs(1);\r
266     { // -- local scope\r
267     }\r
268     desc.setValidator(fieldValidator);\r
269   }\r
270 \r
271   // -----------/\r
272   // - Methods -/\r
273   // -----------/\r
274 \r
275   /**\r
276    * Method getAccessMode.\r
277    * \r
278    * @return the access mode specified for this class.\r
279    */\r
280   public org.exolab.castor.mapping.AccessMode getAccessMode()\r
281   {\r
282     return null;\r
283   }\r
284 \r
285   /**\r
286    * Method getIdentity.\r
287    * \r
288    * @return the identity field, null if this class has no identity.\r
289    */\r
290   public org.exolab.castor.mapping.FieldDescriptor getIdentity()\r
291   {\r
292     return super.getIdentity();\r
293   }\r
294 \r
295   /**\r
296    * Method getJavaClass.\r
297    * \r
298    * @return the Java class represented by this descriptor.\r
299    */\r
300   public java.lang.Class getJavaClass()\r
301   {\r
302     return jalview.schemabinding.version2.JalviewModel.class;\r
303   }\r
304 \r
305   /**\r
306    * Method getNameSpacePrefix.\r
307    * \r
308    * @return the namespace prefix to use when marshaling as XML.\r
309    */\r
310   public java.lang.String getNameSpacePrefix()\r
311   {\r
312     return _nsPrefix;\r
313   }\r
314 \r
315   /**\r
316    * Method getNameSpaceURI.\r
317    * \r
318    * @return the namespace URI used when marshaling and unmarshaling as XML.\r
319    */\r
320   public java.lang.String getNameSpaceURI()\r
321   {\r
322     return _nsURI;\r
323   }\r
324 \r
325   /**\r
326    * Method getValidator.\r
327    * \r
328    * @return a specific validator for the class described by this\r
329    *         ClassDescriptor.\r
330    */\r
331   public org.exolab.castor.xml.TypeValidator getValidator()\r
332   {\r
333     return this;\r
334   }\r
335 \r
336   /**\r
337    * Method getXMLName.\r
338    * \r
339    * @return the XML Name for the Class being described.\r
340    */\r
341   public java.lang.String getXMLName()\r
342   {\r
343     return _xmlName;\r
344   }\r
345 \r
346   /**\r
347    * Method isElementDefinition.\r
348    * \r
349    * @return true if XML schema definition of this Class is that of a global\r
350    *         element or element with anonymous type definition.\r
351    */\r
352   public boolean isElementDefinition()\r
353   {\r
354     return _elementDefinition;\r
355   }\r
356 \r
357 }\r