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