Jalview 2.6 source licence
[jalview.git] / src / jalview / schemabinding / version2 / descriptors / JalviewUserColoursDescriptor.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.JalviewUserColours;\r
25 import jalview.schemabinding.version2.Colour;\r
26 \r
27 /**\r
28  * Class JalviewUserColoursDescriptor.\r
29  * \r
30  * @version $Revision$ $Date$\r
31  */\r
32 public class JalviewUserColoursDescriptor 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 JalviewUserColoursDescriptor()\r
65   {\r
66     super();\r
67     _nsURI = "www.jalview.org/colours";\r
68     _xmlName = "JalviewUserColours";\r
69     _elementDefinition = false;\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     // -- _schemeName\r
79     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
80             java.lang.String.class, "_schemeName", "schemeName",\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         JalviewUserColours target = (JalviewUserColours) object;\r
89         return target.getSchemeName();\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           JalviewUserColours target = (JalviewUserColours) object;\r
98           target.setSchemeName((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.setMultivalued(false);\r
112     addFieldDescriptor(desc);\r
113 \r
114     // -- validation code for: _schemeName\r
115     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
116     { // -- local scope\r
117       org.exolab.castor.xml.validators.StringValidator typeValidator;\r
118       typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
119       fieldValidator.setValidator(typeValidator);\r
120       typeValidator.setWhiteSpace("preserve");\r
121     }\r
122     desc.setValidator(fieldValidator);\r
123     // -- initialize element descriptors\r
124 \r
125     // -- _version\r
126     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
127             java.lang.String.class, "_version", "Version",\r
128             org.exolab.castor.xml.NodeType.Element);\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         JalviewUserColours target = (JalviewUserColours) object;\r
136         return target.getVersion();\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           JalviewUserColours target = (JalviewUserColours) object;\r
145           target.setVersion((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: _version\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     // -- _colourList\r
171     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
172             Colour.class, "_colourList", "colour",\r
173             org.exolab.castor.xml.NodeType.Element);\r
174     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
175     {\r
176       public java.lang.Object getValue(java.lang.Object object)\r
177               throws IllegalStateException\r
178       {\r
179         JalviewUserColours target = (JalviewUserColours) object;\r
180         return target.getColour();\r
181       }\r
182 \r
183       public void setValue(java.lang.Object object, java.lang.Object value)\r
184               throws IllegalStateException, IllegalArgumentException\r
185       {\r
186         try\r
187         {\r
188           JalviewUserColours target = (JalviewUserColours) object;\r
189           target.addColour((Colour) value);\r
190         } catch (java.lang.Exception ex)\r
191         {\r
192           throw new IllegalStateException(ex.toString());\r
193         }\r
194       }\r
195 \r
196       public void resetValue(Object object) throws IllegalStateException,\r
197               IllegalArgumentException\r
198       {\r
199         try\r
200         {\r
201           JalviewUserColours target = (JalviewUserColours) object;\r
202           target.removeAllColour();\r
203         } catch (java.lang.Exception ex)\r
204         {\r
205           throw new IllegalStateException(ex.toString());\r
206         }\r
207       }\r
208 \r
209       public java.lang.Object newInstance(java.lang.Object parent)\r
210       {\r
211         return new Colour();\r
212       }\r
213     };\r
214     desc.setHandler(handler);\r
215     desc.setMultivalued(true);\r
216     addFieldDescriptor(desc);\r
217 \r
218     // -- validation code for: _colourList\r
219     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
220     fieldValidator.setMinOccurs(0);\r
221     { // -- local scope\r
222     }\r
223     desc.setValidator(fieldValidator);\r
224   }\r
225 \r
226   // -----------/\r
227   // - Methods -/\r
228   // -----------/\r
229 \r
230   /**\r
231    * Method getAccessMode.\r
232    * \r
233    * @return the access mode specified for this class.\r
234    */\r
235   public org.exolab.castor.mapping.AccessMode getAccessMode()\r
236   {\r
237     return null;\r
238   }\r
239 \r
240   /**\r
241    * Method getIdentity.\r
242    * \r
243    * @return the identity field, null if this class has no identity.\r
244    */\r
245   public org.exolab.castor.mapping.FieldDescriptor getIdentity()\r
246   {\r
247     return super.getIdentity();\r
248   }\r
249 \r
250   /**\r
251    * Method getJavaClass.\r
252    * \r
253    * @return the Java class represented by this descriptor.\r
254    */\r
255   public java.lang.Class getJavaClass()\r
256   {\r
257     return jalview.schemabinding.version2.JalviewUserColours.class;\r
258   }\r
259 \r
260   /**\r
261    * Method getNameSpacePrefix.\r
262    * \r
263    * @return the namespace prefix to use when marshaling as XML.\r
264    */\r
265   public java.lang.String getNameSpacePrefix()\r
266   {\r
267     return _nsPrefix;\r
268   }\r
269 \r
270   /**\r
271    * Method getNameSpaceURI.\r
272    * \r
273    * @return the namespace URI used when marshaling and unmarshaling as XML.\r
274    */\r
275   public java.lang.String getNameSpaceURI()\r
276   {\r
277     return _nsURI;\r
278   }\r
279 \r
280   /**\r
281    * Method getValidator.\r
282    * \r
283    * @return a specific validator for the class described by this\r
284    *         ClassDescriptor.\r
285    */\r
286   public org.exolab.castor.xml.TypeValidator getValidator()\r
287   {\r
288     return this;\r
289   }\r
290 \r
291   /**\r
292    * Method getXMLName.\r
293    * \r
294    * @return the XML Name for the Class being described.\r
295    */\r
296   public java.lang.String getXMLName()\r
297   {\r
298     return _xmlName;\r
299   }\r
300 \r
301   /**\r
302    * Method isElementDefinition.\r
303    * \r
304    * @return true if XML schema definition of this Class is that of a global\r
305    *         element or element with anonymous type definition.\r
306    */\r
307   public boolean isElementDefinition()\r
308   {\r
309     return _elementDefinition;\r
310   }\r
311 \r
312 }\r