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