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
5 * This file is part of Jalview.
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.
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.
16 * You should have received a copy of the GNU General Public License along with Jalview. If not, see <http://www.gnu.org/licenses/>.
18 package jalview.schemabinding.version2.descriptors;
20 //---------------------------------/
21 //- Imported classes and packages -/
22 //---------------------------------/
24 import jalview.schemabinding.version2.JalviewModel;
27 * Class JalviewModelDescriptor.
29 * @version $Revision$ $Date$
31 public class JalviewModelDescriptor extends
32 org.exolab.castor.xml.util.XMLClassDescriptorImpl
35 // --------------------------/
36 // - Class/Member Variables -/
37 // --------------------------/
40 * Field _elementDefinition.
42 private boolean _elementDefinition;
47 private java.lang.String _nsPrefix;
52 private java.lang.String _nsURI;
57 private java.lang.String _xmlName;
63 public JalviewModelDescriptor()
66 _nsURI = "www.jalview.org";
67 _xmlName = "JalviewModel";
68 _elementDefinition = false;
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
77 // -- initialize element descriptors
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()
85 public java.lang.Object getValue(java.lang.Object object)
86 throws IllegalStateException
88 JalviewModel target = (JalviewModel) object;
89 return target.getCreationDate();
92 public void setValue(java.lang.Object object, java.lang.Object value)
93 throws IllegalStateException, IllegalArgumentException
97 JalviewModel target = (JalviewModel) object;
98 target.setCreationDate((java.util.Date) value);
99 } catch (java.lang.Exception ex)
101 throw new IllegalStateException(ex.toString());
105 public java.lang.Object newInstance(java.lang.Object parent)
107 return new java.util.Date();
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);
118 // -- validation code for: _creationDate
119 fieldValidator = new org.exolab.castor.xml.FieldValidator();
120 fieldValidator.setMinOccurs(1);
122 org.exolab.castor.xml.validators.DateTimeValidator typeValidator;
123 typeValidator = new org.exolab.castor.xml.validators.DateTimeValidator();
124 fieldValidator.setValidator(typeValidator);
126 desc.setValidator(fieldValidator);
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()
134 public java.lang.Object getValue(java.lang.Object object)
135 throws IllegalStateException
137 JalviewModel target = (JalviewModel) object;
138 return target.getVersion();
141 public void setValue(java.lang.Object object, java.lang.Object value)
142 throws IllegalStateException, IllegalArgumentException
146 JalviewModel target = (JalviewModel) object;
147 target.setVersion((java.lang.String) value);
148 } catch (java.lang.Exception ex)
150 throw new IllegalStateException(ex.toString());
154 public java.lang.Object newInstance(java.lang.Object parent)
159 desc.setHandler(handler);
160 desc.setNameSpaceURI("www.jalview.org");
161 desc.setRequired(true);
162 desc.setMultivalued(false);
163 addFieldDescriptor(desc);
165 // -- validation code for: _version
166 fieldValidator = new org.exolab.castor.xml.FieldValidator();
167 fieldValidator.setMinOccurs(1);
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");
174 desc.setValidator(fieldValidator);
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()
182 public java.lang.Object getValue(java.lang.Object object)
183 throws IllegalStateException
185 JalviewModel target = (JalviewModel) object;
186 return target.getVamsasModel();
189 public void setValue(java.lang.Object object, java.lang.Object value)
190 throws IllegalStateException, IllegalArgumentException
194 JalviewModel target = (JalviewModel) object;
195 target.setVamsasModel((jalview.schemabinding.version2.VamsasModel) value);
196 } catch (java.lang.Exception ex)
198 throw new IllegalStateException(ex.toString());
202 public java.lang.Object newInstance(java.lang.Object parent)
204 return new jalview.schemabinding.version2.VamsasModel();
207 desc.setHandler(handler);
208 desc.setNameSpaceURI("www.jalview.org");
209 desc.setRequired(true);
210 desc.setMultivalued(false);
211 addFieldDescriptor(desc);
213 // -- validation code for: _vamsasModel
214 fieldValidator = new org.exolab.castor.xml.FieldValidator();
215 fieldValidator.setMinOccurs(1);
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()
226 public java.lang.Object getValue(java.lang.Object object)
227 throws IllegalStateException
229 JalviewModel target = (JalviewModel) object;
230 return target.getJalviewModelSequence();
233 public void setValue(java.lang.Object object, java.lang.Object value)
234 throws IllegalStateException, IllegalArgumentException
238 JalviewModel target = (JalviewModel) object;
239 target.setJalviewModelSequence((jalview.schemabinding.version2.JalviewModelSequence) value);
240 } catch (java.lang.Exception ex)
242 throw new IllegalStateException(ex.toString());
246 public java.lang.Object newInstance(java.lang.Object parent)
248 return new jalview.schemabinding.version2.JalviewModelSequence();
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);
259 // -- validation code for: _jalviewModelSequence
260 fieldValidator = new org.exolab.castor.xml.FieldValidator();
261 fieldValidator.setMinOccurs(1);
264 desc.setValidator(fieldValidator);
272 * Method getAccessMode.
274 * @return the access mode specified for this class.
276 public org.exolab.castor.mapping.AccessMode getAccessMode()
282 * Method getIdentity.
284 * @return the identity field, null if this class has no identity.
286 public org.exolab.castor.mapping.FieldDescriptor getIdentity()
288 return super.getIdentity();
292 * Method getJavaClass.
294 * @return the Java class represented by this descriptor.
296 public java.lang.Class getJavaClass()
298 return jalview.schemabinding.version2.JalviewModel.class;
302 * Method getNameSpacePrefix.
304 * @return the namespace prefix to use when marshaling as XML.
306 public java.lang.String getNameSpacePrefix()
312 * Method getNameSpaceURI.
314 * @return the namespace URI used when marshaling and unmarshaling as XML.
316 public java.lang.String getNameSpaceURI()
322 * Method getValidator.
324 * @return a specific validator for the class described by this
327 public org.exolab.castor.xml.TypeValidator getValidator()
335 * @return the XML Name for the Class being described.
337 public java.lang.String getXMLName()
343 * Method isElementDefinition.
345 * @return true if XML schema definition of this Class is that of a global
346 * element or element with anonymous type definition.
348 public boolean isElementDefinition()
350 return _elementDefinition;