2 * Jalview - A Sequence Alignment Editor and Viewer (Version 2.4)
\r
3 * Copyright (C) 2008 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
\r
5 * This program is free software; you can redistribute it and/or
\r
6 * modify it under the terms of the GNU General Public License
\r
7 * as published by the Free Software Foundation; either version 2
\r
8 * of the License, or (at your option) any later version.
\r
10 * This program is distributed in the hope that it will be useful,
\r
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
\r
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
\r
13 * GNU General Public License for more details.
\r
15 * You should have received a copy of the GNU General Public License
\r
16 * along with this program; if not, write to the Free Software
\r
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
\r
19 package jalview.schemabinding.version2.descriptors;
\r
21 // ---------------------------------/
\r
22 // - Imported classes and packages -/
\r
23 // ---------------------------------/
\r
25 import jalview.schemabinding.version2.JSeq;
\r
28 * Class JSeqDescriptor.
\r
30 * @version $Revision$ $Date$
\r
32 public class JSeqDescriptor extends
\r
33 org.exolab.castor.xml.util.XMLClassDescriptorImpl
\r
36 // --------------------------/
\r
37 // - Class/Member Variables -/
\r
38 // --------------------------/
\r
41 * Field _elementDefinition.
\r
43 private boolean _elementDefinition;
\r
48 private java.lang.String _nsPrefix;
\r
53 private java.lang.String _nsURI;
\r
58 private java.lang.String _xmlName;
\r
60 // ----------------/
\r
61 // - Constructors -/
\r
62 // ----------------/
\r
64 public JSeqDescriptor()
\r
67 _nsURI = "www.jalview.org";
\r
69 _elementDefinition = true;
\r
71 // -- set grouping compositor
\r
72 setCompositorAsSequence();
\r
73 org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
\r
74 org.exolab.castor.mapping.FieldHandler handler = null;
\r
75 org.exolab.castor.xml.FieldValidator fieldValidator = null;
\r
76 // -- initialize attribute descriptors
\r
79 desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
\r
80 java.lang.Integer.TYPE, "_colour", "colour",
\r
81 org.exolab.castor.xml.NodeType.Attribute);
\r
82 handler = new org.exolab.castor.xml.XMLFieldHandler()
\r
84 public java.lang.Object getValue(java.lang.Object object)
\r
85 throws IllegalStateException
\r
87 JSeq target = (JSeq) object;
\r
88 if (!target.hasColour())
\r
92 return new java.lang.Integer(target.getColour());
\r
95 public void setValue(java.lang.Object object, java.lang.Object value)
\r
96 throws IllegalStateException, IllegalArgumentException
\r
100 JSeq target = (JSeq) object;
\r
101 // if null, use delete method for optional primitives
\r
104 target.deleteColour();
\r
107 target.setColour(((java.lang.Integer) value).intValue());
\r
108 } catch (java.lang.Exception ex)
\r
110 throw new IllegalStateException(ex.toString());
\r
114 public java.lang.Object newInstance(java.lang.Object parent)
\r
119 desc.setHandler(handler);
\r
120 desc.setMultivalued(false);
\r
121 addFieldDescriptor(desc);
\r
123 // -- validation code for: _colour
\r
124 fieldValidator = new org.exolab.castor.xml.FieldValidator();
\r
125 { // -- local scope
\r
126 org.exolab.castor.xml.validators.IntValidator typeValidator;
\r
127 typeValidator = new org.exolab.castor.xml.validators.IntValidator();
\r
128 fieldValidator.setValidator(typeValidator);
\r
129 typeValidator.setMinInclusive(-2147483648);
\r
130 typeValidator.setMaxInclusive(2147483647);
\r
132 desc.setValidator(fieldValidator);
\r
134 desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
\r
135 java.lang.Integer.TYPE, "_start", "start",
\r
136 org.exolab.castor.xml.NodeType.Attribute);
\r
137 handler = new org.exolab.castor.xml.XMLFieldHandler()
\r
139 public java.lang.Object getValue(java.lang.Object object)
\r
140 throws IllegalStateException
\r
142 JSeq target = (JSeq) object;
\r
143 if (!target.hasStart())
\r
147 return new java.lang.Integer(target.getStart());
\r
150 public void setValue(java.lang.Object object, java.lang.Object value)
\r
151 throws IllegalStateException, IllegalArgumentException
\r
155 JSeq target = (JSeq) object;
\r
156 // ignore null values for non optional primitives
\r
162 target.setStart(((java.lang.Integer) value).intValue());
\r
163 } catch (java.lang.Exception ex)
\r
165 throw new IllegalStateException(ex.toString());
\r
169 public java.lang.Object newInstance(java.lang.Object parent)
\r
174 desc.setHandler(handler);
\r
175 desc.setRequired(true);
\r
176 desc.setMultivalued(false);
\r
177 addFieldDescriptor(desc);
\r
179 // -- validation code for: _start
\r
180 fieldValidator = new org.exolab.castor.xml.FieldValidator();
\r
181 fieldValidator.setMinOccurs(1);
\r
182 { // -- local scope
\r
183 org.exolab.castor.xml.validators.IntValidator typeValidator;
\r
184 typeValidator = new org.exolab.castor.xml.validators.IntValidator();
\r
185 fieldValidator.setValidator(typeValidator);
\r
186 typeValidator.setMinInclusive(-2147483648);
\r
187 typeValidator.setMaxInclusive(2147483647);
\r
189 desc.setValidator(fieldValidator);
\r
191 desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
\r
192 java.lang.Integer.TYPE, "_end", "end",
\r
193 org.exolab.castor.xml.NodeType.Attribute);
\r
194 handler = new org.exolab.castor.xml.XMLFieldHandler()
\r
196 public java.lang.Object getValue(java.lang.Object object)
\r
197 throws IllegalStateException
\r
199 JSeq target = (JSeq) object;
\r
200 if (!target.hasEnd())
\r
204 return new java.lang.Integer(target.getEnd());
\r
207 public void setValue(java.lang.Object object, java.lang.Object value)
\r
208 throws IllegalStateException, IllegalArgumentException
\r
212 JSeq target = (JSeq) object;
\r
213 // ignore null values for non optional primitives
\r
219 target.setEnd(((java.lang.Integer) value).intValue());
\r
220 } catch (java.lang.Exception ex)
\r
222 throw new IllegalStateException(ex.toString());
\r
226 public java.lang.Object newInstance(java.lang.Object parent)
\r
231 desc.setHandler(handler);
\r
232 desc.setRequired(true);
\r
233 desc.setMultivalued(false);
\r
234 addFieldDescriptor(desc);
\r
236 // -- validation code for: _end
\r
237 fieldValidator = new org.exolab.castor.xml.FieldValidator();
\r
238 fieldValidator.setMinOccurs(1);
\r
239 { // -- local scope
\r
240 org.exolab.castor.xml.validators.IntValidator typeValidator;
\r
241 typeValidator = new org.exolab.castor.xml.validators.IntValidator();
\r
242 fieldValidator.setValidator(typeValidator);
\r
243 typeValidator.setMinInclusive(-2147483648);
\r
244 typeValidator.setMaxInclusive(2147483647);
\r
246 desc.setValidator(fieldValidator);
\r
248 desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
\r
249 java.lang.String.class, "_id", "id",
\r
250 org.exolab.castor.xml.NodeType.Attribute);
\r
251 desc.setImmutable(true);
\r
252 handler = new org.exolab.castor.xml.XMLFieldHandler()
\r
254 public java.lang.Object getValue(java.lang.Object object)
\r
255 throws IllegalStateException
\r
257 JSeq target = (JSeq) object;
\r
258 return target.getId();
\r
261 public void setValue(java.lang.Object object, java.lang.Object value)
\r
262 throws IllegalStateException, IllegalArgumentException
\r
266 JSeq target = (JSeq) object;
\r
267 target.setId((java.lang.String) value);
\r
268 } catch (java.lang.Exception ex)
\r
270 throw new IllegalStateException(ex.toString());
\r
274 public java.lang.Object newInstance(java.lang.Object parent)
\r
279 desc.setHandler(handler);
\r
280 desc.setRequired(true);
\r
281 desc.setMultivalued(false);
\r
282 addFieldDescriptor(desc);
\r
284 // -- validation code for: _id
\r
285 fieldValidator = new org.exolab.castor.xml.FieldValidator();
\r
286 fieldValidator.setMinOccurs(1);
\r
287 { // -- local scope
\r
288 org.exolab.castor.xml.validators.StringValidator typeValidator;
\r
289 typeValidator = new org.exolab.castor.xml.validators.StringValidator();
\r
290 fieldValidator.setValidator(typeValidator);
\r
291 typeValidator.setWhiteSpace("preserve");
\r
293 desc.setValidator(fieldValidator);
\r
295 desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
\r
296 java.lang.Boolean.TYPE, "_hidden", "hidden",
\r
297 org.exolab.castor.xml.NodeType.Attribute);
\r
298 handler = new org.exolab.castor.xml.XMLFieldHandler()
\r
300 public java.lang.Object getValue(java.lang.Object object)
\r
301 throws IllegalStateException
\r
303 JSeq target = (JSeq) object;
\r
304 if (!target.hasHidden())
\r
308 return (target.getHidden() ? java.lang.Boolean.TRUE
\r
309 : java.lang.Boolean.FALSE);
\r
312 public void setValue(java.lang.Object object, java.lang.Object value)
\r
313 throws IllegalStateException, IllegalArgumentException
\r
317 JSeq target = (JSeq) object;
\r
318 // if null, use delete method for optional primitives
\r
321 target.deleteHidden();
\r
324 target.setHidden(((java.lang.Boolean) value).booleanValue());
\r
325 } catch (java.lang.Exception ex)
\r
327 throw new IllegalStateException(ex.toString());
\r
331 public java.lang.Object newInstance(java.lang.Object parent)
\r
336 desc.setHandler(handler);
\r
337 desc.setMultivalued(false);
\r
338 addFieldDescriptor(desc);
\r
340 // -- validation code for: _hidden
\r
341 fieldValidator = new org.exolab.castor.xml.FieldValidator();
\r
342 { // -- local scope
\r
343 org.exolab.castor.xml.validators.BooleanValidator typeValidator;
\r
344 typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();
\r
345 fieldValidator.setValidator(typeValidator);
\r
347 desc.setValidator(fieldValidator);
\r
348 // -- initialize element descriptors
\r
350 // -- _featuresList
\r
351 desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
\r
352 jalview.schemabinding.version2.Features.class, "_featuresList",
\r
353 "features", org.exolab.castor.xml.NodeType.Element);
\r
354 handler = new org.exolab.castor.xml.XMLFieldHandler()
\r
356 public java.lang.Object getValue(java.lang.Object object)
\r
357 throws IllegalStateException
\r
359 JSeq target = (JSeq) object;
\r
360 return target.getFeatures();
\r
363 public void setValue(java.lang.Object object, java.lang.Object value)
\r
364 throws IllegalStateException, IllegalArgumentException
\r
368 JSeq target = (JSeq) object;
\r
370 .addFeatures((jalview.schemabinding.version2.Features) value);
\r
371 } catch (java.lang.Exception ex)
\r
373 throw new IllegalStateException(ex.toString());
\r
377 public void resetValue(Object object) throws IllegalStateException,
\r
378 IllegalArgumentException
\r
382 JSeq target = (JSeq) object;
\r
383 target.removeAllFeatures();
\r
384 } catch (java.lang.Exception ex)
\r
386 throw new IllegalStateException(ex.toString());
\r
390 public java.lang.Object newInstance(java.lang.Object parent)
\r
392 return new jalview.schemabinding.version2.Features();
\r
395 desc.setHandler(handler);
\r
396 desc.setNameSpaceURI("www.jalview.org");
\r
397 desc.setMultivalued(true);
\r
398 addFieldDescriptor(desc);
\r
400 // -- validation code for: _featuresList
\r
401 fieldValidator = new org.exolab.castor.xml.FieldValidator();
\r
402 fieldValidator.setMinOccurs(0);
\r
403 { // -- local scope
\r
405 desc.setValidator(fieldValidator);
\r
407 desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
\r
408 jalview.schemabinding.version2.Pdbids.class, "_pdbidsList",
\r
409 "pdbids", org.exolab.castor.xml.NodeType.Element);
\r
410 handler = new org.exolab.castor.xml.XMLFieldHandler()
\r
412 public java.lang.Object getValue(java.lang.Object object)
\r
413 throws IllegalStateException
\r
415 JSeq target = (JSeq) object;
\r
416 return target.getPdbids();
\r
419 public void setValue(java.lang.Object object, java.lang.Object value)
\r
420 throws IllegalStateException, IllegalArgumentException
\r
424 JSeq target = (JSeq) object;
\r
425 target.addPdbids((jalview.schemabinding.version2.Pdbids) value);
\r
426 } catch (java.lang.Exception ex)
\r
428 throw new IllegalStateException(ex.toString());
\r
432 public void resetValue(Object object) throws IllegalStateException,
\r
433 IllegalArgumentException
\r
437 JSeq target = (JSeq) object;
\r
438 target.removeAllPdbids();
\r
439 } catch (java.lang.Exception ex)
\r
441 throw new IllegalStateException(ex.toString());
\r
445 public java.lang.Object newInstance(java.lang.Object parent)
\r
447 return new jalview.schemabinding.version2.Pdbids();
\r
450 desc.setHandler(handler);
\r
451 desc.setNameSpaceURI("www.jalview.org");
\r
452 desc.setMultivalued(true);
\r
453 addFieldDescriptor(desc);
\r
455 // -- validation code for: _pdbidsList
\r
456 fieldValidator = new org.exolab.castor.xml.FieldValidator();
\r
457 fieldValidator.setMinOccurs(0);
\r
458 { // -- local scope
\r
460 desc.setValidator(fieldValidator);
\r
461 // -- _hiddenSequencesList
\r
462 desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
\r
463 java.lang.Integer.TYPE, "_hiddenSequencesList",
\r
464 "hiddenSequences", org.exolab.castor.xml.NodeType.Element);
\r
465 handler = new org.exolab.castor.xml.XMLFieldHandler()
\r
467 public java.lang.Object getValue(java.lang.Object object)
\r
468 throws IllegalStateException
\r
470 JSeq target = (JSeq) object;
\r
471 return target.getHiddenSequences();
\r
474 public void setValue(java.lang.Object object, java.lang.Object value)
\r
475 throws IllegalStateException, IllegalArgumentException
\r
479 JSeq target = (JSeq) object;
\r
480 // ignore null values for non optional primitives
\r
486 target.addHiddenSequences(((java.lang.Integer) value).intValue());
\r
487 } catch (java.lang.Exception ex)
\r
489 throw new IllegalStateException(ex.toString());
\r
493 public void resetValue(Object object) throws IllegalStateException,
\r
494 IllegalArgumentException
\r
498 JSeq target = (JSeq) object;
\r
499 target.removeAllHiddenSequences();
\r
500 } catch (java.lang.Exception ex)
\r
502 throw new IllegalStateException(ex.toString());
\r
506 public java.lang.Object newInstance(java.lang.Object parent)
\r
511 desc.setHandler(handler);
\r
512 desc.setNameSpaceURI("www.jalview.org");
\r
513 desc.setMultivalued(true);
\r
514 addFieldDescriptor(desc);
\r
516 // -- validation code for: _hiddenSequencesList
\r
517 fieldValidator = new org.exolab.castor.xml.FieldValidator();
\r
518 fieldValidator.setMinOccurs(0);
\r
519 { // -- local scope
\r
520 org.exolab.castor.xml.validators.IntValidator typeValidator;
\r
521 typeValidator = new org.exolab.castor.xml.validators.IntValidator();
\r
522 fieldValidator.setValidator(typeValidator);
\r
523 typeValidator.setMinInclusive(-2147483648);
\r
524 typeValidator.setMaxInclusive(2147483647);
\r
526 desc.setValidator(fieldValidator);
\r
534 * Method getAccessMode.
\r
536 * @return the access mode specified for this class.
\r
538 public org.exolab.castor.mapping.AccessMode getAccessMode()
\r
544 * Method getIdentity.
\r
546 * @return the identity field, null if this class has no identity.
\r
548 public org.exolab.castor.mapping.FieldDescriptor getIdentity()
\r
550 return super.getIdentity();
\r
554 * Method getJavaClass.
\r
556 * @return the Java class represented by this descriptor.
\r
558 public java.lang.Class getJavaClass()
\r
560 return jalview.schemabinding.version2.JSeq.class;
\r
564 * Method getNameSpacePrefix.
\r
566 * @return the namespace prefix to use when marshaling as XML.
\r
568 public java.lang.String getNameSpacePrefix()
\r
574 * Method getNameSpaceURI.
\r
576 * @return the namespace URI used when marshaling and unmarshaling as XML.
\r
578 public java.lang.String getNameSpaceURI()
\r
584 * Method getValidator.
\r
586 * @return a specific validator for the class described by this
\r
589 public org.exolab.castor.xml.TypeValidator getValidator()
\r
595 * Method getXMLName.
\r
597 * @return the XML Name for the Class being described.
\r
599 public java.lang.String getXMLName()
\r
605 * Method isElementDefinition.
\r
607 * @return true if XML schema definition of this Class is that of a global
\r
608 * element or element with anonymous type definition.
\r
610 public boolean isElementDefinition()
\r
612 return _elementDefinition;
\r