4de9c02a123fd6e8a81205e1cee0ac052424b5e2
[jalview.git] / src / jalview / schemabinding / version2 / descriptors / MappingDescriptor.java
1 /*
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
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 of the License, or (at your option) any later version.
10  *  
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.
15  * 
16  * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
17  */
18 package jalview.schemabinding.version2.descriptors;
19
20 //---------------------------------/
21 //- Imported classes and packages -/
22 //---------------------------------/
23
24 import jalview.schemabinding.version2.Mapping;
25
26 /**
27  * Class MappingDescriptor.
28  * 
29  * @version $Revision$ $Date$
30  */
31 public class MappingDescriptor extends
32         jalview.schemabinding.version2.descriptors.MapListTypeDescriptor
33 {
34
35   // --------------------------/
36   // - Class/Member Variables -/
37   // --------------------------/
38
39   /**
40    * Field _elementDefinition.
41    */
42   private boolean _elementDefinition;
43
44   /**
45    * Field _nsPrefix.
46    */
47   private java.lang.String _nsPrefix;
48
49   /**
50    * Field _nsURI.
51    */
52   private java.lang.String _nsURI;
53
54   /**
55    * Field _xmlName.
56    */
57   private java.lang.String _xmlName;
58
59   // ----------------/
60   // - Constructors -/
61   // ----------------/
62
63   public MappingDescriptor()
64   {
65     super();
66     setExtendsWithoutFlatten(new jalview.schemabinding.version2.descriptors.MapListTypeDescriptor());
67     _nsURI = "www.vamsas.ac.uk/jalview/version2";
68     _xmlName = "Mapping";
69     _elementDefinition = true;
70
71     // -- set grouping compositor
72     setCompositorAsChoice();
73     org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
74     org.exolab.castor.mapping.FieldHandler handler = null;
75     org.exolab.castor.xml.FieldValidator fieldValidator = null;
76     // -- initialize attribute descriptors
77
78     // -- initialize element descriptors
79
80     // -- _mappingChoice
81     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
82             jalview.schemabinding.version2.MappingChoice.class,
83             "_mappingChoice", "-error-if-this-is-used-",
84             org.exolab.castor.xml.NodeType.Element);
85     handler = new org.exolab.castor.xml.XMLFieldHandler()
86     {
87       public java.lang.Object getValue(java.lang.Object object)
88               throws IllegalStateException
89       {
90         Mapping target = (Mapping) object;
91         return target.getMappingChoice();
92       }
93
94       public void setValue(java.lang.Object object, java.lang.Object value)
95               throws IllegalStateException, IllegalArgumentException
96       {
97         try
98         {
99           Mapping target = (Mapping) object;
100           target.setMappingChoice((jalview.schemabinding.version2.MappingChoice) value);
101         } catch (java.lang.Exception ex)
102         {
103           throw new IllegalStateException(ex.toString());
104         }
105       }
106
107       public java.lang.Object newInstance(java.lang.Object parent)
108       {
109         return new jalview.schemabinding.version2.MappingChoice();
110       }
111     };
112     desc.setHandler(handler);
113     desc.setContainer(true);
114     desc.setClassDescriptor(new jalview.schemabinding.version2.descriptors.MappingChoiceDescriptor());
115     desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");
116     desc.setMultivalued(false);
117     addFieldDescriptor(desc);
118
119     // -- validation code for: _mappingChoice
120     fieldValidator = new org.exolab.castor.xml.FieldValidator();
121     { // -- local scope
122     }
123     desc.setValidator(fieldValidator);
124   }
125
126   // -----------/
127   // - Methods -/
128   // -----------/
129
130   /**
131    * Method getAccessMode.
132    * 
133    * @return the access mode specified for this class.
134    */
135   public org.exolab.castor.mapping.AccessMode getAccessMode()
136   {
137     return null;
138   }
139
140   /**
141    * Method getIdentity.
142    * 
143    * @return the identity field, null if this class has no identity.
144    */
145   public org.exolab.castor.mapping.FieldDescriptor getIdentity()
146   {
147     return super.getIdentity();
148   }
149
150   /**
151    * Method getJavaClass.
152    * 
153    * @return the Java class represented by this descriptor.
154    */
155   public java.lang.Class getJavaClass()
156   {
157     return jalview.schemabinding.version2.Mapping.class;
158   }
159
160   /**
161    * Method getNameSpacePrefix.
162    * 
163    * @return the namespace prefix to use when marshaling as XML.
164    */
165   public java.lang.String getNameSpacePrefix()
166   {
167     return _nsPrefix;
168   }
169
170   /**
171    * Method getNameSpaceURI.
172    * 
173    * @return the namespace URI used when marshaling and unmarshaling as XML.
174    */
175   public java.lang.String getNameSpaceURI()
176   {
177     return _nsURI;
178   }
179
180   /**
181    * Method getValidator.
182    * 
183    * @return a specific validator for the class described by this
184    *         ClassDescriptor.
185    */
186   public org.exolab.castor.xml.TypeValidator getValidator()
187   {
188     return this;
189   }
190
191   /**
192    * Method getXMLName.
193    * 
194    * @return the XML Name for the Class being described.
195    */
196   public java.lang.String getXMLName()
197   {
198     return _xmlName;
199   }
200
201   /**
202    * Method isElementDefinition.
203    * 
204    * @return true if XML schema definition of this Class is that of a global
205    *         element or element with anonymous type definition.
206    */
207   public boolean isElementDefinition()
208   {
209     return _elementDefinition;
210   }
211
212 }