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