extended Colour element with additional optional attributes for graduated colour
[jalview.git] / src / jalview / schemabinding / version2 / descriptors / JalviewModelSequenceDescriptor.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.JalviewModelSequence;\r
26 \r
27 /**\r
28  * Class JalviewModelSequenceDescriptor.\r
29  * \r
30  * @version $Revision$ $Date$\r
31  */\r
32 public class JalviewModelSequenceDescriptor 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 JalviewModelSequenceDescriptor() {\r
65         super();\r
66         _nsURI = "www.jalview.org";\r
67         _elementDefinition = false;\r
68         \r
69         //-- set grouping compositor\r
70         setCompositorAsSequence();\r
71         org.exolab.castor.xml.util.XMLFieldDescriptorImpl  desc           = null;\r
72         org.exolab.castor.mapping.FieldHandler             handler        = null;\r
73         org.exolab.castor.xml.FieldValidator               fieldValidator = null;\r
74         //-- initialize attribute descriptors\r
75         \r
76         //-- initialize element descriptors\r
77         \r
78         //-- _JSeqList\r
79         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(jalview.schemabinding.version2.JSeq.class, "_JSeqList", "JSeq", org.exolab.castor.xml.NodeType.Element);\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                 JalviewModelSequence target = (JalviewModelSequence) object;\r
85                 return target.getJSeq();\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                     JalviewModelSequence target = (JalviewModelSequence) object;\r
92                     target.addJSeq( (jalview.schemabinding.version2.JSeq) value);\r
93                 } catch (java.lang.Exception ex) {\r
94                     throw new IllegalStateException(ex.toString());\r
95                 }\r
96             }\r
97             public void resetValue(Object object) throws IllegalStateException, IllegalArgumentException {\r
98                 try {\r
99                     JalviewModelSequence target = (JalviewModelSequence) object;\r
100                     target.removeAllJSeq();\r
101                 } catch (java.lang.Exception ex) {\r
102                     throw new IllegalStateException(ex.toString());\r
103                 }\r
104             }\r
105             public java.lang.Object newInstance(java.lang.Object parent) {\r
106                 return new jalview.schemabinding.version2.JSeq();\r
107             }\r
108         };\r
109         desc.setHandler(handler);\r
110         desc.setNameSpaceURI("www.jalview.org");\r
111         desc.setRequired(true);\r
112         desc.setMultivalued(true);\r
113         addFieldDescriptor(desc);\r
114         \r
115         //-- validation code for: _JSeqList\r
116         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
117         fieldValidator.setMinOccurs(1);\r
118         { //-- local scope\r
119         }\r
120         desc.setValidator(fieldValidator);\r
121         //-- _JGroupList\r
122         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(jalview.schemabinding.version2.JGroup.class, "_JGroupList", "JGroup", 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             {\r
127                 JalviewModelSequence target = (JalviewModelSequence) object;\r
128                 return target.getJGroup();\r
129             }\r
130             public void setValue( java.lang.Object object, java.lang.Object value) \r
131                 throws IllegalStateException, IllegalArgumentException\r
132             {\r
133                 try {\r
134                     JalviewModelSequence target = (JalviewModelSequence) object;\r
135                     target.addJGroup( (jalview.schemabinding.version2.JGroup) value);\r
136                 } catch (java.lang.Exception ex) {\r
137                     throw new IllegalStateException(ex.toString());\r
138                 }\r
139             }\r
140             public void resetValue(Object object) throws IllegalStateException, IllegalArgumentException {\r
141                 try {\r
142                     JalviewModelSequence target = (JalviewModelSequence) object;\r
143                     target.removeAllJGroup();\r
144                 } catch (java.lang.Exception ex) {\r
145                     throw new IllegalStateException(ex.toString());\r
146                 }\r
147             }\r
148             public java.lang.Object newInstance(java.lang.Object parent) {\r
149                 return new jalview.schemabinding.version2.JGroup();\r
150             }\r
151         };\r
152         desc.setHandler(handler);\r
153         desc.setNameSpaceURI("www.jalview.org");\r
154         desc.setMultivalued(true);\r
155         addFieldDescriptor(desc);\r
156         \r
157         //-- validation code for: _JGroupList\r
158         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
159         fieldValidator.setMinOccurs(0);\r
160         { //-- local scope\r
161         }\r
162         desc.setValidator(fieldValidator);\r
163         //-- _viewportList\r
164         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(jalview.schemabinding.version2.Viewport.class, "_viewportList", "Viewport", org.exolab.castor.xml.NodeType.Element);\r
165         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
166             public java.lang.Object getValue( java.lang.Object object ) \r
167                 throws IllegalStateException\r
168             {\r
169                 JalviewModelSequence target = (JalviewModelSequence) object;\r
170                 return target.getViewport();\r
171             }\r
172             public void setValue( java.lang.Object object, java.lang.Object value) \r
173                 throws IllegalStateException, IllegalArgumentException\r
174             {\r
175                 try {\r
176                     JalviewModelSequence target = (JalviewModelSequence) object;\r
177                     target.addViewport( (jalview.schemabinding.version2.Viewport) value);\r
178                 } catch (java.lang.Exception ex) {\r
179                     throw new IllegalStateException(ex.toString());\r
180                 }\r
181             }\r
182             public void resetValue(Object object) throws IllegalStateException, IllegalArgumentException {\r
183                 try {\r
184                     JalviewModelSequence target = (JalviewModelSequence) object;\r
185                     target.removeAllViewport();\r
186                 } catch (java.lang.Exception ex) {\r
187                     throw new IllegalStateException(ex.toString());\r
188                 }\r
189             }\r
190             public java.lang.Object newInstance(java.lang.Object parent) {\r
191                 return new jalview.schemabinding.version2.Viewport();\r
192             }\r
193         };\r
194         desc.setHandler(handler);\r
195         desc.setNameSpaceURI("www.jalview.org");\r
196         desc.setRequired(true);\r
197         desc.setMultivalued(true);\r
198         addFieldDescriptor(desc);\r
199         \r
200         //-- validation code for: _viewportList\r
201         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
202         fieldValidator.setMinOccurs(1);\r
203         { //-- local scope\r
204         }\r
205         desc.setValidator(fieldValidator);\r
206         //-- _userColoursList\r
207         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(jalview.schemabinding.version2.UserColours.class, "_userColoursList", "UserColours", org.exolab.castor.xml.NodeType.Element);\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             {\r
212                 JalviewModelSequence target = (JalviewModelSequence) object;\r
213                 return target.getUserColours();\r
214             }\r
215             public void setValue( java.lang.Object object, java.lang.Object value) \r
216                 throws IllegalStateException, IllegalArgumentException\r
217             {\r
218                 try {\r
219                     JalviewModelSequence target = (JalviewModelSequence) object;\r
220                     target.addUserColours( (jalview.schemabinding.version2.UserColours) value);\r
221                 } catch (java.lang.Exception ex) {\r
222                     throw new IllegalStateException(ex.toString());\r
223                 }\r
224             }\r
225             public void resetValue(Object object) throws IllegalStateException, IllegalArgumentException {\r
226                 try {\r
227                     JalviewModelSequence target = (JalviewModelSequence) object;\r
228                     target.removeAllUserColours();\r
229                 } catch (java.lang.Exception ex) {\r
230                     throw new IllegalStateException(ex.toString());\r
231                 }\r
232             }\r
233             public java.lang.Object newInstance(java.lang.Object parent) {\r
234                 return new jalview.schemabinding.version2.UserColours();\r
235             }\r
236         };\r
237         desc.setHandler(handler);\r
238         desc.setNameSpaceURI("www.jalview.org");\r
239         desc.setMultivalued(true);\r
240         addFieldDescriptor(desc);\r
241         \r
242         //-- validation code for: _userColoursList\r
243         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
244         fieldValidator.setMinOccurs(0);\r
245         { //-- local scope\r
246         }\r
247         desc.setValidator(fieldValidator);\r
248         //-- _treeList\r
249         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(jalview.schemabinding.version2.Tree.class, "_treeList", "tree", org.exolab.castor.xml.NodeType.Element);\r
250         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
251             public java.lang.Object getValue( java.lang.Object object ) \r
252                 throws IllegalStateException\r
253             {\r
254                 JalviewModelSequence target = (JalviewModelSequence) object;\r
255                 return target.getTree();\r
256             }\r
257             public void setValue( java.lang.Object object, java.lang.Object value) \r
258                 throws IllegalStateException, IllegalArgumentException\r
259             {\r
260                 try {\r
261                     JalviewModelSequence target = (JalviewModelSequence) object;\r
262                     target.addTree( (jalview.schemabinding.version2.Tree) value);\r
263                 } catch (java.lang.Exception ex) {\r
264                     throw new IllegalStateException(ex.toString());\r
265                 }\r
266             }\r
267             public void resetValue(Object object) throws IllegalStateException, IllegalArgumentException {\r
268                 try {\r
269                     JalviewModelSequence target = (JalviewModelSequence) object;\r
270                     target.removeAllTree();\r
271                 } catch (java.lang.Exception ex) {\r
272                     throw new IllegalStateException(ex.toString());\r
273                 }\r
274             }\r
275             public java.lang.Object newInstance(java.lang.Object parent) {\r
276                 return new jalview.schemabinding.version2.Tree();\r
277             }\r
278         };\r
279         desc.setHandler(handler);\r
280         desc.setNameSpaceURI("www.jalview.org");\r
281         desc.setMultivalued(true);\r
282         addFieldDescriptor(desc);\r
283         \r
284         //-- validation code for: _treeList\r
285         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
286         fieldValidator.setMinOccurs(0);\r
287         { //-- local scope\r
288         }\r
289         desc.setValidator(fieldValidator);\r
290         //-- _featureSettings\r
291         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(jalview.schemabinding.version2.FeatureSettings.class, "_featureSettings", "FeatureSettings", org.exolab.castor.xml.NodeType.Element);\r
292         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
293             public java.lang.Object getValue( java.lang.Object object ) \r
294                 throws IllegalStateException\r
295             {\r
296                 JalviewModelSequence target = (JalviewModelSequence) object;\r
297                 return target.getFeatureSettings();\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                     JalviewModelSequence target = (JalviewModelSequence) object;\r
304                     target.setFeatureSettings( (jalview.schemabinding.version2.FeatureSettings) value);\r
305                 } catch (java.lang.Exception ex) {\r
306                     throw new IllegalStateException(ex.toString());\r
307                 }\r
308             }\r
309             public java.lang.Object newInstance(java.lang.Object parent) {\r
310                 return new jalview.schemabinding.version2.FeatureSettings();\r
311             }\r
312         };\r
313         desc.setHandler(handler);\r
314         desc.setNameSpaceURI("www.jalview.org");\r
315         desc.setMultivalued(false);\r
316         addFieldDescriptor(desc);\r
317         \r
318         //-- validation code for: _featureSettings\r
319         fieldValidator = new org.exolab.castor.xml.FieldValidator();\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.JalviewModelSequence.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