Jalview 2.6 source licence
[jalview.git] / src / jalview / schemabinding / version2 / descriptors / SequenceTypeDescriptor.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.SequenceType;\r
25 \r
26 /**\r
27  * Class SequenceTypeDescriptor.\r
28  * \r
29  * @version $Revision$ $Date$\r
30  */\r
31 public class SequenceTypeDescriptor extends\r
32         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   // - Constructors -/\r
61   // ----------------/\r
62 \r
63   public SequenceTypeDescriptor()\r
64   {\r
65     super();\r
66     _nsURI = "www.vamsas.ac.uk/jalview/version2";\r
67     _xmlName = "SequenceType";\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     // -- _id\r
78     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
79             java.lang.String.class, "_id", "id",\r
80             org.exolab.castor.xml.NodeType.Attribute);\r
81     desc.setImmutable(true);\r
82     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
83     {\r
84       public java.lang.Object getValue(java.lang.Object object)\r
85               throws IllegalStateException\r
86       {\r
87         SequenceType target = (SequenceType) object;\r
88         return target.getId();\r
89       }\r
90 \r
91       public void setValue(java.lang.Object object, java.lang.Object value)\r
92               throws IllegalStateException, IllegalArgumentException\r
93       {\r
94         try\r
95         {\r
96           SequenceType target = (SequenceType) object;\r
97           target.setId((java.lang.String) value);\r
98         } catch (java.lang.Exception ex)\r
99         {\r
100           throw new IllegalStateException(ex.toString());\r
101         }\r
102       }\r
103 \r
104       public java.lang.Object newInstance(java.lang.Object parent)\r
105       {\r
106         return null;\r
107       }\r
108     };\r
109     desc.setHandler(handler);\r
110     desc.setMultivalued(false);\r
111     addFieldDescriptor(desc);\r
112 \r
113     // -- validation code for: _id\r
114     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
115     { // -- local scope\r
116       org.exolab.castor.xml.validators.StringValidator typeValidator;\r
117       typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
118       fieldValidator.setValidator(typeValidator);\r
119       typeValidator.setWhiteSpace("preserve");\r
120     }\r
121     desc.setValidator(fieldValidator);\r
122     // -- _description\r
123     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
124             java.lang.String.class, "_description", "description",\r
125             org.exolab.castor.xml.NodeType.Attribute);\r
126     desc.setImmutable(true);\r
127     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
128     {\r
129       public java.lang.Object getValue(java.lang.Object object)\r
130               throws IllegalStateException\r
131       {\r
132         SequenceType target = (SequenceType) object;\r
133         return target.getDescription();\r
134       }\r
135 \r
136       public void setValue(java.lang.Object object, java.lang.Object value)\r
137               throws IllegalStateException, IllegalArgumentException\r
138       {\r
139         try\r
140         {\r
141           SequenceType target = (SequenceType) object;\r
142           target.setDescription((java.lang.String) value);\r
143         } catch (java.lang.Exception ex)\r
144         {\r
145           throw new IllegalStateException(ex.toString());\r
146         }\r
147       }\r
148 \r
149       public java.lang.Object newInstance(java.lang.Object parent)\r
150       {\r
151         return null;\r
152       }\r
153     };\r
154     desc.setHandler(handler);\r
155     desc.setMultivalued(false);\r
156     addFieldDescriptor(desc);\r
157 \r
158     // -- validation code for: _description\r
159     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
160     { // -- local scope\r
161       org.exolab.castor.xml.validators.StringValidator typeValidator;\r
162       typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
163       fieldValidator.setValidator(typeValidator);\r
164       typeValidator.setWhiteSpace("preserve");\r
165     }\r
166     desc.setValidator(fieldValidator);\r
167     // -- initialize element descriptors\r
168 \r
169     // -- _sequence\r
170     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
171             java.lang.String.class, "_sequence", "sequence",\r
172             org.exolab.castor.xml.NodeType.Element);\r
173     desc.setImmutable(true);\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         SequenceType target = (SequenceType) object;\r
180         return target.getSequence();\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           SequenceType target = (SequenceType) object;\r
189           target.setSequence((java.lang.String) 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 java.lang.Object newInstance(java.lang.Object parent)\r
197       {\r
198         return null;\r
199       }\r
200     };\r
201     desc.setHandler(handler);\r
202     desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");\r
203     desc.setMultivalued(false);\r
204     addFieldDescriptor(desc);\r
205 \r
206     // -- validation code for: _sequence\r
207     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
208     { // -- local scope\r
209       org.exolab.castor.xml.validators.StringValidator typeValidator;\r
210       typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
211       fieldValidator.setValidator(typeValidator);\r
212       typeValidator.setWhiteSpace("preserve");\r
213     }\r
214     desc.setValidator(fieldValidator);\r
215     // -- _name\r
216     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
217             java.lang.String.class, "_name", "name",\r
218             org.exolab.castor.xml.NodeType.Element);\r
219     desc.setImmutable(true);\r
220     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
221     {\r
222       public java.lang.Object getValue(java.lang.Object object)\r
223               throws IllegalStateException\r
224       {\r
225         SequenceType target = (SequenceType) object;\r
226         return target.getName();\r
227       }\r
228 \r
229       public void setValue(java.lang.Object object, java.lang.Object value)\r
230               throws IllegalStateException, IllegalArgumentException\r
231       {\r
232         try\r
233         {\r
234           SequenceType target = (SequenceType) object;\r
235           target.setName((java.lang.String) value);\r
236         } catch (java.lang.Exception ex)\r
237         {\r
238           throw new IllegalStateException(ex.toString());\r
239         }\r
240       }\r
241 \r
242       public java.lang.Object newInstance(java.lang.Object parent)\r
243       {\r
244         return null;\r
245       }\r
246     };\r
247     desc.setHandler(handler);\r
248     desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");\r
249     desc.setMultivalued(false);\r
250     addFieldDescriptor(desc);\r
251 \r
252     // -- validation code for: _name\r
253     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
254     { // -- local scope\r
255       org.exolab.castor.xml.validators.StringValidator typeValidator;\r
256       typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
257       fieldValidator.setValidator(typeValidator);\r
258       typeValidator.setWhiteSpace("preserve");\r
259     }\r
260     desc.setValidator(fieldValidator);\r
261   }\r
262 \r
263   // -----------/\r
264   // - Methods -/\r
265   // -----------/\r
266 \r
267   /**\r
268    * Method getAccessMode.\r
269    * \r
270    * @return the access mode specified for this class.\r
271    */\r
272   public org.exolab.castor.mapping.AccessMode getAccessMode()\r
273   {\r
274     return null;\r
275   }\r
276 \r
277   /**\r
278    * Method getIdentity.\r
279    * \r
280    * @return the identity field, null if this class has no identity.\r
281    */\r
282   public org.exolab.castor.mapping.FieldDescriptor getIdentity()\r
283   {\r
284     return super.getIdentity();\r
285   }\r
286 \r
287   /**\r
288    * Method getJavaClass.\r
289    * \r
290    * @return the Java class represented by this descriptor.\r
291    */\r
292   public java.lang.Class getJavaClass()\r
293   {\r
294     return jalview.schemabinding.version2.SequenceType.class;\r
295   }\r
296 \r
297   /**\r
298    * Method getNameSpacePrefix.\r
299    * \r
300    * @return the namespace prefix to use when marshaling as XML.\r
301    */\r
302   public java.lang.String getNameSpacePrefix()\r
303   {\r
304     return _nsPrefix;\r
305   }\r
306 \r
307   /**\r
308    * Method getNameSpaceURI.\r
309    * \r
310    * @return the namespace URI used when marshaling and unmarshaling as XML.\r
311    */\r
312   public java.lang.String getNameSpaceURI()\r
313   {\r
314     return _nsURI;\r
315   }\r
316 \r
317   /**\r
318    * Method getValidator.\r
319    * \r
320    * @return a specific validator for the class described by this\r
321    *         ClassDescriptor.\r
322    */\r
323   public org.exolab.castor.xml.TypeValidator getValidator()\r
324   {\r
325     return this;\r
326   }\r
327 \r
328   /**\r
329    * Method getXMLName.\r
330    * \r
331    * @return the XML Name for the Class being described.\r
332    */\r
333   public java.lang.String getXMLName()\r
334   {\r
335     return _xmlName;\r
336   }\r
337 \r
338   /**\r
339    * Method isElementDefinition.\r
340    * \r
341    * @return true if XML schema definition of this Class is that of a global\r
342    *         element or element with anonymous type definition.\r
343    */\r
344   public boolean isElementDefinition()\r
345   {\r
346     return _elementDefinition;\r
347   }\r
348 \r
349 }\r