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