070af2accdf95a286bf4faf64e4bd74dfb22d7fa
[vamsas.git] / src / org / vamsas / objects / core / RangeType.java
1 /*\r
2  * This class was automatically generated with \r
3  * <a href="http://www.castor.org">Castor 0.9.9M2</a>, using an XML\r
4  * Schema.\r
5  * $Id$\r
6  */\r
7 \r
8 package org.vamsas.objects.core;\r
9 \r
10   //---------------------------------/\r
11  //- Imported classes and packages -/\r
12 //---------------------------------/\r
13 \r
14 import java.io.Reader;\r
15 import java.io.Serializable;\r
16 import java.io.Writer;\r
17 import java.util.Enumeration;\r
18 import java.util.Vector;\r
19 import org.exolab.castor.xml.Marshaller;\r
20 import org.exolab.castor.xml.Unmarshaller;\r
21 import org.exolab.castor.xml.ValidationException;\r
22 \r
23 /**\r
24  * Specify an ordered set of positions and/or regions on the\r
25  * principle\r
26  *  dimension of some associated vamsas object\r
27  *  \r
28  *  Keeping to jaxb-1.0 specification for the moment - this\r
29  *  choice should become a substitution group when we use\r
30  *  jaxb-2.0 capable bindings\r
31  *  \r
32  * \r
33  * @version $Revision$ $Date$\r
34  */\r
35 public abstract class RangeType extends org.vamsas.client.Vobject \r
36 implements java.io.Serializable\r
37 {\r
38 \r
39 \r
40       //--------------------------/\r
41      //- Class/Member Variables -/\r
42     //--------------------------/\r
43 \r
44     /**\r
45      * Internal choice value storage\r
46      */\r
47     private java.lang.Object _choiceValue;\r
48 \r
49     /**\r
50      * a position within the associated object's\r
51      *  coordinate system\r
52      *  \r
53      */\r
54     private java.util.Vector _posList;\r
55 \r
56     /**\r
57      * a region from start to end, with flag for\r
58      *  inclusivity of terminii\r
59      *  \r
60      */\r
61     private java.util.Vector _segList;\r
62 \r
63 \r
64       //----------------/\r
65      //- Constructors -/\r
66     //----------------/\r
67 \r
68     public RangeType() \r
69      {\r
70         super();\r
71         _posList = new Vector();\r
72         _segList = new Vector();\r
73     } //-- org.vamsas.objects.core.RangeType()\r
74 \r
75 \r
76       //-----------/\r
77      //- Methods -/\r
78     //-----------/\r
79 \r
80     /**\r
81      * Method addPos\r
82      * \r
83      * \r
84      * \r
85      * @param vPos\r
86      */\r
87     public void addPos(org.vamsas.objects.core.Pos vPos)\r
88         throws java.lang.IndexOutOfBoundsException\r
89     {\r
90         _posList.addElement(vPos);\r
91     } //-- void addPos(org.vamsas.objects.core.Pos) \r
92 \r
93     /**\r
94      * Method addPos\r
95      * \r
96      * \r
97      * \r
98      * @param index\r
99      * @param vPos\r
100      */\r
101     public void addPos(int index, org.vamsas.objects.core.Pos vPos)\r
102         throws java.lang.IndexOutOfBoundsException\r
103     {\r
104         _posList.insertElementAt(vPos, index);\r
105     } //-- void addPos(int, org.vamsas.objects.core.Pos) \r
106 \r
107     /**\r
108      * Method addSeg\r
109      * \r
110      * \r
111      * \r
112      * @param vSeg\r
113      */\r
114     public void addSeg(org.vamsas.objects.core.Seg vSeg)\r
115         throws java.lang.IndexOutOfBoundsException\r
116     {\r
117         _segList.addElement(vSeg);\r
118     } //-- void addSeg(org.vamsas.objects.core.Seg) \r
119 \r
120     /**\r
121      * Method addSeg\r
122      * \r
123      * \r
124      * \r
125      * @param index\r
126      * @param vSeg\r
127      */\r
128     public void addSeg(int index, org.vamsas.objects.core.Seg vSeg)\r
129         throws java.lang.IndexOutOfBoundsException\r
130     {\r
131         _segList.insertElementAt(vSeg, index);\r
132     } //-- void addSeg(int, org.vamsas.objects.core.Seg) \r
133 \r
134     /**\r
135      * Method enumeratePos\r
136      * \r
137      * \r
138      * \r
139      * @return Enumeration\r
140      */\r
141     public java.util.Enumeration enumeratePos()\r
142     {\r
143         return _posList.elements();\r
144     } //-- java.util.Enumeration enumeratePos() \r
145 \r
146     /**\r
147      * Method enumerateSeg\r
148      * \r
149      * \r
150      * \r
151      * @return Enumeration\r
152      */\r
153     public java.util.Enumeration enumerateSeg()\r
154     {\r
155         return _segList.elements();\r
156     } //-- java.util.Enumeration enumerateSeg() \r
157 \r
158     /**\r
159      * Note: hashCode() has not been overriden\r
160      * \r
161      * @param obj\r
162      * @return boolean\r
163      */\r
164     public boolean equals(java.lang.Object obj)\r
165     {\r
166         if ( this == obj )\r
167             return true;\r
168         \r
169         if (super.equals(obj)==false)\r
170             return false;\r
171         \r
172         if (obj instanceof RangeType) {\r
173         \r
174             RangeType temp = (RangeType)obj;\r
175             if (this._choiceValue != null) {\r
176                 if (temp._choiceValue == null) return false;\r
177                 else if (!(this._choiceValue.equals(temp._choiceValue))) \r
178                     return false;\r
179             }\r
180             else if (temp._choiceValue != null)\r
181                 return false;\r
182             if (this._posList != null) {\r
183                 if (temp._posList == null) return false;\r
184                 else if (!(this._posList.equals(temp._posList))) \r
185                     return false;\r
186             }\r
187             else if (temp._posList != null)\r
188                 return false;\r
189             if (this._segList != null) {\r
190                 if (temp._segList == null) return false;\r
191                 else if (!(this._segList.equals(temp._segList))) \r
192                     return false;\r
193             }\r
194             else if (temp._segList != null)\r
195                 return false;\r
196             return true;\r
197         }\r
198         return false;\r
199     } //-- boolean equals(java.lang.Object) \r
200 \r
201     /**\r
202      * Returns the value of field 'choiceValue'. The field\r
203      * 'choiceValue' has the following description: Internal choice\r
204      * value storage\r
205      * \r
206      * @return Object\r
207      * @return the value of field 'choiceValue'.\r
208      */\r
209     public java.lang.Object getChoiceValue()\r
210     {\r
211         return this._choiceValue;\r
212     } //-- java.lang.Object getChoiceValue() \r
213 \r
214     /**\r
215      * Method getPos\r
216      * \r
217      * \r
218      * \r
219      * @param index\r
220      * @return Pos\r
221      */\r
222     public org.vamsas.objects.core.Pos getPos(int index)\r
223         throws java.lang.IndexOutOfBoundsException\r
224     {\r
225         //-- check bounds for index\r
226         if ((index < 0) || (index > _posList.size())) {\r
227             throw new IndexOutOfBoundsException("getPos: Index value '"+index+"' not in range [0.."+_posList.size()+ "]");\r
228         }\r
229         \r
230         return (org.vamsas.objects.core.Pos) _posList.elementAt(index);\r
231     } //-- org.vamsas.objects.core.Pos getPos(int) \r
232 \r
233     /**\r
234      * Method getPos\r
235      * \r
236      * \r
237      * \r
238      * @return Pos\r
239      */\r
240     public org.vamsas.objects.core.Pos[] getPos()\r
241     {\r
242         int size = _posList.size();\r
243         org.vamsas.objects.core.Pos[] mArray = new org.vamsas.objects.core.Pos[size];\r
244         for (int index = 0; index < size; index++) {\r
245             mArray[index] = (org.vamsas.objects.core.Pos) _posList.elementAt(index);\r
246         }\r
247         return mArray;\r
248     } //-- org.vamsas.objects.core.Pos[] getPos() \r
249 \r
250     /**\r
251      * Method getPosCount\r
252      * \r
253      * \r
254      * \r
255      * @return int\r
256      */\r
257     public int getPosCount()\r
258     {\r
259         return _posList.size();\r
260     } //-- int getPosCount() \r
261 \r
262     /**\r
263      * Method getSeg\r
264      * \r
265      * \r
266      * \r
267      * @param index\r
268      * @return Seg\r
269      */\r
270     public org.vamsas.objects.core.Seg getSeg(int index)\r
271         throws java.lang.IndexOutOfBoundsException\r
272     {\r
273         //-- check bounds for index\r
274         if ((index < 0) || (index > _segList.size())) {\r
275             throw new IndexOutOfBoundsException("getSeg: Index value '"+index+"' not in range [0.."+_segList.size()+ "]");\r
276         }\r
277         \r
278         return (org.vamsas.objects.core.Seg) _segList.elementAt(index);\r
279     } //-- org.vamsas.objects.core.Seg getSeg(int) \r
280 \r
281     /**\r
282      * Method getSeg\r
283      * \r
284      * \r
285      * \r
286      * @return Seg\r
287      */\r
288     public org.vamsas.objects.core.Seg[] getSeg()\r
289     {\r
290         int size = _segList.size();\r
291         org.vamsas.objects.core.Seg[] mArray = new org.vamsas.objects.core.Seg[size];\r
292         for (int index = 0; index < size; index++) {\r
293             mArray[index] = (org.vamsas.objects.core.Seg) _segList.elementAt(index);\r
294         }\r
295         return mArray;\r
296     } //-- org.vamsas.objects.core.Seg[] getSeg() \r
297 \r
298     /**\r
299      * Method getSegCount\r
300      * \r
301      * \r
302      * \r
303      * @return int\r
304      */\r
305     public int getSegCount()\r
306     {\r
307         return _segList.size();\r
308     } //-- int getSegCount() \r
309 \r
310     /**\r
311      * Method isValid\r
312      * \r
313      * \r
314      * \r
315      * @return boolean\r
316      */\r
317     public boolean isValid()\r
318     {\r
319         try {\r
320             validate();\r
321         }\r
322         catch (org.exolab.castor.xml.ValidationException vex) {\r
323             return false;\r
324         }\r
325         return true;\r
326     } //-- boolean isValid() \r
327 \r
328     /**\r
329      * Method removeAllPos\r
330      * \r
331      */\r
332     public void removeAllPos()\r
333     {\r
334         _posList.removeAllElements();\r
335     } //-- void removeAllPos() \r
336 \r
337     /**\r
338      * Method removeAllSeg\r
339      * \r
340      */\r
341     public void removeAllSeg()\r
342     {\r
343         _segList.removeAllElements();\r
344     } //-- void removeAllSeg() \r
345 \r
346     /**\r
347      * Method removePos\r
348      * \r
349      * \r
350      * \r
351      * @param index\r
352      * @return Pos\r
353      */\r
354     public org.vamsas.objects.core.Pos removePos(int index)\r
355     {\r
356         java.lang.Object obj = _posList.elementAt(index);\r
357         _posList.removeElementAt(index);\r
358         return (org.vamsas.objects.core.Pos) obj;\r
359     } //-- org.vamsas.objects.core.Pos removePos(int) \r
360 \r
361     /**\r
362      * Method removeSeg\r
363      * \r
364      * \r
365      * \r
366      * @param index\r
367      * @return Seg\r
368      */\r
369     public org.vamsas.objects.core.Seg removeSeg(int index)\r
370     {\r
371         java.lang.Object obj = _segList.elementAt(index);\r
372         _segList.removeElementAt(index);\r
373         return (org.vamsas.objects.core.Seg) obj;\r
374     } //-- org.vamsas.objects.core.Seg removeSeg(int) \r
375 \r
376     /**\r
377      * Method setPos\r
378      * \r
379      * \r
380      * \r
381      * @param index\r
382      * @param vPos\r
383      */\r
384     public void setPos(int index, org.vamsas.objects.core.Pos vPos)\r
385         throws java.lang.IndexOutOfBoundsException\r
386     {\r
387         //-- check bounds for index\r
388         if ((index < 0) || (index > _posList.size())) {\r
389             throw new IndexOutOfBoundsException("setPos: Index value '"+index+"' not in range [0.."+_posList.size()+ "]");\r
390         }\r
391         _posList.setElementAt(vPos, index);\r
392     } //-- void setPos(int, org.vamsas.objects.core.Pos) \r
393 \r
394     /**\r
395      * Method setPos\r
396      * \r
397      * \r
398      * \r
399      * @param posArray\r
400      */\r
401     public void setPos(org.vamsas.objects.core.Pos[] posArray)\r
402     {\r
403         //-- copy array\r
404         _posList.removeAllElements();\r
405         for (int i = 0; i < posArray.length; i++) {\r
406             _posList.addElement(posArray[i]);\r
407         }\r
408     } //-- void setPos(org.vamsas.objects.core.Pos) \r
409 \r
410     /**\r
411      * Method setSeg\r
412      * \r
413      * \r
414      * \r
415      * @param index\r
416      * @param vSeg\r
417      */\r
418     public void setSeg(int index, org.vamsas.objects.core.Seg vSeg)\r
419         throws java.lang.IndexOutOfBoundsException\r
420     {\r
421         //-- check bounds for index\r
422         if ((index < 0) || (index > _segList.size())) {\r
423             throw new IndexOutOfBoundsException("setSeg: Index value '"+index+"' not in range [0.."+_segList.size()+ "]");\r
424         }\r
425         _segList.setElementAt(vSeg, index);\r
426     } //-- void setSeg(int, org.vamsas.objects.core.Seg) \r
427 \r
428     /**\r
429      * Method setSeg\r
430      * \r
431      * \r
432      * \r
433      * @param segArray\r
434      */\r
435     public void setSeg(org.vamsas.objects.core.Seg[] segArray)\r
436     {\r
437         //-- copy array\r
438         _segList.removeAllElements();\r
439         for (int i = 0; i < segArray.length; i++) {\r
440             _segList.addElement(segArray[i]);\r
441         }\r
442     } //-- void setSeg(org.vamsas.objects.core.Seg) \r
443 \r
444     /**\r
445      * Method validate\r
446      * \r
447      */\r
448     public void validate()\r
449         throws org.exolab.castor.xml.ValidationException\r
450     {\r
451         org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();\r
452         validator.validate(this);\r
453     } //-- void validate() \r
454 \r
455 }\r