JAL-1620 version bump and release notes
[jalview.git] / src / jalview / schemabinding / version2 / descriptors / SequenceDescriptor.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2b1)
3  * Copyright (C) 2014 The Jalview Authors
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
10  * of the License, or (at your option) any later version.
11  *  
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.
16  * 
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.
20  */
21 package jalview.schemabinding.version2.descriptors;
22
23 //---------------------------------/
24 //- Imported classes and packages -/
25 //---------------------------------/
26
27 import jalview.schemabinding.version2.Sequence;
28
29 /**
30  * Class SequenceDescriptor.
31  * 
32  * @version $Revision$ $Date$
33  */
34 public class SequenceDescriptor extends
35         jalview.schemabinding.version2.descriptors.SequenceTypeDescriptor
36 {
37
38   // --------------------------/
39   // - Class/Member Variables -/
40   // --------------------------/
41
42   /**
43    * Field _elementDefinition.
44    */
45   private boolean _elementDefinition;
46
47   /**
48    * Field _nsPrefix.
49    */
50   private java.lang.String _nsPrefix;
51
52   /**
53    * Field _nsURI.
54    */
55   private java.lang.String _nsURI;
56
57   /**
58    * Field _xmlName.
59    */
60   private java.lang.String _xmlName;
61
62   // ----------------/
63   // - Constructors -/
64   // ----------------/
65
66   public SequenceDescriptor()
67   {
68     super();
69     setExtendsWithoutFlatten(new jalview.schemabinding.version2.descriptors.SequenceTypeDescriptor());
70     _nsURI = "www.vamsas.ac.uk/jalview/version2";
71     _xmlName = "Sequence";
72     _elementDefinition = true;
73
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
80
81     // -- _dsseqid
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()
87     {
88       public java.lang.Object getValue(java.lang.Object object)
89               throws IllegalStateException
90       {
91         Sequence target = (Sequence) object;
92         return target.getDsseqid();
93       }
94
95       public void setValue(java.lang.Object object, java.lang.Object value)
96               throws IllegalStateException, IllegalArgumentException
97       {
98         try
99         {
100           Sequence target = (Sequence) object;
101           target.setDsseqid((java.lang.String) value);
102         } catch (java.lang.Exception ex)
103         {
104           throw new IllegalStateException(ex.toString());
105         }
106       }
107
108       public java.lang.Object newInstance(java.lang.Object parent)
109       {
110         return null;
111       }
112     };
113     desc.setHandler(handler);
114     desc.setMultivalued(false);
115     addFieldDescriptor(desc);
116
117     // -- validation code for: _dsseqid
118     fieldValidator = new org.exolab.castor.xml.FieldValidator();
119     { // -- local scope
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");
124     }
125     desc.setValidator(fieldValidator);
126     // -- initialize element descriptors
127
128     // -- _DBRefList
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()
133     {
134       public java.lang.Object getValue(java.lang.Object object)
135               throws IllegalStateException
136       {
137         Sequence target = (Sequence) object;
138         return target.getDBRef();
139       }
140
141       public void setValue(java.lang.Object object, java.lang.Object value)
142               throws IllegalStateException, IllegalArgumentException
143       {
144         try
145         {
146           Sequence target = (Sequence) object;
147           target.addDBRef((jalview.schemabinding.version2.DBRef) value);
148         } catch (java.lang.Exception ex)
149         {
150           throw new IllegalStateException(ex.toString());
151         }
152       }
153
154       public void resetValue(Object object) throws IllegalStateException,
155               IllegalArgumentException
156       {
157         try
158         {
159           Sequence target = (Sequence) object;
160           target.removeAllDBRef();
161         } catch (java.lang.Exception ex)
162         {
163           throw new IllegalStateException(ex.toString());
164         }
165       }
166
167       public java.lang.Object newInstance(java.lang.Object parent)
168       {
169         return new jalview.schemabinding.version2.DBRef();
170       }
171     };
172     desc.setHandler(handler);
173     desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");
174     desc.setMultivalued(true);
175     addFieldDescriptor(desc);
176
177     // -- validation code for: _DBRefList
178     fieldValidator = new org.exolab.castor.xml.FieldValidator();
179     fieldValidator.setMinOccurs(0);
180     { // -- local scope
181     }
182     desc.setValidator(fieldValidator);
183   }
184
185   // -----------/
186   // - Methods -/
187   // -----------/
188
189   /**
190    * Method getAccessMode.
191    * 
192    * @return the access mode specified for this class.
193    */
194   public org.exolab.castor.mapping.AccessMode getAccessMode()
195   {
196     return null;
197   }
198
199   /**
200    * Method getIdentity.
201    * 
202    * @return the identity field, null if this class has no identity.
203    */
204   public org.exolab.castor.mapping.FieldDescriptor getIdentity()
205   {
206     return super.getIdentity();
207   }
208
209   /**
210    * Method getJavaClass.
211    * 
212    * @return the Java class represented by this descriptor.
213    */
214   public java.lang.Class getJavaClass()
215   {
216     return jalview.schemabinding.version2.Sequence.class;
217   }
218
219   /**
220    * Method getNameSpacePrefix.
221    * 
222    * @return the namespace prefix to use when marshaling as XML.
223    */
224   public java.lang.String getNameSpacePrefix()
225   {
226     return _nsPrefix;
227   }
228
229   /**
230    * Method getNameSpaceURI.
231    * 
232    * @return the namespace URI used when marshaling and unmarshaling as XML.
233    */
234   public java.lang.String getNameSpaceURI()
235   {
236     return _nsURI;
237   }
238
239   /**
240    * Method getValidator.
241    * 
242    * @return a specific validator for the class described by this
243    *         ClassDescriptor.
244    */
245   public org.exolab.castor.xml.TypeValidator getValidator()
246   {
247     return this;
248   }
249
250   /**
251    * Method getXMLName.
252    * 
253    * @return the XML Name for the Class being described.
254    */
255   public java.lang.String getXMLName()
256   {
257     return _xmlName;
258   }
259
260   /**
261    * Method isElementDefinition.
262    * 
263    * @return true if XML schema definition of this Class is that of a global
264    *         element or element with anonymous type definition.
265    */
266   public boolean isElementDefinition()
267   {
268     return _elementDefinition;
269   }
270
271 }