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