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