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