42c76da5af736e5cf2099fe3c45265c327c82804
[jalview.git] / src / jalview / schemabinding / version2 / descriptors / PdbentryItemDescriptor.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.PdbentryItem;
25
26 /**
27  * Class PdbentryItemDescriptor.
28  * 
29  * @version $Revision$ $Date$
30  */
31 public class PdbentryItemDescriptor extends
32         org.exolab.castor.xml.util.XMLClassDescriptorImpl
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 PdbentryItemDescriptor()
64   {
65     super();
66     _nsURI = "www.jalview.org";
67     _xmlName = "pdbentry";
68     _elementDefinition = false;
69
70     // -- set grouping compositor
71     setCompositorAsSequence();
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     // -- initialize element descriptors
78
79     // -- _propertyList
80     desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
81             jalview.schemabinding.version2.Property.class, "_propertyList",
82             "property", org.exolab.castor.xml.NodeType.Element);
83     handler = new org.exolab.castor.xml.XMLFieldHandler()
84     {
85       public java.lang.Object getValue(java.lang.Object object)
86               throws IllegalStateException
87       {
88         PdbentryItem target = (PdbentryItem) object;
89         return target.getProperty();
90       }
91
92       public void setValue(java.lang.Object object, java.lang.Object value)
93               throws IllegalStateException, IllegalArgumentException
94       {
95         try
96         {
97           PdbentryItem target = (PdbentryItem) object;
98           target.addProperty((jalview.schemabinding.version2.Property) value);
99         } catch (java.lang.Exception ex)
100         {
101           throw new IllegalStateException(ex.toString());
102         }
103       }
104
105       public void resetValue(Object object) throws IllegalStateException,
106               IllegalArgumentException
107       {
108         try
109         {
110           PdbentryItem target = (PdbentryItem) object;
111           target.removeAllProperty();
112         } catch (java.lang.Exception ex)
113         {
114           throw new IllegalStateException(ex.toString());
115         }
116       }
117
118       public java.lang.Object newInstance(java.lang.Object parent)
119       {
120         return new jalview.schemabinding.version2.Property();
121       }
122     };
123     desc.setHandler(handler);
124     desc.setNameSpaceURI("www.jalview.org");
125     desc.setMultivalued(true);
126     addFieldDescriptor(desc);
127
128     // -- validation code for: _propertyList
129     fieldValidator = new org.exolab.castor.xml.FieldValidator();
130     fieldValidator.setMinOccurs(0);
131     { // -- local scope
132     }
133     desc.setValidator(fieldValidator);
134   }
135
136   // -----------/
137   // - Methods -/
138   // -----------/
139
140   /**
141    * Method getAccessMode.
142    * 
143    * @return the access mode specified for this class.
144    */
145   public org.exolab.castor.mapping.AccessMode getAccessMode()
146   {
147     return null;
148   }
149
150   /**
151    * Method getIdentity.
152    * 
153    * @return the identity field, null if this class has no identity.
154    */
155   public org.exolab.castor.mapping.FieldDescriptor getIdentity()
156   {
157     return super.getIdentity();
158   }
159
160   /**
161    * Method getJavaClass.
162    * 
163    * @return the Java class represented by this descriptor.
164    */
165   public java.lang.Class getJavaClass()
166   {
167     return jalview.schemabinding.version2.PdbentryItem.class;
168   }
169
170   /**
171    * Method getNameSpacePrefix.
172    * 
173    * @return the namespace prefix to use when marshaling as XML.
174    */
175   public java.lang.String getNameSpacePrefix()
176   {
177     return _nsPrefix;
178   }
179
180   /**
181    * Method getNameSpaceURI.
182    * 
183    * @return the namespace URI used when marshaling and unmarshaling as XML.
184    */
185   public java.lang.String getNameSpaceURI()
186   {
187     return _nsURI;
188   }
189
190   /**
191    * Method getValidator.
192    * 
193    * @return a specific validator for the class described by this
194    *         ClassDescriptor.
195    */
196   public org.exolab.castor.xml.TypeValidator getValidator()
197   {
198     return this;
199   }
200
201   /**
202    * Method getXMLName.
203    * 
204    * @return the XML Name for the Class being described.
205    */
206   public java.lang.String getXMLName()
207   {
208     return _xmlName;
209   }
210
211   /**
212    * Method isElementDefinition.
213    * 
214    * @return true if XML schema definition of this Class is that of a global
215    *         element or element with anonymous type definition.
216    */
217   public boolean isElementDefinition()
218   {
219     return _elementDefinition;
220   }
221
222 }