applied LGPLv3 and source code formatting.
[vamsas.git] / src / uk / ac / vamsas / objects / core / descriptors / ApplicationDataDescriptor.java
1 /*\r
2  * This file is part of the Vamsas Client version 0.1. \r
3  * Copyright 2009 by Jim Procter, Iain Milne, Pierre Marguerite, \r
4  *  Andrew Waterhouse and Dominik Lindner.\r
5  * \r
6  * Earlier versions have also been incorporated into Jalview version 2.4 \r
7  * since 2008, and TOPALi version 2 since 2007.\r
8  * \r
9  * The Vamsas Client is free software: you can redistribute it and/or modify\r
10  * it under the terms of the GNU Lesser General Public License as published by\r
11  * the Free Software Foundation, either version 3 of the License, or\r
12  * (at your option) any later version.\r
13  *  \r
14  * The Vamsas Client is distributed in the hope that it will be useful,\r
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
17  * GNU Lesser General Public License for more details.\r
18  * \r
19  * You should have received a copy of the GNU Lesser General Public License\r
20  * along with the Vamsas Client.  If not, see <http://www.gnu.org/licenses/>.\r
21  */\r
22 package uk.ac.vamsas.objects.core.descriptors;\r
23 \r
24 //---------------------------------/\r
25 //- Imported classes and packages -/\r
26 //---------------------------------/\r
27 \r
28 import uk.ac.vamsas.objects.core.ApplicationData;\r
29 \r
30 /**\r
31  * Class ApplicationDataDescriptor.\r
32  * \r
33  * @version $Revision$ $Date$\r
34  */\r
35 public class ApplicationDataDescriptor extends\r
36     uk.ac.vamsas.objects.core.descriptors.AppDataDescriptor {\r
37 \r
38   // --------------------------/\r
39   // - Class/Member Variables -/\r
40   // --------------------------/\r
41 \r
42   /**\r
43    * Field _elementDefinition.\r
44    */\r
45   private boolean _elementDefinition;\r
46 \r
47   /**\r
48    * Field _nsPrefix.\r
49    */\r
50   private java.lang.String _nsPrefix;\r
51 \r
52   /**\r
53    * Field _nsURI.\r
54    */\r
55   private java.lang.String _nsURI;\r
56 \r
57   /**\r
58    * Field _xmlName.\r
59    */\r
60   private java.lang.String _xmlName;\r
61 \r
62   // ----------------/\r
63   // - Constructors -/\r
64   // ----------------/\r
65 \r
66   public ApplicationDataDescriptor() {\r
67     super();\r
68     setExtendsWithoutFlatten(new uk.ac.vamsas.objects.core.descriptors.AppDataDescriptor());\r
69     _nsURI = "http://www.vamsas.ac.uk/schemas/1.0/vamsasTypes";\r
70     _xmlName = "ApplicationData";\r
71     _elementDefinition = true;\r
72 \r
73     // -- set grouping compositor\r
74     setCompositorAsSequence();\r
75     org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;\r
76     org.exolab.castor.mapping.FieldHandler handler = null;\r
77     org.exolab.castor.xml.FieldValidator fieldValidator = null;\r
78     // -- initialize attribute descriptors\r
79 \r
80     // -- _version\r
81     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
82         java.lang.String.class, "_version", "version",\r
83         org.exolab.castor.xml.NodeType.Attribute);\r
84     desc.setImmutable(true);\r
85     handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
86       public java.lang.Object getValue(java.lang.Object object)\r
87           throws IllegalStateException {\r
88         ApplicationData target = (ApplicationData) object;\r
89         return target.getVersion();\r
90       }\r
91 \r
92       public void setValue(java.lang.Object object, java.lang.Object value)\r
93           throws IllegalStateException, IllegalArgumentException {\r
94         try {\r
95           ApplicationData target = (ApplicationData) object;\r
96           target.setVersion((java.lang.String) value);\r
97         } catch (java.lang.Exception ex) {\r
98           throw new IllegalStateException(ex.toString());\r
99         }\r
100       }\r
101 \r
102       public java.lang.Object newInstance(java.lang.Object parent) {\r
103         return null;\r
104       }\r
105     };\r
106     desc.setHandler(handler);\r
107     desc.setRequired(true);\r
108     desc.setMultivalued(false);\r
109     addFieldDescriptor(desc);\r
110 \r
111     // -- validation code for: _version\r
112     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
113     fieldValidator.setMinOccurs(1);\r
114     { // -- local scope\r
115       org.exolab.castor.xml.validators.StringValidator typeValidator;\r
116       typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
117       fieldValidator.setValidator(typeValidator);\r
118       typeValidator.setWhiteSpace("preserve");\r
119     }\r
120     desc.setValidator(fieldValidator);\r
121     // -- _name\r
122     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
123         java.lang.String.class, "_name", "name",\r
124         org.exolab.castor.xml.NodeType.Attribute);\r
125     desc.setImmutable(true);\r
126     handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
127       public java.lang.Object getValue(java.lang.Object object)\r
128           throws IllegalStateException {\r
129         ApplicationData target = (ApplicationData) object;\r
130         return target.getName();\r
131       }\r
132 \r
133       public void setValue(java.lang.Object object, java.lang.Object value)\r
134           throws IllegalStateException, IllegalArgumentException {\r
135         try {\r
136           ApplicationData target = (ApplicationData) object;\r
137           target.setName((java.lang.String) value);\r
138         } catch (java.lang.Exception ex) {\r
139           throw new IllegalStateException(ex.toString());\r
140         }\r
141       }\r
142 \r
143       public java.lang.Object newInstance(java.lang.Object parent) {\r
144         return null;\r
145       }\r
146     };\r
147     desc.setHandler(handler);\r
148     desc.setRequired(true);\r
149     desc.setMultivalued(false);\r
150     addFieldDescriptor(desc);\r
151 \r
152     // -- validation code for: _name\r
153     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
154     fieldValidator.setMinOccurs(1);\r
155     { // -- local scope\r
156       org.exolab.castor.xml.validators.StringValidator typeValidator;\r
157       typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
158       fieldValidator.setValidator(typeValidator);\r
159       typeValidator.setWhiteSpace("preserve");\r
160     }\r
161     desc.setValidator(fieldValidator);\r
162     // -- initialize element descriptors\r
163 \r
164     // -- _userList\r
165     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
166         uk.ac.vamsas.objects.core.User.class, "_userList", "User",\r
167         org.exolab.castor.xml.NodeType.Element);\r
168     handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
169       public java.lang.Object getValue(java.lang.Object object)\r
170           throws IllegalStateException {\r
171         ApplicationData target = (ApplicationData) object;\r
172         return target.getUser();\r
173       }\r
174 \r
175       public void setValue(java.lang.Object object, java.lang.Object value)\r
176           throws IllegalStateException, IllegalArgumentException {\r
177         try {\r
178           ApplicationData target = (ApplicationData) object;\r
179           target.addUser((uk.ac.vamsas.objects.core.User) value);\r
180         } catch (java.lang.Exception ex) {\r
181           throw new IllegalStateException(ex.toString());\r
182         }\r
183       }\r
184 \r
185       public void resetValue(Object object) throws IllegalStateException,\r
186           IllegalArgumentException {\r
187         try {\r
188           ApplicationData target = (ApplicationData) object;\r
189           target.removeAllUser();\r
190         } catch (java.lang.Exception ex) {\r
191           throw new IllegalStateException(ex.toString());\r
192         }\r
193       }\r
194 \r
195       public java.lang.Object newInstance(java.lang.Object parent) {\r
196         return new uk.ac.vamsas.objects.core.User();\r
197       }\r
198     };\r
199     desc.setHandler(handler);\r
200     desc.setNameSpaceURI("http://www.vamsas.ac.uk/schemas/1.0/vamsasTypes");\r
201     desc.setMultivalued(true);\r
202     addFieldDescriptor(desc);\r
203 \r
204     // -- validation code for: _userList\r
205     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
206     fieldValidator.setMinOccurs(0);\r
207     { // -- local scope\r
208     }\r
209     desc.setValidator(fieldValidator);\r
210     // -- _common\r
211     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
212         uk.ac.vamsas.objects.core.Common.class, "_common", "Common",\r
213         org.exolab.castor.xml.NodeType.Element);\r
214     handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
215       public java.lang.Object getValue(java.lang.Object object)\r
216           throws IllegalStateException {\r
217         ApplicationData target = (ApplicationData) object;\r
218         return target.getCommon();\r
219       }\r
220 \r
221       public void setValue(java.lang.Object object, java.lang.Object value)\r
222           throws IllegalStateException, IllegalArgumentException {\r
223         try {\r
224           ApplicationData target = (ApplicationData) object;\r
225           target.setCommon((uk.ac.vamsas.objects.core.Common) value);\r
226         } catch (java.lang.Exception ex) {\r
227           throw new IllegalStateException(ex.toString());\r
228         }\r
229       }\r
230 \r
231       public java.lang.Object newInstance(java.lang.Object parent) {\r
232         return new uk.ac.vamsas.objects.core.Common();\r
233       }\r
234     };\r
235     desc.setHandler(handler);\r
236     desc.setNameSpaceURI("http://www.vamsas.ac.uk/schemas/1.0/vamsasTypes");\r
237     desc.setMultivalued(false);\r
238     addFieldDescriptor(desc);\r
239 \r
240     // -- validation code for: _common\r
241     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
242     { // -- local scope\r
243     }\r
244     desc.setValidator(fieldValidator);\r
245     // -- _instanceList\r
246     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
247         uk.ac.vamsas.objects.core.Instance.class, "_instanceList", "Instance",\r
248         org.exolab.castor.xml.NodeType.Element);\r
249     handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
250       public java.lang.Object getValue(java.lang.Object object)\r
251           throws IllegalStateException {\r
252         ApplicationData target = (ApplicationData) object;\r
253         return target.getInstance();\r
254       }\r
255 \r
256       public void setValue(java.lang.Object object, java.lang.Object value)\r
257           throws IllegalStateException, IllegalArgumentException {\r
258         try {\r
259           ApplicationData target = (ApplicationData) object;\r
260           target.addInstance((uk.ac.vamsas.objects.core.Instance) value);\r
261         } catch (java.lang.Exception ex) {\r
262           throw new IllegalStateException(ex.toString());\r
263         }\r
264       }\r
265 \r
266       public void resetValue(Object object) throws IllegalStateException,\r
267           IllegalArgumentException {\r
268         try {\r
269           ApplicationData target = (ApplicationData) object;\r
270           target.removeAllInstance();\r
271         } catch (java.lang.Exception ex) {\r
272           throw new IllegalStateException(ex.toString());\r
273         }\r
274       }\r
275 \r
276       public java.lang.Object newInstance(java.lang.Object parent) {\r
277         return new uk.ac.vamsas.objects.core.Instance();\r
278       }\r
279     };\r
280     desc.setHandler(handler);\r
281     desc.setNameSpaceURI("http://www.vamsas.ac.uk/schemas/1.0/vamsasTypes");\r
282     desc.setMultivalued(true);\r
283     addFieldDescriptor(desc);\r
284 \r
285     // -- validation code for: _instanceList\r
286     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
287     fieldValidator.setMinOccurs(0);\r
288     { // -- local scope\r
289     }\r
290     desc.setValidator(fieldValidator);\r
291   }\r
292 \r
293   // -----------/\r
294   // - Methods -/\r
295   // -----------/\r
296 \r
297   /**\r
298    * Method getAccessMode.\r
299    * \r
300    * @return the access mode specified for this class.\r
301    */\r
302   public org.exolab.castor.mapping.AccessMode getAccessMode() {\r
303     return null;\r
304   }\r
305 \r
306   /**\r
307    * Method getIdentity.\r
308    * \r
309    * @return the identity field, null if this class has no identity.\r
310    */\r
311   public org.exolab.castor.mapping.FieldDescriptor getIdentity() {\r
312     return super.getIdentity();\r
313   }\r
314 \r
315   /**\r
316    * Method getJavaClass.\r
317    * \r
318    * @return the Java class represented by this descriptor.\r
319    */\r
320   public java.lang.Class getJavaClass() {\r
321     return uk.ac.vamsas.objects.core.ApplicationData.class;\r
322   }\r
323 \r
324   /**\r
325    * Method getNameSpacePrefix.\r
326    * \r
327    * @return the namespace prefix to use when marshaling as XML.\r
328    */\r
329   public java.lang.String getNameSpacePrefix() {\r
330     return _nsPrefix;\r
331   }\r
332 \r
333   /**\r
334    * Method getNameSpaceURI.\r
335    * \r
336    * @return the namespace URI used when marshaling and unmarshaling as XML.\r
337    */\r
338   public java.lang.String getNameSpaceURI() {\r
339     return _nsURI;\r
340   }\r
341 \r
342   /**\r
343    * Method getValidator.\r
344    * \r
345    * @return a specific validator for the class described by this\r
346    *         ClassDescriptor.\r
347    */\r
348   public org.exolab.castor.xml.TypeValidator getValidator() {\r
349     return this;\r
350   }\r
351 \r
352   /**\r
353    * Method getXMLName.\r
354    * \r
355    * @return the XML Name for the Class being described.\r
356    */\r
357   public java.lang.String getXMLName() {\r
358     return _xmlName;\r
359   }\r
360 \r
361   /**\r
362    * Method isElementDefinition.\r
363    * \r
364    * @return true if XML schema definition of this Class is that of a global\r
365    *         element or element with anonymous type definition.\r
366    */\r
367   public boolean isElementDefinition() {\r
368     return _elementDefinition;\r
369   }\r
370 \r
371 }\r