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