2 * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
3 * Copyright (C) 2014 The Jalview Authors
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
10 * of the License, or (at your option) any later version.
12 * Jalview is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty
14 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 * PURPOSE. See the GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
19 * The Jalview Authors are detailed in the 'AUTHORS' file.
21 package jalview.schemabinding.version2.descriptors;
23 //---------------------------------/
24 //- Imported classes and packages -/
25 //---------------------------------/
27 import jalview.schemabinding.version2.JalviewModel;
30 * Class JalviewModelDescriptor.
32 * @version $Revision$ $Date$
34 public class JalviewModelDescriptor extends
35 org.exolab.castor.xml.util.XMLClassDescriptorImpl
38 // --------------------------/
39 // - Class/Member Variables -/
40 // --------------------------/
43 * Field _elementDefinition.
45 private boolean _elementDefinition;
50 private java.lang.String _nsPrefix;
55 private java.lang.String _nsURI;
60 private java.lang.String _xmlName;
66 public JalviewModelDescriptor()
69 _nsURI = "www.jalview.org";
70 _xmlName = "JalviewModel";
71 _elementDefinition = false;
73 // -- set grouping compositor
74 setCompositorAsSequence();
75 org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
76 org.exolab.castor.mapping.FieldHandler handler = null;
77 org.exolab.castor.xml.FieldValidator fieldValidator = null;
78 // -- initialize attribute descriptors
80 // -- initialize element descriptors
83 desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
84 java.util.Date.class, "_creationDate", "creationDate",
85 org.exolab.castor.xml.NodeType.Element);
86 handler = new org.exolab.castor.xml.XMLFieldHandler()
88 public java.lang.Object getValue(java.lang.Object object)
89 throws IllegalStateException
91 JalviewModel target = (JalviewModel) object;
92 return target.getCreationDate();
95 public void setValue(java.lang.Object object, java.lang.Object value)
96 throws IllegalStateException, IllegalArgumentException
100 JalviewModel target = (JalviewModel) object;
101 target.setCreationDate((java.util.Date) value);
102 } catch (java.lang.Exception ex)
104 throw new IllegalStateException(ex.toString());
108 public java.lang.Object newInstance(java.lang.Object parent)
110 return new java.util.Date();
113 handler = new org.exolab.castor.xml.handlers.DateFieldHandler(handler);
114 desc.setImmutable(true);
115 desc.setHandler(handler);
116 desc.setNameSpaceURI("www.jalview.org");
117 desc.setRequired(true);
118 desc.setMultivalued(false);
119 addFieldDescriptor(desc);
121 // -- validation code for: _creationDate
122 fieldValidator = new org.exolab.castor.xml.FieldValidator();
123 fieldValidator.setMinOccurs(1);
125 org.exolab.castor.xml.validators.DateTimeValidator typeValidator;
126 typeValidator = new org.exolab.castor.xml.validators.DateTimeValidator();
127 fieldValidator.setValidator(typeValidator);
129 desc.setValidator(fieldValidator);
131 desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
132 java.lang.String.class, "_version", "version",
133 org.exolab.castor.xml.NodeType.Element);
134 desc.setImmutable(true);
135 handler = new org.exolab.castor.xml.XMLFieldHandler()
137 public java.lang.Object getValue(java.lang.Object object)
138 throws IllegalStateException
140 JalviewModel target = (JalviewModel) object;
141 return target.getVersion();
144 public void setValue(java.lang.Object object, java.lang.Object value)
145 throws IllegalStateException, IllegalArgumentException
149 JalviewModel target = (JalviewModel) object;
150 target.setVersion((java.lang.String) value);
151 } catch (java.lang.Exception ex)
153 throw new IllegalStateException(ex.toString());
157 public java.lang.Object newInstance(java.lang.Object parent)
162 desc.setHandler(handler);
163 desc.setNameSpaceURI("www.jalview.org");
164 desc.setRequired(true);
165 desc.setMultivalued(false);
166 addFieldDescriptor(desc);
168 // -- validation code for: _version
169 fieldValidator = new org.exolab.castor.xml.FieldValidator();
170 fieldValidator.setMinOccurs(1);
172 org.exolab.castor.xml.validators.StringValidator typeValidator;
173 typeValidator = new org.exolab.castor.xml.validators.StringValidator();
174 fieldValidator.setValidator(typeValidator);
175 typeValidator.setWhiteSpace("preserve");
177 desc.setValidator(fieldValidator);
179 desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
180 jalview.schemabinding.version2.VamsasModel.class,
181 "_vamsasModel", "vamsasModel",
182 org.exolab.castor.xml.NodeType.Element);
183 handler = new org.exolab.castor.xml.XMLFieldHandler()
185 public java.lang.Object getValue(java.lang.Object object)
186 throws IllegalStateException
188 JalviewModel target = (JalviewModel) object;
189 return target.getVamsasModel();
192 public void setValue(java.lang.Object object, java.lang.Object value)
193 throws IllegalStateException, IllegalArgumentException
197 JalviewModel target = (JalviewModel) object;
198 target.setVamsasModel((jalview.schemabinding.version2.VamsasModel) value);
199 } catch (java.lang.Exception ex)
201 throw new IllegalStateException(ex.toString());
205 public java.lang.Object newInstance(java.lang.Object parent)
207 return new jalview.schemabinding.version2.VamsasModel();
210 desc.setHandler(handler);
211 desc.setNameSpaceURI("www.jalview.org");
212 desc.setRequired(true);
213 desc.setMultivalued(false);
214 addFieldDescriptor(desc);
216 // -- validation code for: _vamsasModel
217 fieldValidator = new org.exolab.castor.xml.FieldValidator();
218 fieldValidator.setMinOccurs(1);
221 desc.setValidator(fieldValidator);
222 // -- _jalviewModelSequence
223 desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
224 jalview.schemabinding.version2.JalviewModelSequence.class,
225 "_jalviewModelSequence", "-error-if-this-is-used-",
226 org.exolab.castor.xml.NodeType.Element);
227 handler = new org.exolab.castor.xml.XMLFieldHandler()
229 public java.lang.Object getValue(java.lang.Object object)
230 throws IllegalStateException
232 JalviewModel target = (JalviewModel) object;
233 return target.getJalviewModelSequence();
236 public void setValue(java.lang.Object object, java.lang.Object value)
237 throws IllegalStateException, IllegalArgumentException
241 JalviewModel target = (JalviewModel) object;
242 target.setJalviewModelSequence((jalview.schemabinding.version2.JalviewModelSequence) value);
243 } catch (java.lang.Exception ex)
245 throw new IllegalStateException(ex.toString());
249 public java.lang.Object newInstance(java.lang.Object parent)
251 return new jalview.schemabinding.version2.JalviewModelSequence();
254 desc.setHandler(handler);
255 desc.setContainer(true);
256 desc.setClassDescriptor(new jalview.schemabinding.version2.descriptors.JalviewModelSequenceDescriptor());
257 desc.setNameSpaceURI("www.jalview.org");
258 desc.setMultivalued(false);
259 addFieldDescriptor(desc);
261 // -- validation code for: _jalviewModelSequence
262 fieldValidator = new org.exolab.castor.xml.FieldValidator();
265 desc.setValidator(fieldValidator);
273 * Method getAccessMode.
275 * @return the access mode specified for this class.
277 public org.exolab.castor.mapping.AccessMode getAccessMode()
283 * Method getIdentity.
285 * @return the identity field, null if this class has no identity.
287 public org.exolab.castor.mapping.FieldDescriptor getIdentity()
289 return super.getIdentity();
293 * Method getJavaClass.
295 * @return the Java class represented by this descriptor.
297 public java.lang.Class getJavaClass()
299 return jalview.schemabinding.version2.JalviewModel.class;
303 * Method getNameSpacePrefix.
305 * @return the namespace prefix to use when marshaling as XML.
307 public java.lang.String getNameSpacePrefix()
313 * Method getNameSpaceURI.
315 * @return the namespace URI used when marshaling and unmarshaling as XML.
317 public java.lang.String getNameSpaceURI()
323 * Method getValidator.
325 * @return a specific validator for the class described by this
328 public org.exolab.castor.xml.TypeValidator getValidator()
336 * @return the XML Name for the Class being described.
338 public java.lang.String getXMLName()
344 * Method isElementDefinition.
346 * @return true if XML schema definition of this Class is that of a global
347 * element or element with anonymous type definition.
349 public boolean isElementDefinition()
351 return _elementDefinition;