licencing and format applied (eclipse)
[jalview.git] / src / jalview / schemabinding / version2 / descriptors / SequenceSetDescriptor.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.SequenceSet;\r
26 \r
27 /**\r
28  * Class SequenceSetDescriptor.\r
29  * \r
30  * @version $Revision$ $Date$\r
31  */\r
32 public class SequenceSetDescriptor 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 SequenceSetDescriptor()\r
65   {\r
66     super();\r
67     _nsURI = "www.vamsas.ac.uk/jalview/version2";\r
68     _xmlName = "SequenceSet";\r
69     _elementDefinition = true;\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     // -- _gapChar\r
79     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
80             java.lang.String.class, "_gapChar", "gapChar",\r
81             org.exolab.castor.xml.NodeType.Attribute);\r
82     desc.setImmutable(true);\r
83     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
84     {\r
85       public java.lang.Object getValue(java.lang.Object object)\r
86               throws IllegalStateException\r
87       {\r
88         SequenceSet target = (SequenceSet) object;\r
89         return target.getGapChar();\r
90       }\r
91 \r
92       public void setValue(java.lang.Object object, java.lang.Object value)\r
93               throws IllegalStateException, IllegalArgumentException\r
94       {\r
95         try\r
96         {\r
97           SequenceSet target = (SequenceSet) object;\r
98           target.setGapChar((java.lang.String) value);\r
99         } catch (java.lang.Exception ex)\r
100         {\r
101           throw new IllegalStateException(ex.toString());\r
102         }\r
103       }\r
104 \r
105       public java.lang.Object newInstance(java.lang.Object parent)\r
106       {\r
107         return null;\r
108       }\r
109     };\r
110     desc.setHandler(handler);\r
111     desc.setRequired(true);\r
112     desc.setMultivalued(false);\r
113     addFieldDescriptor(desc);\r
114 \r
115     // -- validation code for: _gapChar\r
116     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
117     fieldValidator.setMinOccurs(1);\r
118     { // -- local scope\r
119       org.exolab.castor.xml.validators.StringValidator typeValidator;\r
120       typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
121       fieldValidator.setValidator(typeValidator);\r
122       typeValidator.setWhiteSpace("preserve");\r
123     }\r
124     desc.setValidator(fieldValidator);\r
125     // -- _datasetId\r
126     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
127             java.lang.String.class, "_datasetId", "datasetId",\r
128             org.exolab.castor.xml.NodeType.Attribute);\r
129     desc.setImmutable(true);\r
130     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
131     {\r
132       public java.lang.Object getValue(java.lang.Object object)\r
133               throws IllegalStateException\r
134       {\r
135         SequenceSet target = (SequenceSet) object;\r
136         return target.getDatasetId();\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           SequenceSet target = (SequenceSet) object;\r
145           target.setDatasetId((java.lang.String) value);\r
146         } catch (java.lang.Exception ex)\r
147         {\r
148           throw new IllegalStateException(ex.toString());\r
149         }\r
150       }\r
151 \r
152       public java.lang.Object newInstance(java.lang.Object parent)\r
153       {\r
154         return null;\r
155       }\r
156     };\r
157     desc.setHandler(handler);\r
158     desc.setMultivalued(false);\r
159     addFieldDescriptor(desc);\r
160 \r
161     // -- validation code for: _datasetId\r
162     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
163     { // -- local scope\r
164       org.exolab.castor.xml.validators.StringValidator typeValidator;\r
165       typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
166       fieldValidator.setValidator(typeValidator);\r
167       typeValidator.setWhiteSpace("preserve");\r
168     }\r
169     desc.setValidator(fieldValidator);\r
170     // -- initialize element descriptors\r
171 \r
172     // -- _sequenceList\r
173     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
174             jalview.schemabinding.version2.Sequence.class, "_sequenceList",\r
175             "Sequence", org.exolab.castor.xml.NodeType.Element);\r
176     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
177     {\r
178       public java.lang.Object getValue(java.lang.Object object)\r
179               throws IllegalStateException\r
180       {\r
181         SequenceSet target = (SequenceSet) object;\r
182         return target.getSequence();\r
183       }\r
184 \r
185       public void setValue(java.lang.Object object, java.lang.Object value)\r
186               throws IllegalStateException, IllegalArgumentException\r
187       {\r
188         try\r
189         {\r
190           SequenceSet target = (SequenceSet) object;\r
191           target\r
192                   .addSequence((jalview.schemabinding.version2.Sequence) value);\r
193         } catch (java.lang.Exception ex)\r
194         {\r
195           throw new IllegalStateException(ex.toString());\r
196         }\r
197       }\r
198 \r
199       public void resetValue(Object object) throws IllegalStateException,\r
200               IllegalArgumentException\r
201       {\r
202         try\r
203         {\r
204           SequenceSet target = (SequenceSet) object;\r
205           target.removeAllSequence();\r
206         } catch (java.lang.Exception ex)\r
207         {\r
208           throw new IllegalStateException(ex.toString());\r
209         }\r
210       }\r
211 \r
212       public java.lang.Object newInstance(java.lang.Object parent)\r
213       {\r
214         return new jalview.schemabinding.version2.Sequence();\r
215       }\r
216     };\r
217     desc.setHandler(handler);\r
218     desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");\r
219     desc.setMultivalued(true);\r
220     addFieldDescriptor(desc);\r
221 \r
222     // -- validation code for: _sequenceList\r
223     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
224     fieldValidator.setMinOccurs(0);\r
225     { // -- local scope\r
226     }\r
227     desc.setValidator(fieldValidator);\r
228     // -- _annotationList\r
229     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
230             jalview.schemabinding.version2.Annotation.class,\r
231             "_annotationList", "Annotation",\r
232             org.exolab.castor.xml.NodeType.Element);\r
233     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
234     {\r
235       public java.lang.Object getValue(java.lang.Object object)\r
236               throws IllegalStateException\r
237       {\r
238         SequenceSet target = (SequenceSet) object;\r
239         return target.getAnnotation();\r
240       }\r
241 \r
242       public void setValue(java.lang.Object object, java.lang.Object value)\r
243               throws IllegalStateException, IllegalArgumentException\r
244       {\r
245         try\r
246         {\r
247           SequenceSet target = (SequenceSet) object;\r
248           target\r
249                   .addAnnotation((jalview.schemabinding.version2.Annotation) value);\r
250         } catch (java.lang.Exception ex)\r
251         {\r
252           throw new IllegalStateException(ex.toString());\r
253         }\r
254       }\r
255 \r
256       public void resetValue(Object object) throws IllegalStateException,\r
257               IllegalArgumentException\r
258       {\r
259         try\r
260         {\r
261           SequenceSet target = (SequenceSet) object;\r
262           target.removeAllAnnotation();\r
263         } catch (java.lang.Exception ex)\r
264         {\r
265           throw new IllegalStateException(ex.toString());\r
266         }\r
267       }\r
268 \r
269       public java.lang.Object newInstance(java.lang.Object parent)\r
270       {\r
271         return new jalview.schemabinding.version2.Annotation();\r
272       }\r
273     };\r
274     desc.setHandler(handler);\r
275     desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");\r
276     desc.setMultivalued(true);\r
277     addFieldDescriptor(desc);\r
278 \r
279     // -- validation code for: _annotationList\r
280     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
281     fieldValidator.setMinOccurs(0);\r
282     { // -- local scope\r
283     }\r
284     desc.setValidator(fieldValidator);\r
285     // -- _sequenceSetPropertiesList\r
286     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
287             jalview.schemabinding.version2.SequenceSetProperties.class,\r
288             "_sequenceSetPropertiesList", "sequenceSetProperties",\r
289             org.exolab.castor.xml.NodeType.Element);\r
290     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
291     {\r
292       public java.lang.Object getValue(java.lang.Object object)\r
293               throws IllegalStateException\r
294       {\r
295         SequenceSet target = (SequenceSet) object;\r
296         return target.getSequenceSetProperties();\r
297       }\r
298 \r
299       public void setValue(java.lang.Object object, java.lang.Object value)\r
300               throws IllegalStateException, IllegalArgumentException\r
301       {\r
302         try\r
303         {\r
304           SequenceSet target = (SequenceSet) object;\r
305           target\r
306                   .addSequenceSetProperties((jalview.schemabinding.version2.SequenceSetProperties) value);\r
307         } catch (java.lang.Exception ex)\r
308         {\r
309           throw new IllegalStateException(ex.toString());\r
310         }\r
311       }\r
312 \r
313       public void resetValue(Object object) throws IllegalStateException,\r
314               IllegalArgumentException\r
315       {\r
316         try\r
317         {\r
318           SequenceSet target = (SequenceSet) object;\r
319           target.removeAllSequenceSetProperties();\r
320         } catch (java.lang.Exception ex)\r
321         {\r
322           throw new IllegalStateException(ex.toString());\r
323         }\r
324       }\r
325 \r
326       public java.lang.Object newInstance(java.lang.Object parent)\r
327       {\r
328         return new jalview.schemabinding.version2.SequenceSetProperties();\r
329       }\r
330     };\r
331     desc.setHandler(handler);\r
332     desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");\r
333     desc.setMultivalued(true);\r
334     addFieldDescriptor(desc);\r
335 \r
336     // -- validation code for: _sequenceSetPropertiesList\r
337     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
338     fieldValidator.setMinOccurs(0);\r
339     { // -- local scope\r
340     }\r
341     desc.setValidator(fieldValidator);\r
342     // -- _alcodonFrameList\r
343     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
344             jalview.schemabinding.version2.AlcodonFrame.class,\r
345             "_alcodonFrameList", "AlcodonFrame",\r
346             org.exolab.castor.xml.NodeType.Element);\r
347     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
348     {\r
349       public java.lang.Object getValue(java.lang.Object object)\r
350               throws IllegalStateException\r
351       {\r
352         SequenceSet target = (SequenceSet) object;\r
353         return target.getAlcodonFrame();\r
354       }\r
355 \r
356       public void setValue(java.lang.Object object, java.lang.Object value)\r
357               throws IllegalStateException, IllegalArgumentException\r
358       {\r
359         try\r
360         {\r
361           SequenceSet target = (SequenceSet) object;\r
362           target\r
363                   .addAlcodonFrame((jalview.schemabinding.version2.AlcodonFrame) value);\r
364         } catch (java.lang.Exception ex)\r
365         {\r
366           throw new IllegalStateException(ex.toString());\r
367         }\r
368       }\r
369 \r
370       public void resetValue(Object object) throws IllegalStateException,\r
371               IllegalArgumentException\r
372       {\r
373         try\r
374         {\r
375           SequenceSet target = (SequenceSet) object;\r
376           target.removeAllAlcodonFrame();\r
377         } catch (java.lang.Exception ex)\r
378         {\r
379           throw new IllegalStateException(ex.toString());\r
380         }\r
381       }\r
382 \r
383       public java.lang.Object newInstance(java.lang.Object parent)\r
384       {\r
385         return new jalview.schemabinding.version2.AlcodonFrame();\r
386       }\r
387     };\r
388     desc.setHandler(handler);\r
389     desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");\r
390     desc.setMultivalued(true);\r
391     addFieldDescriptor(desc);\r
392 \r
393     // -- validation code for: _alcodonFrameList\r
394     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
395     fieldValidator.setMinOccurs(0);\r
396     { // -- local scope\r
397     }\r
398     desc.setValidator(fieldValidator);\r
399   }\r
400 \r
401   // -----------/\r
402   // - Methods -/\r
403   // -----------/\r
404 \r
405   /**\r
406    * Method getAccessMode.\r
407    * \r
408    * @return the access mode specified for this class.\r
409    */\r
410   public org.exolab.castor.mapping.AccessMode getAccessMode()\r
411   {\r
412     return null;\r
413   }\r
414 \r
415   /**\r
416    * Method getIdentity.\r
417    * \r
418    * @return the identity field, null if this class has no identity.\r
419    */\r
420   public org.exolab.castor.mapping.FieldDescriptor getIdentity()\r
421   {\r
422     return super.getIdentity();\r
423   }\r
424 \r
425   /**\r
426    * Method getJavaClass.\r
427    * \r
428    * @return the Java class represented by this descriptor.\r
429    */\r
430   public java.lang.Class getJavaClass()\r
431   {\r
432     return jalview.schemabinding.version2.SequenceSet.class;\r
433   }\r
434 \r
435   /**\r
436    * Method getNameSpacePrefix.\r
437    * \r
438    * @return the namespace prefix to use when marshaling as XML.\r
439    */\r
440   public java.lang.String getNameSpacePrefix()\r
441   {\r
442     return _nsPrefix;\r
443   }\r
444 \r
445   /**\r
446    * Method getNameSpaceURI.\r
447    * \r
448    * @return the namespace URI used when marshaling and unmarshaling as XML.\r
449    */\r
450   public java.lang.String getNameSpaceURI()\r
451   {\r
452     return _nsURI;\r
453   }\r
454 \r
455   /**\r
456    * Method getValidator.\r
457    * \r
458    * @return a specific validator for the class described by this\r
459    *         ClassDescriptor.\r
460    */\r
461   public org.exolab.castor.xml.TypeValidator getValidator()\r
462   {\r
463     return this;\r
464   }\r
465 \r
466   /**\r
467    * Method getXMLName.\r
468    * \r
469    * @return the XML Name for the Class being described.\r
470    */\r
471   public java.lang.String getXMLName()\r
472   {\r
473     return _xmlName;\r
474   }\r
475 \r
476   /**\r
477    * Method isElementDefinition.\r
478    * \r
479    * @return true if XML schema definition of this Class is that of a global\r
480    *         element or element with anonymous type definition.\r
481    */\r
482   public boolean isElementDefinition()\r
483   {\r
484     return _elementDefinition;\r
485   }\r
486 \r
487 }\r