applied LGPLv3 and source code formatting.
[vamsas.git] / src / uk / ac / vamsas / objects / core / descriptors / EntryDescriptor.java
1 /*\r
2  * This file is part of the Vamsas Client version 0.1. \r
3  * Copyright 2009 by Jim Procter, Iain Milne, Pierre Marguerite, \r
4  *  Andrew Waterhouse and Dominik Lindner.\r
5  * \r
6  * Earlier versions have also been incorporated into Jalview version 2.4 \r
7  * since 2008, and TOPALi version 2 since 2007.\r
8  * \r
9  * The Vamsas Client is free software: you can redistribute it and/or modify\r
10  * it under the terms of the GNU Lesser General Public License as published by\r
11  * the Free Software Foundation, either version 3 of the License, or\r
12  * (at your option) any later version.\r
13  *  \r
14  * The Vamsas Client is distributed in the hope that it will be useful,\r
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
17  * GNU Lesser General Public License for more details.\r
18  * \r
19  * You should have received a copy of the GNU Lesser General Public License\r
20  * along with the Vamsas Client.  If not, see <http://www.gnu.org/licenses/>.\r
21  */\r
22 package uk.ac.vamsas.objects.core.descriptors;\r
23 \r
24 //---------------------------------/\r
25 //- Imported classes and packages -/\r
26 //---------------------------------/\r
27 \r
28 import uk.ac.vamsas.objects.core.Entry;\r
29 \r
30 /**\r
31  * Class EntryDescriptor.\r
32  * \r
33  * @version $Revision$ $Date$\r
34  */\r
35 public class EntryDescriptor extends\r
36     org.exolab.castor.xml.util.XMLClassDescriptorImpl {\r
37 \r
38   // --------------------------/\r
39   // - Class/Member Variables -/\r
40   // --------------------------/\r
41 \r
42   /**\r
43    * Field _elementDefinition.\r
44    */\r
45   private boolean _elementDefinition;\r
46 \r
47   /**\r
48    * Field _nsPrefix.\r
49    */\r
50   private java.lang.String _nsPrefix;\r
51 \r
52   /**\r
53    * Field _nsURI.\r
54    */\r
55   private java.lang.String _nsURI;\r
56 \r
57   /**\r
58    * Field _xmlName.\r
59    */\r
60   private java.lang.String _xmlName;\r
61 \r
62   // ----------------/\r
63   // - Constructors -/\r
64   // ----------------/\r
65 \r
66   public EntryDescriptor() {\r
67     super();\r
68     _nsURI = "http://www.vamsas.ac.uk/schemas/1.0/vamsasTypes";\r
69     _xmlName = "entry";\r
70     _elementDefinition = true;\r
71 \r
72     // -- set grouping compositor\r
73     setCompositorAsSequence();\r
74     org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;\r
75     org.exolab.castor.mapping.FieldHandler handler = null;\r
76     org.exolab.castor.xml.FieldValidator fieldValidator = null;\r
77     // -- initialize attribute descriptors\r
78 \r
79     // -- _id\r
80     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
81         java.lang.String.class, "_id", "id",\r
82         org.exolab.castor.xml.NodeType.Attribute);\r
83     super.setIdentity(desc);\r
84     handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
85       public java.lang.Object getValue(java.lang.Object object)\r
86           throws IllegalStateException {\r
87         Entry target = (Entry) object;\r
88         return target.getId();\r
89       }\r
90 \r
91       public void setValue(java.lang.Object object, java.lang.Object value)\r
92           throws IllegalStateException, IllegalArgumentException {\r
93         try {\r
94           Entry target = (Entry) object;\r
95           target.setId((java.lang.String) value);\r
96         } catch (java.lang.Exception ex) {\r
97           throw new IllegalStateException(ex.toString());\r
98         }\r
99       }\r
100 \r
101       public java.lang.Object newInstance(java.lang.Object parent) {\r
102         return new java.lang.String();\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: _id\r
110     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
111     { // -- local scope\r
112       org.exolab.castor.xml.validators.IdValidator typeValidator;\r
113       typeValidator = new org.exolab.castor.xml.validators.IdValidator();\r
114       fieldValidator.setValidator(typeValidator);\r
115     }\r
116     desc.setValidator(fieldValidator);\r
117     // -- initialize element descriptors\r
118 \r
119     // -- _user\r
120     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
121         java.lang.String.class, "_user", "User",\r
122         org.exolab.castor.xml.NodeType.Element);\r
123     desc.setImmutable(true);\r
124     handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
125       public java.lang.Object getValue(java.lang.Object object)\r
126           throws IllegalStateException {\r
127         Entry target = (Entry) object;\r
128         return target.getUser();\r
129       }\r
130 \r
131       public void setValue(java.lang.Object object, java.lang.Object value)\r
132           throws IllegalStateException, IllegalArgumentException {\r
133         try {\r
134           Entry target = (Entry) object;\r
135           target.setUser((java.lang.String) value);\r
136         } catch (java.lang.Exception ex) {\r
137           throw new IllegalStateException(ex.toString());\r
138         }\r
139       }\r
140 \r
141       public java.lang.Object newInstance(java.lang.Object parent) {\r
142         return null;\r
143       }\r
144     };\r
145     desc.setHandler(handler);\r
146     desc.setNameSpaceURI("http://www.vamsas.ac.uk/schemas/1.0/vamsasTypes");\r
147     desc.setRequired(true);\r
148     desc.setMultivalued(false);\r
149     addFieldDescriptor(desc);\r
150 \r
151     // -- validation code for: _user\r
152     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
153     fieldValidator.setMinOccurs(1);\r
154     { // -- local scope\r
155       org.exolab.castor.xml.validators.StringValidator typeValidator;\r
156       typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
157       fieldValidator.setValidator(typeValidator);\r
158       typeValidator.setWhiteSpace("preserve");\r
159     }\r
160     desc.setValidator(fieldValidator);\r
161     // -- _app\r
162     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
163         java.lang.String.class, "_app", "App",\r
164         org.exolab.castor.xml.NodeType.Element);\r
165     desc.setImmutable(true);\r
166     handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
167       public java.lang.Object getValue(java.lang.Object object)\r
168           throws IllegalStateException {\r
169         Entry target = (Entry) object;\r
170         return target.getApp();\r
171       }\r
172 \r
173       public void setValue(java.lang.Object object, java.lang.Object value)\r
174           throws IllegalStateException, IllegalArgumentException {\r
175         try {\r
176           Entry target = (Entry) object;\r
177           target.setApp((java.lang.String) value);\r
178         } catch (java.lang.Exception ex) {\r
179           throw new IllegalStateException(ex.toString());\r
180         }\r
181       }\r
182 \r
183       public java.lang.Object newInstance(java.lang.Object parent) {\r
184         return null;\r
185       }\r
186     };\r
187     desc.setHandler(handler);\r
188     desc.setNameSpaceURI("http://www.vamsas.ac.uk/schemas/1.0/vamsasTypes");\r
189     desc.setRequired(true);\r
190     desc.setMultivalued(false);\r
191     addFieldDescriptor(desc);\r
192 \r
193     // -- validation code for: _app\r
194     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
195     fieldValidator.setMinOccurs(1);\r
196     { // -- local scope\r
197       org.exolab.castor.xml.validators.StringValidator typeValidator;\r
198       typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
199       fieldValidator.setValidator(typeValidator);\r
200       typeValidator.setWhiteSpace("preserve");\r
201     }\r
202     desc.setValidator(fieldValidator);\r
203     // -- _action\r
204     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
205         java.lang.String.class, "_action", "Action",\r
206         org.exolab.castor.xml.NodeType.Element);\r
207     desc.setImmutable(true);\r
208     handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
209       public java.lang.Object getValue(java.lang.Object object)\r
210           throws IllegalStateException {\r
211         Entry target = (Entry) object;\r
212         return target.getAction();\r
213       }\r
214 \r
215       public void setValue(java.lang.Object object, java.lang.Object value)\r
216           throws IllegalStateException, IllegalArgumentException {\r
217         try {\r
218           Entry target = (Entry) object;\r
219           target.setAction((java.lang.String) value);\r
220         } catch (java.lang.Exception ex) {\r
221           throw new IllegalStateException(ex.toString());\r
222         }\r
223       }\r
224 \r
225       public java.lang.Object newInstance(java.lang.Object parent) {\r
226         return null;\r
227       }\r
228     };\r
229     desc.setHandler(handler);\r
230     desc.setNameSpaceURI("http://www.vamsas.ac.uk/schemas/1.0/vamsasTypes");\r
231     desc.setRequired(true);\r
232     desc.setMultivalued(false);\r
233     addFieldDescriptor(desc);\r
234 \r
235     // -- validation code for: _action\r
236     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
237     fieldValidator.setMinOccurs(1);\r
238     { // -- local scope\r
239       org.exolab.castor.xml.validators.StringValidator typeValidator;\r
240       typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
241       fieldValidator.setValidator(typeValidator);\r
242       typeValidator.setWhiteSpace("preserve");\r
243     }\r
244     desc.setValidator(fieldValidator);\r
245     // -- _date\r
246     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
247         java.util.Date.class, "_date", "Date",\r
248         org.exolab.castor.xml.NodeType.Element);\r
249     handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
250       public java.lang.Object getValue(java.lang.Object object)\r
251           throws IllegalStateException {\r
252         Entry target = (Entry) object;\r
253         return target.getDate();\r
254       }\r
255 \r
256       public void setValue(java.lang.Object object, java.lang.Object value)\r
257           throws IllegalStateException, IllegalArgumentException {\r
258         try {\r
259           Entry target = (Entry) object;\r
260           target.setDate((java.util.Date) value);\r
261         } catch (java.lang.Exception ex) {\r
262           throw new IllegalStateException(ex.toString());\r
263         }\r
264       }\r
265 \r
266       public java.lang.Object newInstance(java.lang.Object parent) {\r
267         return new java.util.Date();\r
268       }\r
269     };\r
270     handler = new org.exolab.castor.xml.handlers.DateFieldHandler(handler);\r
271     desc.setImmutable(true);\r
272     desc.setHandler(handler);\r
273     desc.setNameSpaceURI("http://www.vamsas.ac.uk/schemas/1.0/vamsasTypes");\r
274     desc.setRequired(true);\r
275     desc.setMultivalued(false);\r
276     addFieldDescriptor(desc);\r
277 \r
278     // -- validation code for: _date\r
279     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
280     fieldValidator.setMinOccurs(1);\r
281     { // -- local scope\r
282       org.exolab.castor.xml.validators.DateTimeValidator typeValidator;\r
283       typeValidator = new org.exolab.castor.xml.validators.DateTimeValidator();\r
284       fieldValidator.setValidator(typeValidator);\r
285     }\r
286     desc.setValidator(fieldValidator);\r
287     // -- _propertyList\r
288     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
289         uk.ac.vamsas.objects.core.Property.class, "_propertyList", "property",\r
290         org.exolab.castor.xml.NodeType.Element);\r
291     handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
292       public java.lang.Object getValue(java.lang.Object object)\r
293           throws IllegalStateException {\r
294         Entry target = (Entry) object;\r
295         return target.getProperty();\r
296       }\r
297 \r
298       public void setValue(java.lang.Object object, java.lang.Object value)\r
299           throws IllegalStateException, IllegalArgumentException {\r
300         try {\r
301           Entry target = (Entry) object;\r
302           target.addProperty((uk.ac.vamsas.objects.core.Property) value);\r
303         } catch (java.lang.Exception ex) {\r
304           throw new IllegalStateException(ex.toString());\r
305         }\r
306       }\r
307 \r
308       public void resetValue(Object object) throws IllegalStateException,\r
309           IllegalArgumentException {\r
310         try {\r
311           Entry target = (Entry) object;\r
312           target.removeAllProperty();\r
313         } catch (java.lang.Exception ex) {\r
314           throw new IllegalStateException(ex.toString());\r
315         }\r
316       }\r
317 \r
318       public java.lang.Object newInstance(java.lang.Object parent) {\r
319         return new uk.ac.vamsas.objects.core.Property();\r
320       }\r
321     };\r
322     desc.setHandler(handler);\r
323     desc.setNameSpaceURI("http://www.vamsas.ac.uk/schemas/1.0/vamsasTypes");\r
324     desc.setMultivalued(true);\r
325     addFieldDescriptor(desc);\r
326 \r
327     // -- validation code for: _propertyList\r
328     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
329     fieldValidator.setMinOccurs(0);\r
330     { // -- local scope\r
331     }\r
332     desc.setValidator(fieldValidator);\r
333     // -- _paramList\r
334     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
335         uk.ac.vamsas.objects.core.Param.class, "_paramList", "param",\r
336         org.exolab.castor.xml.NodeType.Element);\r
337     handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
338       public java.lang.Object getValue(java.lang.Object object)\r
339           throws IllegalStateException {\r
340         Entry target = (Entry) object;\r
341         return target.getParam();\r
342       }\r
343 \r
344       public void setValue(java.lang.Object object, java.lang.Object value)\r
345           throws IllegalStateException, IllegalArgumentException {\r
346         try {\r
347           Entry target = (Entry) object;\r
348           target.addParam((uk.ac.vamsas.objects.core.Param) value);\r
349         } catch (java.lang.Exception ex) {\r
350           throw new IllegalStateException(ex.toString());\r
351         }\r
352       }\r
353 \r
354       public void resetValue(Object object) throws IllegalStateException,\r
355           IllegalArgumentException {\r
356         try {\r
357           Entry target = (Entry) object;\r
358           target.removeAllParam();\r
359         } catch (java.lang.Exception ex) {\r
360           throw new IllegalStateException(ex.toString());\r
361         }\r
362       }\r
363 \r
364       public java.lang.Object newInstance(java.lang.Object parent) {\r
365         return new uk.ac.vamsas.objects.core.Param();\r
366       }\r
367     };\r
368     desc.setHandler(handler);\r
369     desc.setNameSpaceURI("http://www.vamsas.ac.uk/schemas/1.0/vamsasTypes");\r
370     desc.setMultivalued(true);\r
371     addFieldDescriptor(desc);\r
372 \r
373     // -- validation code for: _paramList\r
374     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
375     fieldValidator.setMinOccurs(0);\r
376     { // -- local scope\r
377     }\r
378     desc.setValidator(fieldValidator);\r
379     // -- _inputList\r
380     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
381         uk.ac.vamsas.objects.core.Input.class, "_inputList", "input",\r
382         org.exolab.castor.xml.NodeType.Element);\r
383     handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
384       public java.lang.Object getValue(java.lang.Object object)\r
385           throws IllegalStateException {\r
386         Entry target = (Entry) object;\r
387         return target.getInput();\r
388       }\r
389 \r
390       public void setValue(java.lang.Object object, java.lang.Object value)\r
391           throws IllegalStateException, IllegalArgumentException {\r
392         try {\r
393           Entry target = (Entry) object;\r
394           target.addInput((uk.ac.vamsas.objects.core.Input) value);\r
395         } catch (java.lang.Exception ex) {\r
396           throw new IllegalStateException(ex.toString());\r
397         }\r
398       }\r
399 \r
400       public void resetValue(Object object) throws IllegalStateException,\r
401           IllegalArgumentException {\r
402         try {\r
403           Entry target = (Entry) object;\r
404           target.removeAllInput();\r
405         } catch (java.lang.Exception ex) {\r
406           throw new IllegalStateException(ex.toString());\r
407         }\r
408       }\r
409 \r
410       public java.lang.Object newInstance(java.lang.Object parent) {\r
411         return new uk.ac.vamsas.objects.core.Input();\r
412       }\r
413     };\r
414     desc.setHandler(handler);\r
415     desc.setNameSpaceURI("http://www.vamsas.ac.uk/schemas/1.0/vamsasTypes");\r
416     desc.setMultivalued(true);\r
417     addFieldDescriptor(desc);\r
418 \r
419     // -- validation code for: _inputList\r
420     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
421     fieldValidator.setMinOccurs(0);\r
422     { // -- local scope\r
423     }\r
424     desc.setValidator(fieldValidator);\r
425   }\r
426 \r
427   // -----------/\r
428   // - Methods -/\r
429   // -----------/\r
430 \r
431   /**\r
432    * Method getAccessMode.\r
433    * \r
434    * @return the access mode specified for this class.\r
435    */\r
436   public org.exolab.castor.mapping.AccessMode getAccessMode() {\r
437     return null;\r
438   }\r
439 \r
440   /**\r
441    * Method getIdentity.\r
442    * \r
443    * @return the identity field, null if this class has no identity.\r
444    */\r
445   public org.exolab.castor.mapping.FieldDescriptor getIdentity() {\r
446     return super.getIdentity();\r
447   }\r
448 \r
449   /**\r
450    * Method getJavaClass.\r
451    * \r
452    * @return the Java class represented by this descriptor.\r
453    */\r
454   public java.lang.Class getJavaClass() {\r
455     return uk.ac.vamsas.objects.core.Entry.class;\r
456   }\r
457 \r
458   /**\r
459    * Method getNameSpacePrefix.\r
460    * \r
461    * @return the namespace prefix to use when marshaling as XML.\r
462    */\r
463   public java.lang.String getNameSpacePrefix() {\r
464     return _nsPrefix;\r
465   }\r
466 \r
467   /**\r
468    * Method getNameSpaceURI.\r
469    * \r
470    * @return the namespace URI used when marshaling and unmarshaling as XML.\r
471    */\r
472   public java.lang.String getNameSpaceURI() {\r
473     return _nsURI;\r
474   }\r
475 \r
476   /**\r
477    * Method getValidator.\r
478    * \r
479    * @return a specific validator for the class described by this\r
480    *         ClassDescriptor.\r
481    */\r
482   public org.exolab.castor.xml.TypeValidator getValidator() {\r
483     return this;\r
484   }\r
485 \r
486   /**\r
487    * Method getXMLName.\r
488    * \r
489    * @return the XML Name for the Class being described.\r
490    */\r
491   public java.lang.String getXMLName() {\r
492     return _xmlName;\r
493   }\r
494 \r
495   /**\r
496    * Method isElementDefinition.\r
497    * \r
498    * @return true if XML schema definition of this Class is that of a global\r
499    *         element or element with anonymous type definition.\r
500    */\r
501   public boolean isElementDefinition() {\r
502     return _elementDefinition;\r
503   }\r
504 \r
505 }\r