View Javadoc

1   /*
2    * This class was automatically generated with 
3    * <a href="http://www.castor.org">Castor 0.9.4.3</a>, using an XML
4    * Schema.
5    * $Id: OptionList.java,v 1.8 2007/01/04 16:26:32 clq2 Exp $
6    */
7   
8   package org.astrogrid.applications.beans.v1.parameters;
9   
10    //---------------------------------/
11   //- Imported classes and packages -/
12  //---------------------------------/
13  
14  import java.io.IOException;
15  import java.io.Reader;
16  import java.io.Serializable;
17  import java.io.Writer;
18  import java.util.ArrayList;
19  import java.util.Enumeration;
20  import org.exolab.castor.xml.MarshalException;
21  import org.exolab.castor.xml.Marshaller;
22  import org.exolab.castor.xml.Unmarshaller;
23  import org.exolab.castor.xml.ValidationException;
24  import org.xml.sax.ContentHandler;
25  
26  /***
27   * For parameters that can only have one of a list of values
28   * 
29   * @version $Revision: 1.8 $ $Date: 2007/01/04 16:26:32 $
30   */
31  public class OptionList extends org.astrogrid.common.bean.BaseBean 
32  implements java.io.Serializable
33  {
34  
35  
36        //--------------------------/
37       //- Class/Member Variables -/
38      //--------------------------/
39  
40      /***
41       * Field _optionValList
42       */
43      private java.util.ArrayList _optionValList;
44  
45  
46        //----------------/
47       //- Constructors -/
48      //----------------/
49  
50      public OptionList() {
51          super();
52          _optionValList = new ArrayList();
53      } //-- org.astrogrid.applications.beans.v1.parameters.OptionList()
54  
55  
56        //-----------/
57       //- Methods -/
58      //-----------/
59  
60      /***
61       * Method addOptionVal
62       * 
63       * @param vOptionVal
64       */
65      public void addOptionVal(java.lang.String vOptionVal)
66          throws java.lang.IndexOutOfBoundsException
67      {
68          _optionValList.add(vOptionVal);
69      } //-- void addOptionVal(java.lang.String) 
70  
71      /***
72       * Method addOptionVal
73       * 
74       * @param index
75       * @param vOptionVal
76       */
77      public void addOptionVal(int index, java.lang.String vOptionVal)
78          throws java.lang.IndexOutOfBoundsException
79      {
80          _optionValList.add(index, vOptionVal);
81      } //-- void addOptionVal(int, java.lang.String) 
82  
83      /***
84       * Method clearOptionVal
85       */
86      public void clearOptionVal()
87      {
88          _optionValList.clear();
89      } //-- void clearOptionVal() 
90  
91      /***
92       * Method enumerateOptionVal
93       */
94      public java.util.Enumeration enumerateOptionVal()
95      {
96          return new org.exolab.castor.util.IteratorEnumeration(_optionValList.iterator());
97      } //-- java.util.Enumeration enumerateOptionVal() 
98  
99      /***
100      * Note: hashCode() has not been overriden
101      * 
102      * @param obj
103      */
104     public boolean equals(java.lang.Object obj)
105     {
106         if ( this == obj )
107             return true;
108         
109         if (super.equals(obj)==false)
110             return false;
111         
112         if (obj instanceof OptionList) {
113         
114             OptionList temp = (OptionList)obj;
115             if (this._optionValList != null) {
116                 if (temp._optionValList == null) return false;
117                 else if (!(this._optionValList.equals(temp._optionValList))) 
118                     return false;
119             }
120             else if (temp._optionValList != null)
121                 return false;
122             return true;
123         }
124         return false;
125     } //-- boolean equals(java.lang.Object) 
126 
127     /***
128      * Method getOptionVal
129      * 
130      * @param index
131      */
132     public java.lang.String getOptionVal(int index)
133         throws java.lang.IndexOutOfBoundsException
134     {
135         //-- check bounds for index
136         if ((index < 0) || (index > _optionValList.size())) {
137             throw new IndexOutOfBoundsException();
138         }
139         
140         return (String)_optionValList.get(index);
141     } //-- java.lang.String getOptionVal(int) 
142 
143     /***
144      * Method getOptionVal
145      */
146     public java.lang.String[] getOptionVal()
147     {
148         int size = _optionValList.size();
149         java.lang.String[] mArray = new java.lang.String[size];
150         for (int index = 0; index < size; index++) {
151             mArray[index] = (String)_optionValList.get(index);
152         }
153         return mArray;
154     } //-- java.lang.String[] getOptionVal() 
155 
156     /***
157      * Method getOptionValCount
158      */
159     public int getOptionValCount()
160     {
161         return _optionValList.size();
162     } //-- int getOptionValCount() 
163 
164     /***
165      * Method isValid
166      */
167     public boolean isValid()
168     {
169         try {
170             validate();
171         }
172         catch (org.exolab.castor.xml.ValidationException vex) {
173             return false;
174         }
175         return true;
176     } //-- boolean isValid() 
177 
178     /***
179      * Method marshal
180      * 
181      * @param out
182      */
183     public void marshal(java.io.Writer out)
184         throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException
185     {
186         
187         Marshaller.marshal(this, out);
188     } //-- void marshal(java.io.Writer) 
189 
190     /***
191      * Method marshal
192      * 
193      * @param handler
194      */
195     public void marshal(org.xml.sax.ContentHandler handler)
196         throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException
197     {
198         
199         Marshaller.marshal(this, handler);
200     } //-- void marshal(org.xml.sax.ContentHandler) 
201 
202     /***
203      * Method removeOptionVal
204      * 
205      * @param vOptionVal
206      */
207     public boolean removeOptionVal(java.lang.String vOptionVal)
208     {
209         boolean removed = _optionValList.remove(vOptionVal);
210         return removed;
211     } //-- boolean removeOptionVal(java.lang.String) 
212 
213     /***
214      * Method setOptionVal
215      * 
216      * @param index
217      * @param vOptionVal
218      */
219     public void setOptionVal(int index, java.lang.String vOptionVal)
220         throws java.lang.IndexOutOfBoundsException
221     {
222         //-- check bounds for index
223         if ((index < 0) || (index > _optionValList.size())) {
224             throw new IndexOutOfBoundsException();
225         }
226         _optionValList.set(index, vOptionVal);
227     } //-- void setOptionVal(int, java.lang.String) 
228 
229     /***
230      * Method setOptionVal
231      * 
232      * @param optionValArray
233      */
234     public void setOptionVal(java.lang.String[] optionValArray)
235     {
236         //-- copy array
237         _optionValList.clear();
238         for (int i = 0; i < optionValArray.length; i++) {
239             _optionValList.add(optionValArray[i]);
240         }
241     } //-- void setOptionVal(java.lang.String) 
242 
243     /***
244      * Method unmarshalOptionList
245      * 
246      * @param reader
247      */
248     public static org.astrogrid.applications.beans.v1.parameters.OptionList unmarshalOptionList(java.io.Reader reader)
249         throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException
250     {
251         return (org.astrogrid.applications.beans.v1.parameters.OptionList) Unmarshaller.unmarshal(org.astrogrid.applications.beans.v1.parameters.OptionList.class, reader);
252     } //-- org.astrogrid.applications.beans.v1.parameters.OptionList unmarshalOptionList(java.io.Reader) 
253 
254     /***
255      * Method validate
256      */
257     public void validate()
258         throws org.exolab.castor.xml.ValidationException
259     {
260         org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
261         validator.validate(this);
262     } //-- void validate() 
263 
264 }