bad65ce68b07429aec22918dc97d85d8e1779559
[jalview.git] / src / jalview / schemabinding / version2 / descriptors / GroupDescriptor.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
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.Group;
28
29 /**
30  * Class GroupDescriptor.
31  * 
32  * @version $Revision$ $Date$
33  */
34 public class GroupDescriptor extends
35         org.exolab.castor.xml.util.XMLClassDescriptorImpl
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 GroupDescriptor()
67   {
68     super();
69     _nsURI = "www.jalview.org";
70     _xmlName = "group";
71     _elementDefinition = true;
72     org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
73     org.exolab.castor.mapping.FieldHandler handler = null;
74     org.exolab.castor.xml.FieldValidator fieldValidator = null;
75     // -- initialize attribute descriptors
76
77     // -- _name
78     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
79             java.lang.String.class, "_name", "name",
80             org.exolab.castor.xml.NodeType.Attribute);
81     desc.setImmutable(true);
82     handler = new org.exolab.castor.xml.XMLFieldHandler()
83     {
84       public java.lang.Object getValue(java.lang.Object object)
85               throws IllegalStateException
86       {
87         Group target = (Group) object;
88         return target.getName();
89       }
90
91       public void setValue(java.lang.Object object, java.lang.Object value)
92               throws IllegalStateException, IllegalArgumentException
93       {
94         try
95         {
96           Group target = (Group) object;
97           target.setName((java.lang.String) value);
98         } catch (java.lang.Exception ex)
99         {
100           throw new IllegalStateException(ex.toString());
101         }
102       }
103
104       public java.lang.Object newInstance(java.lang.Object parent)
105       {
106         return null;
107       }
108     };
109     desc.setHandler(handler);
110     desc.setRequired(true);
111     desc.setMultivalued(false);
112     addFieldDescriptor(desc);
113
114     // -- validation code for: _name
115     fieldValidator = new org.exolab.castor.xml.FieldValidator();
116     fieldValidator.setMinOccurs(1);
117     { // -- local scope
118       org.exolab.castor.xml.validators.StringValidator typeValidator;
119       typeValidator = new org.exolab.castor.xml.validators.StringValidator();
120       fieldValidator.setValidator(typeValidator);
121       typeValidator.setWhiteSpace("preserve");
122     }
123     desc.setValidator(fieldValidator);
124     // -- _display
125     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
126             java.lang.Boolean.TYPE, "_display", "display",
127             org.exolab.castor.xml.NodeType.Attribute);
128     handler = new org.exolab.castor.xml.XMLFieldHandler()
129     {
130       public java.lang.Object getValue(java.lang.Object object)
131               throws IllegalStateException
132       {
133         Group target = (Group) object;
134         if (!target.hasDisplay())
135         {
136           return null;
137         }
138         return (target.getDisplay() ? java.lang.Boolean.TRUE
139                 : java.lang.Boolean.FALSE);
140       }
141
142       public void setValue(java.lang.Object object, java.lang.Object value)
143               throws IllegalStateException, IllegalArgumentException
144       {
145         try
146         {
147           Group target = (Group) object;
148           // ignore null values for non optional primitives
149           if (value == null)
150           {
151             return;
152           }
153
154           target.setDisplay(((java.lang.Boolean) value).booleanValue());
155         } catch (java.lang.Exception ex)
156         {
157           throw new IllegalStateException(ex.toString());
158         }
159       }
160
161       public java.lang.Object newInstance(java.lang.Object parent)
162       {
163         return null;
164       }
165     };
166     desc.setHandler(handler);
167     desc.setRequired(true);
168     desc.setMultivalued(false);
169     addFieldDescriptor(desc);
170
171     // -- validation code for: _display
172     fieldValidator = new org.exolab.castor.xml.FieldValidator();
173     fieldValidator.setMinOccurs(1);
174     { // -- local scope
175       org.exolab.castor.xml.validators.BooleanValidator typeValidator;
176       typeValidator = new org.exolab.castor.xml.validators.BooleanValidator();
177       fieldValidator.setValidator(typeValidator);
178     }
179     desc.setValidator(fieldValidator);
180     // -- initialize element descriptors
181
182   }
183
184   // -----------/
185   // - Methods -/
186   // -----------/
187
188   /**
189    * Method getAccessMode.
190    * 
191    * @return the access mode specified for this class.
192    */
193   public org.exolab.castor.mapping.AccessMode getAccessMode()
194   {
195     return null;
196   }
197
198   /**
199    * Method getIdentity.
200    * 
201    * @return the identity field, null if this class has no identity.
202    */
203   public org.exolab.castor.mapping.FieldDescriptor getIdentity()
204   {
205     return super.getIdentity();
206   }
207
208   /**
209    * Method getJavaClass.
210    * 
211    * @return the Java class represented by this descriptor.
212    */
213   public java.lang.Class getJavaClass()
214   {
215     return jalview.schemabinding.version2.Group.class;
216   }
217
218   /**
219    * Method getNameSpacePrefix.
220    * 
221    * @return the namespace prefix to use when marshaling as XML.
222    */
223   public java.lang.String getNameSpacePrefix()
224   {
225     return _nsPrefix;
226   }
227
228   /**
229    * Method getNameSpaceURI.
230    * 
231    * @return the namespace URI used when marshaling and unmarshaling as XML.
232    */
233   public java.lang.String getNameSpaceURI()
234   {
235     return _nsURI;
236   }
237
238   /**
239    * Method getValidator.
240    * 
241    * @return a specific validator for the class described by this
242    *         ClassDescriptor.
243    */
244   public org.exolab.castor.xml.TypeValidator getValidator()
245   {
246     return this;
247   }
248
249   /**
250    * Method getXMLName.
251    * 
252    * @return the XML Name for the Class being described.
253    */
254   public java.lang.String getXMLName()
255   {
256     return _xmlName;
257   }
258
259   /**
260    * Method isElementDefinition.
261    * 
262    * @return true if XML schema definition of this Class is that of a global
263    *         element or element with anonymous type definition.
264    */
265   public boolean isElementDefinition()
266   {
267     return _elementDefinition;
268   }
269
270 }