licencing and format applied (eclipse)
[jalview.git] / src / jalview / schemabinding / version2 / descriptors / PropertyDescriptor.java
1 /*\r
2  * Jalview - A Sequence Alignment Editor and Viewer (Version 2.4)\r
3  * Copyright (C) 2008 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
4  * \r
5  * This program is free software; you can redistribute it and/or\r
6  * modify it under the terms of the GNU General Public License\r
7  * as published by the Free Software Foundation; either version 2\r
8  * of the License, or (at your option) any later version.\r
9  * \r
10  * This program is distributed in the hope that it will be useful,\r
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
13  * GNU General Public License for more details.\r
14  * \r
15  * You should have received a copy of the GNU General Public License\r
16  * along with this program; if not, write to the Free Software\r
17  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA\r
18  */\r
19 package jalview.schemabinding.version2.descriptors;\r
20 \r
21 // ---------------------------------/\r
22 // - Imported classes and packages -/\r
23 // ---------------------------------/\r
24 \r
25 import jalview.schemabinding.version2.Property;\r
26 \r
27 /**\r
28  * Class PropertyDescriptor.\r
29  * \r
30  * @version $Revision$ $Date$\r
31  */\r
32 public class PropertyDescriptor extends\r
33         org.exolab.castor.xml.util.XMLClassDescriptorImpl\r
34 {\r
35 \r
36   // --------------------------/\r
37   // - Class/Member Variables -/\r
38   // --------------------------/\r
39 \r
40   /**\r
41    * Field _elementDefinition.\r
42    */\r
43   private boolean _elementDefinition;\r
44 \r
45   /**\r
46    * Field _nsPrefix.\r
47    */\r
48   private java.lang.String _nsPrefix;\r
49 \r
50   /**\r
51    * Field _nsURI.\r
52    */\r
53   private java.lang.String _nsURI;\r
54 \r
55   /**\r
56    * Field _xmlName.\r
57    */\r
58   private java.lang.String _xmlName;\r
59 \r
60   // ----------------/\r
61   // - Constructors -/\r
62   // ----------------/\r
63 \r
64   public PropertyDescriptor()\r
65   {\r
66     super();\r
67     _nsURI = "www.jalview.org";\r
68     _xmlName = "property";\r
69     _elementDefinition = true;\r
70     org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;\r
71     org.exolab.castor.mapping.FieldHandler handler = null;\r
72     org.exolab.castor.xml.FieldValidator fieldValidator = null;\r
73     // -- initialize attribute descriptors\r
74 \r
75     // -- _name\r
76     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
77             java.lang.String.class, "_name", "name",\r
78             org.exolab.castor.xml.NodeType.Attribute);\r
79     desc.setImmutable(true);\r
80     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
81     {\r
82       public java.lang.Object getValue(java.lang.Object object)\r
83               throws IllegalStateException\r
84       {\r
85         Property target = (Property) object;\r
86         return target.getName();\r
87       }\r
88 \r
89       public void setValue(java.lang.Object object, java.lang.Object value)\r
90               throws IllegalStateException, IllegalArgumentException\r
91       {\r
92         try\r
93         {\r
94           Property target = (Property) object;\r
95           target.setName((java.lang.String) value);\r
96         } catch (java.lang.Exception ex)\r
97         {\r
98           throw new IllegalStateException(ex.toString());\r
99         }\r
100       }\r
101 \r
102       public java.lang.Object newInstance(java.lang.Object parent)\r
103       {\r
104         return null;\r
105       }\r
106     };\r
107     desc.setHandler(handler);\r
108     desc.setRequired(true);\r
109     desc.setMultivalued(false);\r
110     addFieldDescriptor(desc);\r
111 \r
112     // -- validation code for: _name\r
113     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
114     fieldValidator.setMinOccurs(1);\r
115     { // -- local scope\r
116       org.exolab.castor.xml.validators.StringValidator typeValidator;\r
117       typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
118       fieldValidator.setValidator(typeValidator);\r
119       typeValidator.setWhiteSpace("preserve");\r
120     }\r
121     desc.setValidator(fieldValidator);\r
122     // -- _value\r
123     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(\r
124             java.lang.String.class, "_value", "value",\r
125             org.exolab.castor.xml.NodeType.Attribute);\r
126     desc.setImmutable(true);\r
127     handler = new org.exolab.castor.xml.XMLFieldHandler()\r
128     {\r
129       public java.lang.Object getValue(java.lang.Object object)\r
130               throws IllegalStateException\r
131       {\r
132         Property target = (Property) object;\r
133         return target.getValue();\r
134       }\r
135 \r
136       public void setValue(java.lang.Object object, java.lang.Object value)\r
137               throws IllegalStateException, IllegalArgumentException\r
138       {\r
139         try\r
140         {\r
141           Property target = (Property) object;\r
142           target.setValue((java.lang.String) value);\r
143         } catch (java.lang.Exception ex)\r
144         {\r
145           throw new IllegalStateException(ex.toString());\r
146         }\r
147       }\r
148 \r
149       public java.lang.Object newInstance(java.lang.Object parent)\r
150       {\r
151         return null;\r
152       }\r
153     };\r
154     desc.setHandler(handler);\r
155     desc.setRequired(true);\r
156     desc.setMultivalued(false);\r
157     addFieldDescriptor(desc);\r
158 \r
159     // -- validation code for: _value\r
160     fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
161     fieldValidator.setMinOccurs(1);\r
162     { // -- local scope\r
163       org.exolab.castor.xml.validators.StringValidator typeValidator;\r
164       typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
165       fieldValidator.setValidator(typeValidator);\r
166       typeValidator.setWhiteSpace("preserve");\r
167     }\r
168     desc.setValidator(fieldValidator);\r
169     // -- initialize element descriptors\r
170 \r
171   }\r
172 \r
173   // -----------/\r
174   // - Methods -/\r
175   // -----------/\r
176 \r
177   /**\r
178    * Method getAccessMode.\r
179    * \r
180    * @return the access mode specified for this class.\r
181    */\r
182   public org.exolab.castor.mapping.AccessMode getAccessMode()\r
183   {\r
184     return null;\r
185   }\r
186 \r
187   /**\r
188    * Method getIdentity.\r
189    * \r
190    * @return the identity field, null if this class has no identity.\r
191    */\r
192   public org.exolab.castor.mapping.FieldDescriptor getIdentity()\r
193   {\r
194     return super.getIdentity();\r
195   }\r
196 \r
197   /**\r
198    * Method getJavaClass.\r
199    * \r
200    * @return the Java class represented by this descriptor.\r
201    */\r
202   public java.lang.Class getJavaClass()\r
203   {\r
204     return jalview.schemabinding.version2.Property.class;\r
205   }\r
206 \r
207   /**\r
208    * Method getNameSpacePrefix.\r
209    * \r
210    * @return the namespace prefix to use when marshaling as XML.\r
211    */\r
212   public java.lang.String getNameSpacePrefix()\r
213   {\r
214     return _nsPrefix;\r
215   }\r
216 \r
217   /**\r
218    * Method getNameSpaceURI.\r
219    * \r
220    * @return the namespace URI used when marshaling and unmarshaling as XML.\r
221    */\r
222   public java.lang.String getNameSpaceURI()\r
223   {\r
224     return _nsURI;\r
225   }\r
226 \r
227   /**\r
228    * Method getValidator.\r
229    * \r
230    * @return a specific validator for the class described by this\r
231    *         ClassDescriptor.\r
232    */\r
233   public org.exolab.castor.xml.TypeValidator getValidator()\r
234   {\r
235     return this;\r
236   }\r
237 \r
238   /**\r
239    * Method getXMLName.\r
240    * \r
241    * @return the XML Name for the Class being described.\r
242    */\r
243   public java.lang.String getXMLName()\r
244   {\r
245     return _xmlName;\r
246   }\r
247 \r
248   /**\r
249    * Method isElementDefinition.\r
250    * \r
251    * @return true if XML schema definition of this Class is that of a global\r
252    *         element or element with anonymous type definition.\r
253    */\r
254   public boolean isElementDefinition()\r
255   {\r
256     return _elementDefinition;\r
257   }\r
258 \r
259 }\r