extended Colour element with additional optional attributes for graduated colour
[jalview.git] / src / jalview / schemabinding / version2 / descriptors / MappingChoiceDescriptor.java
1 /*\r
2  * Jalview - A Sequence Alignment Editor and Viewer (Version 2.4.1)\r
3  * Copyright (C) 2009 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.MappingChoice;\r
26 \r
27 /**\r
28  * Class MappingChoiceDescriptor.\r
29  * \r
30  * @version $Revision$ $Date$\r
31  */\r
32 public class MappingChoiceDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {\r
33 \r
34 \r
35       //--------------------------/\r
36      //- Class/Member Variables -/\r
37     //--------------------------/\r
38 \r
39     /**\r
40      * Field _elementDefinition.\r
41      */\r
42     private boolean _elementDefinition;\r
43 \r
44     /**\r
45      * Field _nsPrefix.\r
46      */\r
47     private java.lang.String _nsPrefix;\r
48 \r
49     /**\r
50      * Field _nsURI.\r
51      */\r
52     private java.lang.String _nsURI;\r
53 \r
54     /**\r
55      * Field _xmlName.\r
56      */\r
57     private java.lang.String _xmlName;\r
58 \r
59 \r
60       //----------------/\r
61      //- Constructors -/\r
62     //----------------/\r
63 \r
64     public MappingChoiceDescriptor() {\r
65         super();\r
66         _nsURI = "www.vamsas.ac.uk/jalview/version2";\r
67         _elementDefinition = false;\r
68         \r
69         //-- set grouping compositor\r
70         setCompositorAsChoice();\r
71         org.exolab.castor.xml.util.XMLFieldDescriptorImpl  desc           = null;\r
72         org.exolab.castor.mapping.FieldHandler             handler        = null;\r
73         org.exolab.castor.xml.FieldValidator               fieldValidator = null;\r
74         //-- initialize attribute descriptors\r
75         \r
76         //-- initialize element descriptors\r
77         \r
78         //-- _sequence\r
79         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(jalview.schemabinding.version2.Sequence.class, "_sequence", "Sequence", org.exolab.castor.xml.NodeType.Element);\r
80         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
81             public java.lang.Object getValue( java.lang.Object object ) \r
82                 throws IllegalStateException\r
83             {\r
84                 MappingChoice target = (MappingChoice) object;\r
85                 return target.getSequence();\r
86             }\r
87             public void setValue( java.lang.Object object, java.lang.Object value) \r
88                 throws IllegalStateException, IllegalArgumentException\r
89             {\r
90                 try {\r
91                     MappingChoice target = (MappingChoice) object;\r
92                     target.setSequence( (jalview.schemabinding.version2.Sequence) value);\r
93                 } catch (java.lang.Exception ex) {\r
94                     throw new IllegalStateException(ex.toString());\r
95                 }\r
96             }\r
97             public java.lang.Object newInstance(java.lang.Object parent) {\r
98                 return new jalview.schemabinding.version2.Sequence();\r
99             }\r
100         };\r
101         desc.setHandler(handler);\r
102         desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");\r
103         desc.setMultivalued(false);\r
104         addFieldDescriptor(desc);\r
105         \r
106         //-- validation code for: _sequence\r
107         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
108         { //-- local scope\r
109         }\r
110         desc.setValidator(fieldValidator);\r
111         //-- _dseqFor\r
112         desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_dseqFor", "dseqFor", org.exolab.castor.xml.NodeType.Element);\r
113         desc.setImmutable(true);\r
114         handler = new org.exolab.castor.xml.XMLFieldHandler() {\r
115             public java.lang.Object getValue( java.lang.Object object ) \r
116                 throws IllegalStateException\r
117             {\r
118                 MappingChoice target = (MappingChoice) object;\r
119                 return target.getDseqFor();\r
120             }\r
121             public void setValue( java.lang.Object object, java.lang.Object value) \r
122                 throws IllegalStateException, IllegalArgumentException\r
123             {\r
124                 try {\r
125                     MappingChoice target = (MappingChoice) object;\r
126                     target.setDseqFor( (java.lang.String) value);\r
127                 } catch (java.lang.Exception ex) {\r
128                     throw new IllegalStateException(ex.toString());\r
129                 }\r
130             }\r
131             public java.lang.Object newInstance(java.lang.Object parent) {\r
132                 return null;\r
133             }\r
134         };\r
135         desc.setHandler(handler);\r
136         desc.setNameSpaceURI("www.vamsas.ac.uk/jalview/version2");\r
137         desc.setMultivalued(false);\r
138         addFieldDescriptor(desc);\r
139         \r
140         //-- validation code for: _dseqFor\r
141         fieldValidator = new org.exolab.castor.xml.FieldValidator();\r
142         { //-- local scope\r
143             org.exolab.castor.xml.validators.StringValidator typeValidator;\r
144             typeValidator = new org.exolab.castor.xml.validators.StringValidator();\r
145             fieldValidator.setValidator(typeValidator);\r
146             typeValidator.setWhiteSpace("preserve");\r
147         }\r
148         desc.setValidator(fieldValidator);\r
149     }\r
150 \r
151 \r
152       //-----------/\r
153      //- Methods -/\r
154     //-----------/\r
155 \r
156     /**\r
157      * Method getAccessMode.\r
158      * \r
159      * @return the access mode specified for this class.\r
160      */\r
161     public org.exolab.castor.mapping.AccessMode getAccessMode(\r
162     ) {\r
163         return null;\r
164     }\r
165 \r
166     /**\r
167      * Method getIdentity.\r
168      * \r
169      * @return the identity field, null if this class has no\r
170      * identity.\r
171      */\r
172     public org.exolab.castor.mapping.FieldDescriptor getIdentity(\r
173     ) {\r
174         return super.getIdentity();\r
175     }\r
176 \r
177     /**\r
178      * Method getJavaClass.\r
179      * \r
180      * @return the Java class represented by this descriptor.\r
181      */\r
182     public java.lang.Class getJavaClass(\r
183     ) {\r
184         return jalview.schemabinding.version2.MappingChoice.class;\r
185     }\r
186 \r
187     /**\r
188      * Method getNameSpacePrefix.\r
189      * \r
190      * @return the namespace prefix to use when marshaling as XML.\r
191      */\r
192     public java.lang.String getNameSpacePrefix(\r
193     ) {\r
194         return _nsPrefix;\r
195     }\r
196 \r
197     /**\r
198      * Method getNameSpaceURI.\r
199      * \r
200      * @return the namespace URI used when marshaling and\r
201      * unmarshaling as XML.\r
202      */\r
203     public java.lang.String getNameSpaceURI(\r
204     ) {\r
205         return _nsURI;\r
206     }\r
207 \r
208     /**\r
209      * Method getValidator.\r
210      * \r
211      * @return a specific validator for the class described by this\r
212      * ClassDescriptor.\r
213      */\r
214     public org.exolab.castor.xml.TypeValidator getValidator(\r
215     ) {\r
216         return this;\r
217     }\r
218 \r
219     /**\r
220      * Method getXMLName.\r
221      * \r
222      * @return the XML Name for the Class being described.\r
223      */\r
224     public java.lang.String getXMLName(\r
225     ) {\r
226         return _xmlName;\r
227     }\r
228 \r
229     /**\r
230      * Method isElementDefinition.\r
231      * \r
232      * @return true if XML schema definition of this Class is that\r
233      * of a global\r
234      * element or element with anonymous type definition.\r
235      */\r
236     public boolean isElementDefinition(\r
237     ) {\r
238         return _elementDefinition;\r
239     }\r
240 \r
241 }\r