extended Colour element with additional optional attributes for graduated colour
[jalview.git] / src / jalview / schemabinding / version2 / descriptors / JalviewUserColoursDescriptor.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.JalviewUserColours;\r
26 import jalview.schemabinding.version2.Colour;\r
27 \r
28 /**\r
29  * Class JalviewUserColoursDescriptor.\r
30  * \r
31  * @version $Revision$ $Date$\r
32  */\r
33 public class JalviewUserColoursDescriptor extends 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       //----------------/\r
62      //- Constructors -/\r
63     //----------------/\r
64 \r
65     public JalviewUserColoursDescriptor() {\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(java.lang.String.class, "_schemeName", "schemeName", org.exolab.castor.xml.NodeType.Attribute);\r
80         desc.setImmutable(true);\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                 JalviewUserColours target = (JalviewUserColours) object;\r
86                 return target.getSchemeName();\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                     JalviewUserColours target = (JalviewUserColours) object;\r
93                     target.setSchemeName( (java.lang.String) 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 null;\r
100             }\r
101         };\r
102         desc.setHandler(handler);\r
103         desc.setMultivalued(false);\r
104         addFieldDescriptor(desc);\r
105         \r
106         //-- validation code for: _schemeName\r
107         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
108         { //-- local scope\r
109             org.exolab.castor.xml.validators.StringValidator typeValidator;\r
110             typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
111             fieldValidator.setValidator(typeValidator);\r
112             typeValidator.setWhiteSpace("preserve");\r
113         }\r
114         desc.setValidator(fieldValidator);\r
115         //-- initialize element descriptors\r
116         \r
117         //-- _version\r
118         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_version", "Version", org.exolab.castor.xml.NodeType.Element);\r
119         desc.setImmutable(true);\r
120         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
121             public java.lang.Object getValue( java.lang.Object object ) \r
122                 throws IllegalStateException\r
123             {\r
124                 JalviewUserColours target = (JalviewUserColours) object;\r
125                 return target.getVersion();\r
126             }\r
127             public void setValue( java.lang.Object object, java.lang.Object value) \r
128                 throws IllegalStateException, IllegalArgumentException\r
129             {\r
130                 try {\r
131                     JalviewUserColours target = (JalviewUserColours) object;\r
132                     target.setVersion( (java.lang.String) value);\r
133                 } catch (java.lang.Exception ex) {\r
134                     throw new IllegalStateException(ex.toString());\r
135                 }\r
136             }\r
137             public java.lang.Object newInstance(java.lang.Object parent) {\r
138                 return null;\r
139             }\r
140         };\r
141         desc.setHandler(handler);\r
142         desc.setMultivalued(false);\r
143         addFieldDescriptor(desc);\r
144         \r
145         //-- validation code for: _version\r
146         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
147         { //-- local scope\r
148             org.exolab.castor.xml.validators.StringValidator typeValidator;\r
149             typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
150             fieldValidator.setValidator(typeValidator);\r
151             typeValidator.setWhiteSpace("preserve");\r
152         }\r
153         desc.setValidator(fieldValidator);\r
154         //-- _colourList\r
155         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(Colour.class, "_colourList", "colour", org.exolab.castor.xml.NodeType.Element);\r
156         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
157             public java.lang.Object getValue( java.lang.Object object ) \r
158                 throws IllegalStateException\r
159             {\r
160                 JalviewUserColours target = (JalviewUserColours) object;\r
161                 return target.getColour();\r
162             }\r
163             public void setValue( java.lang.Object object, java.lang.Object value) \r
164                 throws IllegalStateException, IllegalArgumentException\r
165             {\r
166                 try {\r
167                     JalviewUserColours target = (JalviewUserColours) object;\r
168                     target.addColour( (Colour) value);\r
169                 } catch (java.lang.Exception ex) {\r
170                     throw new IllegalStateException(ex.toString());\r
171                 }\r
172             }\r
173             public void resetValue(Object object) throws IllegalStateException, IllegalArgumentException {\r
174                 try {\r
175                     JalviewUserColours target = (JalviewUserColours) object;\r
176                     target.removeAllColour();\r
177                 } catch (java.lang.Exception ex) {\r
178                     throw new IllegalStateException(ex.toString());\r
179                 }\r
180             }\r
181             public java.lang.Object newInstance(java.lang.Object parent) {\r
182                 return new Colour();\r
183             }\r
184         };\r
185         desc.setHandler(handler);\r
186         desc.setMultivalued(true);\r
187         addFieldDescriptor(desc);\r
188         \r
189         //-- validation code for: _colourList\r
190         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
191         fieldValidator.setMinOccurs(0);\r
192         { //-- local scope\r
193         }\r
194         desc.setValidator(fieldValidator);\r
195     }\r
196 \r
197 \r
198       //-----------/\r
199      //- Methods -/\r
200     //-----------/\r
201 \r
202     /**\r
203      * Method getAccessMode.\r
204      * \r
205      * @return the access mode specified for this class.\r
206      */\r
207     public org.exolab.castor.mapping.AccessMode getAccessMode(\r
208     ) {\r
209         return null;\r
210     }\r
211 \r
212     /**\r
213      * Method getIdentity.\r
214      * \r
215      * @return the identity field, null if this class has no\r
216      * identity.\r
217      */\r
218     public org.exolab.castor.mapping.FieldDescriptor getIdentity(\r
219     ) {\r
220         return super.getIdentity();\r
221     }\r
222 \r
223     /**\r
224      * Method getJavaClass.\r
225      * \r
226      * @return the Java class represented by this descriptor.\r
227      */\r
228     public java.lang.Class getJavaClass(\r
229     ) {\r
230         return jalview.schemabinding.version2.JalviewUserColours.class;\r
231     }\r
232 \r
233     /**\r
234      * Method getNameSpacePrefix.\r
235      * \r
236      * @return the namespace prefix to use when marshaling as XML.\r
237      */\r
238     public java.lang.String getNameSpacePrefix(\r
239     ) {\r
240         return _nsPrefix;\r
241     }\r
242 \r
243     /**\r
244      * Method getNameSpaceURI.\r
245      * \r
246      * @return the namespace URI used when marshaling and\r
247      * unmarshaling as XML.\r
248      */\r
249     public java.lang.String getNameSpaceURI(\r
250     ) {\r
251         return _nsURI;\r
252     }\r
253 \r
254     /**\r
255      * Method getValidator.\r
256      * \r
257      * @return a specific validator for the class described by this\r
258      * ClassDescriptor.\r
259      */\r
260     public org.exolab.castor.xml.TypeValidator getValidator(\r
261     ) {\r
262         return this;\r
263     }\r
264 \r
265     /**\r
266      * Method getXMLName.\r
267      * \r
268      * @return the XML Name for the Class being described.\r
269      */\r
270     public java.lang.String getXMLName(\r
271     ) {\r
272         return _xmlName;\r
273     }\r
274 \r
275     /**\r
276      * Method isElementDefinition.\r
277      * \r
278      * @return true if XML schema definition of this Class is that\r
279      * of a global\r
280      * element or element with anonymous type definition.\r
281      */\r
282     public boolean isElementDefinition(\r
283     ) {\r
284         return _elementDefinition;\r
285     }\r
286 \r
287 }\r