extended Colour element with additional optional attributes for graduated colour
[jalview.git] / src / jalview / schemabinding / version2 / descriptors / JalviewModelDescriptor.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.JalviewModel;\r
26 \r
27 /**\r
28  * Class JalviewModelDescriptor.\r
29  * \r
30  * @version $Revision$ $Date$\r
31  */\r
32 public class JalviewModelDescriptor 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 JalviewModelDescriptor() {\r
65         super();\r
66         _nsURI = "www.jalview.org";\r
67         _xmlName = "JalviewModel";\r
68         _elementDefinition = false;\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         //-- initialize element descriptors\r
78         \r
79         //-- _creationDate\r
80         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.util.Date.class, "_creationDate", "creationDate", org.exolab.castor.xml.NodeType.Element);\r
81         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
82             public java.lang.Object getValue( java.lang.Object object ) \r
83                 throws IllegalStateException\r
84             {\r
85                 JalviewModel target = (JalviewModel) object;\r
86                 return target.getCreationDate();\r
87             }\r
88             public void setValue( java.lang.Object object, java.lang.Object value) \r
89                 throws IllegalStateException, IllegalArgumentException\r
90             {\r
91                 try {\r
92                     JalviewModel target = (JalviewModel) object;\r
93                     target.setCreationDate( (java.util.Date) value);\r
94                 } catch (java.lang.Exception ex) {\r
95                     throw new IllegalStateException(ex.toString());\r
96                 }\r
97             }\r
98             public java.lang.Object newInstance(java.lang.Object parent) {\r
99                 return new java.util.Date();\r
100             }\r
101         };\r
102         handler = new org.exolab.castor.xml.handlers.DateFieldHandler(handler);\r
103         desc.setImmutable(true);\r
104         desc.setHandler(handler);\r
105         desc.setNameSpaceURI("www.jalview.org");\r
106         desc.setRequired(true);\r
107         desc.setMultivalued(false);\r
108         addFieldDescriptor(desc);\r
109         \r
110         //-- validation code for: _creationDate\r
111         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
112         fieldValidator.setMinOccurs(1);\r
113         { //-- local scope\r
114             org.exolab.castor.xml.validators.DateTimeValidator typeValidator;\r
115             typeValidator = new org.exolab.castor.xml.validators.DateTimeValidator();\r
116             fieldValidator.setValidator(typeValidator);\r
117         }\r
118         desc.setValidator(fieldValidator);\r
119         //-- _version\r
120         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_version", "version", org.exolab.castor.xml.NodeType.Element);\r
121         desc.setImmutable(true);\r
122         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
123             public java.lang.Object getValue( java.lang.Object object ) \r
124                 throws IllegalStateException\r
125             {\r
126                 JalviewModel target = (JalviewModel) object;\r
127                 return target.getVersion();\r
128             }\r
129             public void setValue( java.lang.Object object, java.lang.Object value) \r
130                 throws IllegalStateException, IllegalArgumentException\r
131             {\r
132                 try {\r
133                     JalviewModel target = (JalviewModel) object;\r
134                     target.setVersion( (java.lang.String) value);\r
135                 } catch (java.lang.Exception ex) {\r
136                     throw new IllegalStateException(ex.toString());\r
137                 }\r
138             }\r
139             public java.lang.Object newInstance(java.lang.Object parent) {\r
140                 return null;\r
141             }\r
142         };\r
143         desc.setHandler(handler);\r
144         desc.setNameSpaceURI("www.jalview.org");\r
145         desc.setRequired(true);\r
146         desc.setMultivalued(false);\r
147         addFieldDescriptor(desc);\r
148         \r
149         //-- validation code for: _version\r
150         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
151         fieldValidator.setMinOccurs(1);\r
152         { //-- local scope\r
153             org.exolab.castor.xml.validators.StringValidator typeValidator;\r
154             typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
155             fieldValidator.setValidator(typeValidator);\r
156             typeValidator.setWhiteSpace("preserve");\r
157         }\r
158         desc.setValidator(fieldValidator);\r
159         //-- _vamsasModel\r
160         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(jalview.schemabinding.version2.VamsasModel.class, "_vamsasModel", "vamsasModel", org.exolab.castor.xml.NodeType.Element);\r
161         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
162             public java.lang.Object getValue( java.lang.Object object ) \r
163                 throws IllegalStateException\r
164             {\r
165                 JalviewModel target = (JalviewModel) object;\r
166                 return target.getVamsasModel();\r
167             }\r
168             public void setValue( java.lang.Object object, java.lang.Object value) \r
169                 throws IllegalStateException, IllegalArgumentException\r
170             {\r
171                 try {\r
172                     JalviewModel target = (JalviewModel) object;\r
173                     target.setVamsasModel( (jalview.schemabinding.version2.VamsasModel) value);\r
174                 } catch (java.lang.Exception ex) {\r
175                     throw new IllegalStateException(ex.toString());\r
176                 }\r
177             }\r
178             public java.lang.Object newInstance(java.lang.Object parent) {\r
179                 return new jalview.schemabinding.version2.VamsasModel();\r
180             }\r
181         };\r
182         desc.setHandler(handler);\r
183         desc.setNameSpaceURI("www.jalview.org");\r
184         desc.setRequired(true);\r
185         desc.setMultivalued(false);\r
186         addFieldDescriptor(desc);\r
187         \r
188         //-- validation code for: _vamsasModel\r
189         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
190         fieldValidator.setMinOccurs(1);\r
191         { //-- local scope\r
192         }\r
193         desc.setValidator(fieldValidator);\r
194         //-- _jalviewModelSequence\r
195         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(jalview.schemabinding.version2.JalviewModelSequence.class, "_jalviewModelSequence", "-error-if-this-is-used-", org.exolab.castor.xml.NodeType.Element);\r
196         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
197             public java.lang.Object getValue( java.lang.Object object ) \r
198                 throws IllegalStateException\r
199             {\r
200                 JalviewModel target = (JalviewModel) object;\r
201                 return target.getJalviewModelSequence();\r
202             }\r
203             public void setValue( java.lang.Object object, java.lang.Object value) \r
204                 throws IllegalStateException, IllegalArgumentException\r
205             {\r
206                 try {\r
207                     JalviewModel target = (JalviewModel) object;\r
208                     target.setJalviewModelSequence( (jalview.schemabinding.version2.JalviewModelSequence) value);\r
209                 } catch (java.lang.Exception ex) {\r
210                     throw new IllegalStateException(ex.toString());\r
211                 }\r
212             }\r
213             public java.lang.Object newInstance(java.lang.Object parent) {\r
214                 return new jalview.schemabinding.version2.JalviewModelSequence();\r
215             }\r
216         };\r
217         desc.setHandler(handler);\r
218         desc.setContainer(true);\r
219         desc.setClassDescriptor(new jalview.schemabinding.version2.descriptors.JalviewModelSequenceDescriptor());\r
220         desc.setNameSpaceURI("www.jalview.org");\r
221         desc.setRequired(true);\r
222         desc.setMultivalued(false);\r
223         addFieldDescriptor(desc);\r
224         \r
225         //-- validation code for: _jalviewModelSequence\r
226         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
227         fieldValidator.setMinOccurs(1);\r
228         { //-- local scope\r
229         }\r
230         desc.setValidator(fieldValidator);\r
231     }\r
232 \r
233 \r
234       //-----------/\r
235      //- Methods -/\r
236     //-----------/\r
237 \r
238     /**\r
239      * Method getAccessMode.\r
240      * \r
241      * @return the access mode specified for this class.\r
242      */\r
243     public org.exolab.castor.mapping.AccessMode getAccessMode(\r
244     ) {\r
245         return null;\r
246     }\r
247 \r
248     /**\r
249      * Method getIdentity.\r
250      * \r
251      * @return the identity field, null if this class has no\r
252      * identity.\r
253      */\r
254     public org.exolab.castor.mapping.FieldDescriptor getIdentity(\r
255     ) {\r
256         return super.getIdentity();\r
257     }\r
258 \r
259     /**\r
260      * Method getJavaClass.\r
261      * \r
262      * @return the Java class represented by this descriptor.\r
263      */\r
264     public java.lang.Class getJavaClass(\r
265     ) {\r
266         return jalview.schemabinding.version2.JalviewModel.class;\r
267     }\r
268 \r
269     /**\r
270      * Method getNameSpacePrefix.\r
271      * \r
272      * @return the namespace prefix to use when marshaling as XML.\r
273      */\r
274     public java.lang.String getNameSpacePrefix(\r
275     ) {\r
276         return _nsPrefix;\r
277     }\r
278 \r
279     /**\r
280      * Method getNameSpaceURI.\r
281      * \r
282      * @return the namespace URI used when marshaling and\r
283      * unmarshaling as XML.\r
284      */\r
285     public java.lang.String getNameSpaceURI(\r
286     ) {\r
287         return _nsURI;\r
288     }\r
289 \r
290     /**\r
291      * Method getValidator.\r
292      * \r
293      * @return a specific validator for the class described by this\r
294      * ClassDescriptor.\r
295      */\r
296     public org.exolab.castor.xml.TypeValidator getValidator(\r
297     ) {\r
298         return this;\r
299     }\r
300 \r
301     /**\r
302      * Method getXMLName.\r
303      * \r
304      * @return the XML Name for the Class being described.\r
305      */\r
306     public java.lang.String getXMLName(\r
307     ) {\r
308         return _xmlName;\r
309     }\r
310 \r
311     /**\r
312      * Method isElementDefinition.\r
313      * \r
314      * @return true if XML schema definition of this Class is that\r
315      * of a global\r
316      * element or element with anonymous type definition.\r
317      */\r
318     public boolean isElementDefinition(\r
319     ) {\r
320         return _elementDefinition;\r
321     }\r
322 \r
323 }\r