applied LGPLv3 and source code formatting.
[vamsas.git] / src / uk / ac / vamsas / objects / core / descriptors / DataSetDescriptor.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.DataSet;\r
29 \r
30 /**\r
31  * Class DataSetDescriptor.\r
32  * \r
33  * @version $Revision$ $Date$\r
34  */\r
35 public class DataSetDescriptor 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 DataSetDescriptor() {\r
67     super();\r
68     _nsURI = "http://www.vamsas.ac.uk/schemas/1.0/vamsasTypes";\r
69     _xmlName = "DataSet";\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         DataSet target = (DataSet) 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           DataSet target = (DataSet) 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     // -- _sequenceList\r
120     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
121         uk.ac.vamsas.objects.core.Sequence.class, "_sequenceList", "Sequence",\r
122         org.exolab.castor.xml.NodeType.Element);\r
123     handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
124       public java.lang.Object getValue(java.lang.Object object)\r
125           throws IllegalStateException {\r
126         DataSet target = (DataSet) object;\r
127         return target.getSequence();\r
128       }\r
129 \r
130       public void setValue(java.lang.Object object, java.lang.Object value)\r
131           throws IllegalStateException, IllegalArgumentException {\r
132         try {\r
133           DataSet target = (DataSet) object;\r
134           target.addSequence((uk.ac.vamsas.objects.core.Sequence) value);\r
135         } catch (java.lang.Exception ex) {\r
136           throw new IllegalStateException(ex.toString());\r
137         }\r
138       }\r
139 \r
140       public void resetValue(Object object) throws IllegalStateException,\r
141           IllegalArgumentException {\r
142         try {\r
143           DataSet target = (DataSet) object;\r
144           target.removeAllSequence();\r
145         } catch (java.lang.Exception ex) {\r
146           throw new IllegalStateException(ex.toString());\r
147         }\r
148       }\r
149 \r
150       public java.lang.Object newInstance(java.lang.Object parent) {\r
151         return new uk.ac.vamsas.objects.core.Sequence();\r
152       }\r
153     };\r
154     desc.setHandler(handler);\r
155     desc.setNameSpaceURI("http://www.vamsas.ac.uk/schemas/1.0/vamsasTypes");\r
156     desc.setRequired(true);\r
157     desc.setMultivalued(true);\r
158     addFieldDescriptor(desc);\r
159 \r
160     // -- validation code for: _sequenceList\r
161     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
162     fieldValidator.setMinOccurs(1);\r
163     { // -- local scope\r
164     }\r
165     desc.setValidator(fieldValidator);\r
166     // -- _sequenceMappingList\r
167     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
168         uk.ac.vamsas.objects.core.SequenceMapping.class,\r
169         "_sequenceMappingList", "sequenceMapping",\r
170         org.exolab.castor.xml.NodeType.Element);\r
171     handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
172       public java.lang.Object getValue(java.lang.Object object)\r
173           throws IllegalStateException {\r
174         DataSet target = (DataSet) object;\r
175         return target.getSequenceMapping();\r
176       }\r
177 \r
178       public void setValue(java.lang.Object object, java.lang.Object value)\r
179           throws IllegalStateException, IllegalArgumentException {\r
180         try {\r
181           DataSet target = (DataSet) object;\r
182           target\r
183               .addSequenceMapping((uk.ac.vamsas.objects.core.SequenceMapping) value);\r
184         } catch (java.lang.Exception ex) {\r
185           throw new IllegalStateException(ex.toString());\r
186         }\r
187       }\r
188 \r
189       public void resetValue(Object object) throws IllegalStateException,\r
190           IllegalArgumentException {\r
191         try {\r
192           DataSet target = (DataSet) object;\r
193           target.removeAllSequenceMapping();\r
194         } catch (java.lang.Exception ex) {\r
195           throw new IllegalStateException(ex.toString());\r
196         }\r
197       }\r
198 \r
199       public java.lang.Object newInstance(java.lang.Object parent) {\r
200         return new uk.ac.vamsas.objects.core.SequenceMapping();\r
201       }\r
202     };\r
203     desc.setHandler(handler);\r
204     desc.setNameSpaceURI("http://www.vamsas.ac.uk/schemas/1.0/vamsasTypes");\r
205     desc.setMultivalued(true);\r
206     addFieldDescriptor(desc);\r
207 \r
208     // -- validation code for: _sequenceMappingList\r
209     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
210     fieldValidator.setMinOccurs(0);\r
211     { // -- local scope\r
212     }\r
213     desc.setValidator(fieldValidator);\r
214     // -- _dataSetAnnotationsList\r
215     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
216         uk.ac.vamsas.objects.core.DataSetAnnotations.class,\r
217         "_dataSetAnnotationsList", "DataSetAnnotations",\r
218         org.exolab.castor.xml.NodeType.Element);\r
219     handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
220       public java.lang.Object getValue(java.lang.Object object)\r
221           throws IllegalStateException {\r
222         DataSet target = (DataSet) object;\r
223         return target.getDataSetAnnotations();\r
224       }\r
225 \r
226       public void setValue(java.lang.Object object, java.lang.Object value)\r
227           throws IllegalStateException, IllegalArgumentException {\r
228         try {\r
229           DataSet target = (DataSet) object;\r
230           target\r
231               .addDataSetAnnotations((uk.ac.vamsas.objects.core.DataSetAnnotations) value);\r
232         } catch (java.lang.Exception ex) {\r
233           throw new IllegalStateException(ex.toString());\r
234         }\r
235       }\r
236 \r
237       public void resetValue(Object object) throws IllegalStateException,\r
238           IllegalArgumentException {\r
239         try {\r
240           DataSet target = (DataSet) object;\r
241           target.removeAllDataSetAnnotations();\r
242         } catch (java.lang.Exception ex) {\r
243           throw new IllegalStateException(ex.toString());\r
244         }\r
245       }\r
246 \r
247       public java.lang.Object newInstance(java.lang.Object parent) {\r
248         return new uk.ac.vamsas.objects.core.DataSetAnnotations();\r
249       }\r
250     };\r
251     desc.setHandler(handler);\r
252     desc.setNameSpaceURI("http://www.vamsas.ac.uk/schemas/1.0/vamsasTypes");\r
253     desc.setMultivalued(true);\r
254     addFieldDescriptor(desc);\r
255 \r
256     // -- validation code for: _dataSetAnnotationsList\r
257     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
258     fieldValidator.setMinOccurs(0);\r
259     { // -- local scope\r
260     }\r
261     desc.setValidator(fieldValidator);\r
262     // -- _alignmentList\r
263     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
264         uk.ac.vamsas.objects.core.Alignment.class, "_alignmentList",\r
265         "Alignment", org.exolab.castor.xml.NodeType.Element);\r
266     handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
267       public java.lang.Object getValue(java.lang.Object object)\r
268           throws IllegalStateException {\r
269         DataSet target = (DataSet) object;\r
270         return target.getAlignment();\r
271       }\r
272 \r
273       public void setValue(java.lang.Object object, java.lang.Object value)\r
274           throws IllegalStateException, IllegalArgumentException {\r
275         try {\r
276           DataSet target = (DataSet) object;\r
277           target.addAlignment((uk.ac.vamsas.objects.core.Alignment) value);\r
278         } catch (java.lang.Exception ex) {\r
279           throw new IllegalStateException(ex.toString());\r
280         }\r
281       }\r
282 \r
283       public void resetValue(Object object) throws IllegalStateException,\r
284           IllegalArgumentException {\r
285         try {\r
286           DataSet target = (DataSet) object;\r
287           target.removeAllAlignment();\r
288         } catch (java.lang.Exception ex) {\r
289           throw new IllegalStateException(ex.toString());\r
290         }\r
291       }\r
292 \r
293       public java.lang.Object newInstance(java.lang.Object parent) {\r
294         return new uk.ac.vamsas.objects.core.Alignment();\r
295       }\r
296     };\r
297     desc.setHandler(handler);\r
298     desc.setNameSpaceURI("http://www.vamsas.ac.uk/schemas/1.0/vamsasTypes");\r
299     desc.setMultivalued(true);\r
300     addFieldDescriptor(desc);\r
301 \r
302     // -- validation code for: _alignmentList\r
303     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
304     fieldValidator.setMinOccurs(0);\r
305     { // -- local scope\r
306     }\r
307     desc.setValidator(fieldValidator);\r
308     // -- _treeList\r
309     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
310         uk.ac.vamsas.objects.core.Tree.class, "_treeList", "Tree",\r
311         org.exolab.castor.xml.NodeType.Element);\r
312     handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
313       public java.lang.Object getValue(java.lang.Object object)\r
314           throws IllegalStateException {\r
315         DataSet target = (DataSet) object;\r
316         return target.getTree();\r
317       }\r
318 \r
319       public void setValue(java.lang.Object object, java.lang.Object value)\r
320           throws IllegalStateException, IllegalArgumentException {\r
321         try {\r
322           DataSet target = (DataSet) object;\r
323           target.addTree((uk.ac.vamsas.objects.core.Tree) value);\r
324         } catch (java.lang.Exception ex) {\r
325           throw new IllegalStateException(ex.toString());\r
326         }\r
327       }\r
328 \r
329       public void resetValue(Object object) throws IllegalStateException,\r
330           IllegalArgumentException {\r
331         try {\r
332           DataSet target = (DataSet) object;\r
333           target.removeAllTree();\r
334         } catch (java.lang.Exception ex) {\r
335           throw new IllegalStateException(ex.toString());\r
336         }\r
337       }\r
338 \r
339       public java.lang.Object newInstance(java.lang.Object parent) {\r
340         return new uk.ac.vamsas.objects.core.Tree();\r
341       }\r
342     };\r
343     desc.setHandler(handler);\r
344     desc.setNameSpaceURI("http://www.vamsas.ac.uk/schemas/1.0/vamsasTypes");\r
345     desc.setMultivalued(true);\r
346     addFieldDescriptor(desc);\r
347 \r
348     // -- validation code for: _treeList\r
349     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
350     fieldValidator.setMinOccurs(0);\r
351     { // -- local scope\r
352     }\r
353     desc.setValidator(fieldValidator);\r
354     // -- _provenance\r
355     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
356         uk.ac.vamsas.objects.core.Provenance.class, "_provenance",\r
357         "Provenance", org.exolab.castor.xml.NodeType.Element);\r
358     handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
359       public java.lang.Object getValue(java.lang.Object object)\r
360           throws IllegalStateException {\r
361         DataSet target = (DataSet) object;\r
362         return target.getProvenance();\r
363       }\r
364 \r
365       public void setValue(java.lang.Object object, java.lang.Object value)\r
366           throws IllegalStateException, IllegalArgumentException {\r
367         try {\r
368           DataSet target = (DataSet) object;\r
369           target.setProvenance((uk.ac.vamsas.objects.core.Provenance) value);\r
370         } catch (java.lang.Exception ex) {\r
371           throw new IllegalStateException(ex.toString());\r
372         }\r
373       }\r
374 \r
375       public java.lang.Object newInstance(java.lang.Object parent) {\r
376         return new uk.ac.vamsas.objects.core.Provenance();\r
377       }\r
378     };\r
379     desc.setHandler(handler);\r
380     desc.setNameSpaceURI("http://www.vamsas.ac.uk/schemas/1.0/vamsasTypes");\r
381     desc.setRequired(true);\r
382     desc.setMultivalued(false);\r
383     addFieldDescriptor(desc);\r
384 \r
385     // -- validation code for: _provenance\r
386     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
387     fieldValidator.setMinOccurs(1);\r
388     { // -- local scope\r
389     }\r
390     desc.setValidator(fieldValidator);\r
391   }\r
392 \r
393   // -----------/\r
394   // - Methods -/\r
395   // -----------/\r
396 \r
397   /**\r
398    * Method getAccessMode.\r
399    * \r
400    * @return the access mode specified for this class.\r
401    */\r
402   public org.exolab.castor.mapping.AccessMode getAccessMode() {\r
403     return null;\r
404   }\r
405 \r
406   /**\r
407    * Method getIdentity.\r
408    * \r
409    * @return the identity field, null if this class has no identity.\r
410    */\r
411   public org.exolab.castor.mapping.FieldDescriptor getIdentity() {\r
412     return super.getIdentity();\r
413   }\r
414 \r
415   /**\r
416    * Method getJavaClass.\r
417    * \r
418    * @return the Java class represented by this descriptor.\r
419    */\r
420   public java.lang.Class getJavaClass() {\r
421     return uk.ac.vamsas.objects.core.DataSet.class;\r
422   }\r
423 \r
424   /**\r
425    * Method getNameSpacePrefix.\r
426    * \r
427    * @return the namespace prefix to use when marshaling as XML.\r
428    */\r
429   public java.lang.String getNameSpacePrefix() {\r
430     return _nsPrefix;\r
431   }\r
432 \r
433   /**\r
434    * Method getNameSpaceURI.\r
435    * \r
436    * @return the namespace URI used when marshaling and unmarshaling as XML.\r
437    */\r
438   public java.lang.String getNameSpaceURI() {\r
439     return _nsURI;\r
440   }\r
441 \r
442   /**\r
443    * Method getValidator.\r
444    * \r
445    * @return a specific validator for the class described by this\r
446    *         ClassDescriptor.\r
447    */\r
448   public org.exolab.castor.xml.TypeValidator getValidator() {\r
449     return this;\r
450   }\r
451 \r
452   /**\r
453    * Method getXMLName.\r
454    * \r
455    * @return the XML Name for the Class being described.\r
456    */\r
457   public java.lang.String getXMLName() {\r
458     return _xmlName;\r
459   }\r
460 \r
461   /**\r
462    * Method isElementDefinition.\r
463    * \r
464    * @return true if XML schema definition of this Class is that of a global\r
465    *         element or element with anonymous type definition.\r
466    */\r
467   public boolean isElementDefinition() {\r
468     return _elementDefinition;\r
469   }\r
470 \r
471 }\r