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.Sequence;
30 * Class SequenceDescriptor.
32 * @version $Revision$ $Date$
34 public class SequenceDescriptor extends
35 jalview.schemabinding.version2.descriptors.SequenceTypeDescriptor
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 SequenceDescriptor()
69 setExtendsWithoutFlatten(new jalview.schemabinding.version2.descriptors.SequenceTypeDescriptor());
70 _nsURI = "www.vamsas.ac.uk/jalview/version2";
71 _xmlName = "Sequence";
72 _elementDefinition = true;
74 // -- set grouping compositor
75 setCompositorAsSequence();
76 org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
77 org.exolab.castor.mapping.FieldHandler handler = null;
78 org.exolab.castor.xml.FieldValidator fieldValidator = null;
79 // -- initialize attribute descriptors
82 desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
83 java.lang.String.class, "_dsseqid", "dsseqid",
84 org.exolab.castor.xml.NodeType.Attribute);
85 desc.setImmutable(true);
86 handler = new org.exolab.castor.xml.XMLFieldHandler()
88 public java.lang.Object getValue(java.lang.Object object)
89 throws IllegalStateException
91 Sequence target = (Sequence) object;
92 return target.getDsseqid();
95 public void setValue(java.lang.Object object, java.lang.Object value)
96 throws IllegalStateException, IllegalArgumentException
100 Sequence target = (Sequence) object;
101 target.setDsseqid((java.lang.String) value);
102 } catch (java.lang.Exception ex)
104 throw new IllegalStateException(ex.toString());
108 public java.lang.Object newInstance(java.lang.Object parent)
113 desc.setHandler(handler);
114 desc.setMultivalued(false);
115 addFieldDescriptor(desc);
117 // -- validation code for: _dsseqid
118 fieldValidator = new org.exolab.castor.xml.FieldValidator();
120 org.exolab.castor.xml.validators.StringValidator typeValidator;
121 typeValidator = new org.exolab.castor.xml.validators.StringValidator();
122 fieldValidator.setValidator(typeValidator);
123 typeValidator.setWhiteSpace("preserve");
125 desc.setValidator(fieldValidator);
126 // -- initialize element descriptors
129 desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
130 jalview.schemabinding.version2.DBRef.class, "_DBRefList",
131 "DBRef", org.exolab.castor.xml.NodeType.Element);
132 handler = new org.exolab.castor.xml.XMLFieldHandler()
134 public java.lang.Object getValue(java.lang.Object object)
135 throws IllegalStateException
137 Sequence target = (Sequence) object;
138 return target.getDBRef();
141 public void setValue(java.lang.Object object, java.lang.Object value)
142 throws IllegalStateException, IllegalArgumentException
146 Sequence target = (Sequence) object;
147 target.addDBRef((jalview.schemabinding.version2.DBRef) value);
148 } catch (java.lang.Exception ex)
150 throw new IllegalStateException(ex.toString());
154 public void resetValue(Object object) throws IllegalStateException,
155 IllegalArgumentException
159 Sequence target = (Sequence) object;
160 target.removeAllDBRef();
161 } catch (java.lang.Exception ex)
163 throw new IllegalStateException(ex.toString());
167 public java.lang.Object newInstance(java.lang.Object parent)
169 return new jalview.schemabinding.version2.DBRef();
172 desc.setHandler(handler);
173 desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");
174 desc.setMultivalued(true);
175 addFieldDescriptor(desc);
177 // -- validation code for: _DBRefList
178 fieldValidator = new org.exolab.castor.xml.FieldValidator();
179 fieldValidator.setMinOccurs(0);
182 desc.setValidator(fieldValidator);
190 * Method getAccessMode.
192 * @return the access mode specified for this class.
194 public org.exolab.castor.mapping.AccessMode getAccessMode()
200 * Method getIdentity.
202 * @return the identity field, null if this class has no identity.
204 public org.exolab.castor.mapping.FieldDescriptor getIdentity()
206 return super.getIdentity();
210 * Method getJavaClass.
212 * @return the Java class represented by this descriptor.
214 public java.lang.Class getJavaClass()
216 return jalview.schemabinding.version2.Sequence.class;
220 * Method getNameSpacePrefix.
222 * @return the namespace prefix to use when marshaling as XML.
224 public java.lang.String getNameSpacePrefix()
230 * Method getNameSpaceURI.
232 * @return the namespace URI used when marshaling and unmarshaling as XML.
234 public java.lang.String getNameSpaceURI()
240 * Method getValidator.
242 * @return a specific validator for the class described by this
245 public org.exolab.castor.xml.TypeValidator getValidator()
253 * @return the XML Name for the Class being described.
255 public java.lang.String getXMLName()
261 * Method isElementDefinition.
263 * @return true if XML schema definition of this Class is that of a global
264 * element or element with anonymous type definition.
266 public boolean isElementDefinition()
268 return _elementDefinition;