f251553c3d557392b7f051e5c504277de4eb1732
[jalview.git] / src / jalview / schemabinding / version2 / descriptors / JalviewUserColoursDescriptor.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.Colour;
25 import jalview.schemabinding.version2.JalviewUserColours;
26
27 /**
28  * Class JalviewUserColoursDescriptor.
29  * 
30  * @version $Revision$ $Date$
31  */
32 public class JalviewUserColoursDescriptor extends
33         org.exolab.castor.xml.util.XMLClassDescriptorImpl
34 {
35
36   // --------------------------/
37   // - Class/Member Variables -/
38   // --------------------------/
39
40   /**
41    * Field _elementDefinition.
42    */
43   private boolean _elementDefinition;
44
45   /**
46    * Field _nsPrefix.
47    */
48   private java.lang.String _nsPrefix;
49
50   /**
51    * Field _nsURI.
52    */
53   private java.lang.String _nsURI;
54
55   /**
56    * Field _xmlName.
57    */
58   private java.lang.String _xmlName;
59
60   // ----------------/
61   // - Constructors -/
62   // ----------------/
63
64   public JalviewUserColoursDescriptor()
65   {
66     super();
67     _nsURI = "www.jalview.org/colours";
68     _xmlName = "JalviewUserColours";
69     _elementDefinition = false;
70
71     // -- set grouping compositor
72     setCompositorAsSequence();
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     // -- _schemeName
79     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
80             java.lang.String.class, "_schemeName", "schemeName",
81             org.exolab.castor.xml.NodeType.Attribute);
82     desc.setImmutable(true);
83     handler = new org.exolab.castor.xml.XMLFieldHandler()
84     {
85       public java.lang.Object getValue(java.lang.Object object)
86               throws IllegalStateException
87       {
88         JalviewUserColours target = (JalviewUserColours) object;
89         return target.getSchemeName();
90       }
91
92       public void setValue(java.lang.Object object, java.lang.Object value)
93               throws IllegalStateException, IllegalArgumentException
94       {
95         try
96         {
97           JalviewUserColours target = (JalviewUserColours) object;
98           target.setSchemeName((java.lang.String) value);
99         } catch (java.lang.Exception ex)
100         {
101           throw new IllegalStateException(ex.toString());
102         }
103       }
104
105       public java.lang.Object newInstance(java.lang.Object parent)
106       {
107         return null;
108       }
109     };
110     desc.setHandler(handler);
111     desc.setMultivalued(false);
112     addFieldDescriptor(desc);
113
114     // -- validation code for: _schemeName
115     fieldValidator = new org.exolab.castor.xml.FieldValidator();
116     { // -- local scope
117       org.exolab.castor.xml.validators.StringValidator typeValidator;
118       typeValidator = new org.exolab.castor.xml.validators.StringValidator();
119       fieldValidator.setValidator(typeValidator);
120       typeValidator.setWhiteSpace("preserve");
121     }
122     desc.setValidator(fieldValidator);
123     // -- initialize element descriptors
124
125     // -- _version
126     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
127             java.lang.String.class, "_version", "Version",
128             org.exolab.castor.xml.NodeType.Element);
129     desc.setImmutable(true);
130     handler = new org.exolab.castor.xml.XMLFieldHandler()
131     {
132       public java.lang.Object getValue(java.lang.Object object)
133               throws IllegalStateException
134       {
135         JalviewUserColours target = (JalviewUserColours) object;
136         return target.getVersion();
137       }
138
139       public void setValue(java.lang.Object object, java.lang.Object value)
140               throws IllegalStateException, IllegalArgumentException
141       {
142         try
143         {
144           JalviewUserColours target = (JalviewUserColours) object;
145           target.setVersion((java.lang.String) value);
146         } catch (java.lang.Exception ex)
147         {
148           throw new IllegalStateException(ex.toString());
149         }
150       }
151
152       public java.lang.Object newInstance(java.lang.Object parent)
153       {
154         return null;
155       }
156     };
157     desc.setHandler(handler);
158     desc.setMultivalued(false);
159     addFieldDescriptor(desc);
160
161     // -- validation code for: _version
162     fieldValidator = new org.exolab.castor.xml.FieldValidator();
163     { // -- local scope
164       org.exolab.castor.xml.validators.StringValidator typeValidator;
165       typeValidator = new org.exolab.castor.xml.validators.StringValidator();
166       fieldValidator.setValidator(typeValidator);
167       typeValidator.setWhiteSpace("preserve");
168     }
169     desc.setValidator(fieldValidator);
170     // -- _colourList
171     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
172             Colour.class, "_colourList", "colour",
173             org.exolab.castor.xml.NodeType.Element);
174     handler = new org.exolab.castor.xml.XMLFieldHandler()
175     {
176       public java.lang.Object getValue(java.lang.Object object)
177               throws IllegalStateException
178       {
179         JalviewUserColours target = (JalviewUserColours) object;
180         return target.getColour();
181       }
182
183       public void setValue(java.lang.Object object, java.lang.Object value)
184               throws IllegalStateException, IllegalArgumentException
185       {
186         try
187         {
188           JalviewUserColours target = (JalviewUserColours) object;
189           target.addColour((Colour) value);
190         } catch (java.lang.Exception ex)
191         {
192           throw new IllegalStateException(ex.toString());
193         }
194       }
195
196       public void resetValue(Object object) throws IllegalStateException,
197               IllegalArgumentException
198       {
199         try
200         {
201           JalviewUserColours target = (JalviewUserColours) object;
202           target.removeAllColour();
203         } catch (java.lang.Exception ex)
204         {
205           throw new IllegalStateException(ex.toString());
206         }
207       }
208
209       public java.lang.Object newInstance(java.lang.Object parent)
210       {
211         return new Colour();
212       }
213     };
214     desc.setHandler(handler);
215     desc.setMultivalued(true);
216     addFieldDescriptor(desc);
217
218     // -- validation code for: _colourList
219     fieldValidator = new org.exolab.castor.xml.FieldValidator();
220     fieldValidator.setMinOccurs(0);
221     { // -- local scope
222     }
223     desc.setValidator(fieldValidator);
224   }
225
226   // -----------/
227   // - Methods -/
228   // -----------/
229
230   /**
231    * Method getAccessMode.
232    * 
233    * @return the access mode specified for this class.
234    */
235   public org.exolab.castor.mapping.AccessMode getAccessMode()
236   {
237     return null;
238   }
239
240   /**
241    * Method getIdentity.
242    * 
243    * @return the identity field, null if this class has no identity.
244    */
245   public org.exolab.castor.mapping.FieldDescriptor getIdentity()
246   {
247     return super.getIdentity();
248   }
249
250   /**
251    * Method getJavaClass.
252    * 
253    * @return the Java class represented by this descriptor.
254    */
255   public java.lang.Class getJavaClass()
256   {
257     return jalview.schemabinding.version2.JalviewUserColours.class;
258   }
259
260   /**
261    * Method getNameSpacePrefix.
262    * 
263    * @return the namespace prefix to use when marshaling as XML.
264    */
265   public java.lang.String getNameSpacePrefix()
266   {
267     return _nsPrefix;
268   }
269
270   /**
271    * Method getNameSpaceURI.
272    * 
273    * @return the namespace URI used when marshaling and unmarshaling as XML.
274    */
275   public java.lang.String getNameSpaceURI()
276   {
277     return _nsURI;
278   }
279
280   /**
281    * Method getValidator.
282    * 
283    * @return a specific validator for the class described by this
284    *         ClassDescriptor.
285    */
286   public org.exolab.castor.xml.TypeValidator getValidator()
287   {
288     return this;
289   }
290
291   /**
292    * Method getXMLName.
293    * 
294    * @return the XML Name for the Class being described.
295    */
296   public java.lang.String getXMLName()
297   {
298     return _xmlName;
299   }
300
301   /**
302    * Method isElementDefinition.
303    * 
304    * @return true if XML schema definition of this Class is that of a global
305    *         element or element with anonymous type definition.
306    */
307   public boolean isElementDefinition()
308   {
309     return _elementDefinition;
310   }
311
312 }