merge from 2_4_Release branch
[jalview.git] / src / jalview / schemabinding / version2 / descriptors / ColourDescriptor.java
1 /*\r
2  * Jalview - A Sequence Alignment Editor and Viewer (Version 2.4)\r
3  * Copyright (C) 2008 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.Colour;\r
26 \r
27 /**\r
28  * Class ColourDescriptor.\r
29  * \r
30  * @version $Revision$ $Date$\r
31  */\r
32 public class ColourDescriptor 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 ColourDescriptor()\r
65   {\r
66     super();\r
67     _xmlName = "colour";\r
68     _elementDefinition = true;\r
69     org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;\r
70     org.exolab.castor.mapping.FieldHandler handler = null;\r
71     org.exolab.castor.xml.FieldValidator fieldValidator = null;\r
72     // -- initialize attribute descriptors\r
73 \r
74     // -- _name\r
75     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
76             java.lang.String.class, "_name", "Name",\r
77             org.exolab.castor.xml.NodeType.Attribute);\r
78     desc.setImmutable(true);\r
79     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
80     {\r
81       public java.lang.Object getValue(java.lang.Object object)\r
82               throws IllegalStateException\r
83       {\r
84         Colour target = (Colour) object;\r
85         return target.getName();\r
86       }\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         {\r
93           Colour target = (Colour) object;\r
94           target.setName((java.lang.String) value);\r
95         } catch (java.lang.Exception ex)\r
96         {\r
97           throw new IllegalStateException(ex.toString());\r
98         }\r
99       }\r
100 \r
101       public java.lang.Object newInstance(java.lang.Object parent)\r
102       {\r
103         return null;\r
104       }\r
105     };\r
106     desc.setHandler(handler);\r
107     desc.setMultivalued(false);\r
108     addFieldDescriptor(desc);\r
109 \r
110     // -- validation code for: _name\r
111     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
112     { // -- local scope\r
113       org.exolab.castor.xml.validators.StringValidator typeValidator;\r
114       typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
115       fieldValidator.setValidator(typeValidator);\r
116       typeValidator.setWhiteSpace("preserve");\r
117     }\r
118     desc.setValidator(fieldValidator);\r
119     // -- _RGB\r
120     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
121             java.lang.String.class, "_RGB", "RGB",\r
122             org.exolab.castor.xml.NodeType.Attribute);\r
123     desc.setImmutable(true);\r
124     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
125     {\r
126       public java.lang.Object getValue(java.lang.Object object)\r
127               throws IllegalStateException\r
128       {\r
129         Colour target = (Colour) object;\r
130         return target.getRGB();\r
131       }\r
132 \r
133       public void setValue(java.lang.Object object, java.lang.Object value)\r
134               throws IllegalStateException, IllegalArgumentException\r
135       {\r
136         try\r
137         {\r
138           Colour target = (Colour) object;\r
139           target.setRGB((java.lang.String) value);\r
140         } catch (java.lang.Exception ex)\r
141         {\r
142           throw new IllegalStateException(ex.toString());\r
143         }\r
144       }\r
145 \r
146       public java.lang.Object newInstance(java.lang.Object parent)\r
147       {\r
148         return null;\r
149       }\r
150     };\r
151     desc.setHandler(handler);\r
152     desc.setRequired(true);\r
153     desc.setMultivalued(false);\r
154     addFieldDescriptor(desc);\r
155 \r
156     // -- validation code for: _RGB\r
157     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
158     fieldValidator.setMinOccurs(1);\r
159     { // -- local scope\r
160       org.exolab.castor.xml.validators.StringValidator typeValidator;\r
161       typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
162       fieldValidator.setValidator(typeValidator);\r
163       typeValidator.setWhiteSpace("preserve");\r
164     }\r
165     desc.setValidator(fieldValidator);\r
166     // -- initialize element descriptors\r
167 \r
168   }\r
169 \r
170   // -----------/\r
171   // - Methods -/\r
172   // -----------/\r
173 \r
174   /**\r
175    * Method getAccessMode.\r
176    * \r
177    * @return the access mode specified for this class.\r
178    */\r
179   public org.exolab.castor.mapping.AccessMode getAccessMode()\r
180   {\r
181     return null;\r
182   }\r
183 \r
184   /**\r
185    * Method getIdentity.\r
186    * \r
187    * @return the identity field, null if this class has no identity.\r
188    */\r
189   public org.exolab.castor.mapping.FieldDescriptor getIdentity()\r
190   {\r
191     return super.getIdentity();\r
192   }\r
193 \r
194   /**\r
195    * Method getJavaClass.\r
196    * \r
197    * @return the Java class represented by this descriptor.\r
198    */\r
199   public java.lang.Class getJavaClass()\r
200   {\r
201     return jalview.schemabinding.version2.Colour.class;\r
202   }\r
203 \r
204   /**\r
205    * Method getNameSpacePrefix.\r
206    * \r
207    * @return the namespace prefix to use when marshaling as XML.\r
208    */\r
209   public java.lang.String getNameSpacePrefix()\r
210   {\r
211     return _nsPrefix;\r
212   }\r
213 \r
214   /**\r
215    * Method getNameSpaceURI.\r
216    * \r
217    * @return the namespace URI used when marshaling and unmarshaling as XML.\r
218    */\r
219   public java.lang.String getNameSpaceURI()\r
220   {\r
221     return _nsURI;\r
222   }\r
223 \r
224   /**\r
225    * Method getValidator.\r
226    * \r
227    * @return a specific validator for the class described by this\r
228    *         ClassDescriptor.\r
229    */\r
230   public org.exolab.castor.xml.TypeValidator getValidator()\r
231   {\r
232     return this;\r
233   }\r
234 \r
235   /**\r
236    * Method getXMLName.\r
237    * \r
238    * @return the XML Name for the Class being described.\r
239    */\r
240   public java.lang.String getXMLName()\r
241   {\r
242     return _xmlName;\r
243   }\r
244 \r
245   /**\r
246    * Method isElementDefinition.\r
247    * \r
248    * @return true if XML schema definition of this Class is that of a global\r
249    *         element or element with anonymous type definition.\r
250    */\r
251   public boolean isElementDefinition()\r
252   {\r
253     return _elementDefinition;\r
254   }\r
255 \r
256 }\r