2 * This class was automatically generated with
3 * <a href="http://www.castor.org">Castor 0.9.9M2</a>, using an XML
8 package org.vamsas.objects.core;
10 //---------------------------------/
11 //- Imported classes and packages -/
12 //---------------------------------/
14 import java.io.Reader;
15 import java.io.Serializable;
16 import java.io.Writer;
17 import java.util.Enumeration;
18 import java.util.Vector;
19 import org.exolab.castor.xml.Marshaller;
20 import org.exolab.castor.xml.Unmarshaller;
21 import org.exolab.castor.xml.ValidationException;
24 * Specify an ordered set of positions and/or regions on the
26 * dimension of some associated vamsas object
28 * Keeping to jaxb-1.0 specification for the moment - this
29 * choice should become a substitution group when we use
30 * jaxb-2.0 capable bindings
33 * @version $Revision$ $Date$
35 public abstract class RangeType extends org.vamsas.client.Vobject
36 implements java.io.Serializable
40 //--------------------------/
41 //- Class/Member Variables -/
42 //--------------------------/
45 * Internal choice value storage
47 private java.lang.Object _choiceValue;
50 * a position within the associated object's
54 private java.util.Vector _posList;
57 * a region from start to end, with flag for
58 * inclusivity of terminii
61 private java.util.Vector _segList;
71 _posList = new Vector();
72 _segList = new Vector();
73 } //-- org.vamsas.objects.core.RangeType()
87 public void addPos(org.vamsas.objects.core.Pos vPos)
88 throws java.lang.IndexOutOfBoundsException
90 _posList.addElement(vPos);
91 } //-- void addPos(org.vamsas.objects.core.Pos)
101 public void addPos(int index, org.vamsas.objects.core.Pos vPos)
102 throws java.lang.IndexOutOfBoundsException
104 _posList.insertElementAt(vPos, index);
105 } //-- void addPos(int, org.vamsas.objects.core.Pos)
114 public void addSeg(org.vamsas.objects.core.Seg vSeg)
115 throws java.lang.IndexOutOfBoundsException
117 _segList.addElement(vSeg);
118 } //-- void addSeg(org.vamsas.objects.core.Seg)
128 public void addSeg(int index, org.vamsas.objects.core.Seg vSeg)
129 throws java.lang.IndexOutOfBoundsException
131 _segList.insertElementAt(vSeg, index);
132 } //-- void addSeg(int, org.vamsas.objects.core.Seg)
135 * Method enumeratePos
139 * @return Enumeration
141 public java.util.Enumeration enumeratePos()
143 return _posList.elements();
144 } //-- java.util.Enumeration enumeratePos()
147 * Method enumerateSeg
151 * @return Enumeration
153 public java.util.Enumeration enumerateSeg()
155 return _segList.elements();
156 } //-- java.util.Enumeration enumerateSeg()
159 * Note: hashCode() has not been overriden
164 public boolean equals(java.lang.Object obj)
169 if (super.equals(obj)==false)
172 if (obj instanceof RangeType) {
174 RangeType temp = (RangeType)obj;
175 if (this._choiceValue != null) {
176 if (temp._choiceValue == null) return false;
177 else if (!(this._choiceValue.equals(temp._choiceValue)))
180 else if (temp._choiceValue != null)
182 if (this._posList != null) {
183 if (temp._posList == null) return false;
184 else if (!(this._posList.equals(temp._posList)))
187 else if (temp._posList != null)
189 if (this._segList != null) {
190 if (temp._segList == null) return false;
191 else if (!(this._segList.equals(temp._segList)))
194 else if (temp._segList != null)
199 } //-- boolean equals(java.lang.Object)
202 * Returns the value of field 'choiceValue'. The field
203 * 'choiceValue' has the following description: Internal choice
207 * @return the value of field 'choiceValue'.
209 public java.lang.Object getChoiceValue()
211 return this._choiceValue;
212 } //-- java.lang.Object getChoiceValue()
222 public org.vamsas.objects.core.Pos getPos(int index)
223 throws java.lang.IndexOutOfBoundsException
225 //-- check bounds for index
226 if ((index < 0) || (index > _posList.size())) {
227 throw new IndexOutOfBoundsException("getPos: Index value '"+index+"' not in range [0.."+_posList.size()+ "]");
230 return (org.vamsas.objects.core.Pos) _posList.elementAt(index);
231 } //-- org.vamsas.objects.core.Pos getPos(int)
240 public org.vamsas.objects.core.Pos[] getPos()
242 int size = _posList.size();
243 org.vamsas.objects.core.Pos[] mArray = new org.vamsas.objects.core.Pos[size];
244 for (int index = 0; index < size; index++) {
245 mArray[index] = (org.vamsas.objects.core.Pos) _posList.elementAt(index);
248 } //-- org.vamsas.objects.core.Pos[] getPos()
257 public int getPosCount()
259 return _posList.size();
260 } //-- int getPosCount()
270 public org.vamsas.objects.core.Seg getSeg(int index)
271 throws java.lang.IndexOutOfBoundsException
273 //-- check bounds for index
274 if ((index < 0) || (index > _segList.size())) {
275 throw new IndexOutOfBoundsException("getSeg: Index value '"+index+"' not in range [0.."+_segList.size()+ "]");
278 return (org.vamsas.objects.core.Seg) _segList.elementAt(index);
279 } //-- org.vamsas.objects.core.Seg getSeg(int)
288 public org.vamsas.objects.core.Seg[] getSeg()
290 int size = _segList.size();
291 org.vamsas.objects.core.Seg[] mArray = new org.vamsas.objects.core.Seg[size];
292 for (int index = 0; index < size; index++) {
293 mArray[index] = (org.vamsas.objects.core.Seg) _segList.elementAt(index);
296 } //-- org.vamsas.objects.core.Seg[] getSeg()
305 public int getSegCount()
307 return _segList.size();
308 } //-- int getSegCount()
317 public boolean isValid()
322 catch (org.exolab.castor.xml.ValidationException vex) {
326 } //-- boolean isValid()
329 * Method removeAllPos
332 public void removeAllPos()
334 _posList.removeAllElements();
335 } //-- void removeAllPos()
338 * Method removeAllSeg
341 public void removeAllSeg()
343 _segList.removeAllElements();
344 } //-- void removeAllSeg()
354 public org.vamsas.objects.core.Pos removePos(int index)
356 java.lang.Object obj = _posList.elementAt(index);
357 _posList.removeElementAt(index);
358 return (org.vamsas.objects.core.Pos) obj;
359 } //-- org.vamsas.objects.core.Pos removePos(int)
369 public org.vamsas.objects.core.Seg removeSeg(int index)
371 java.lang.Object obj = _segList.elementAt(index);
372 _segList.removeElementAt(index);
373 return (org.vamsas.objects.core.Seg) obj;
374 } //-- org.vamsas.objects.core.Seg removeSeg(int)
384 public void setPos(int index, org.vamsas.objects.core.Pos vPos)
385 throws java.lang.IndexOutOfBoundsException
387 //-- check bounds for index
388 if ((index < 0) || (index > _posList.size())) {
389 throw new IndexOutOfBoundsException("setPos: Index value '"+index+"' not in range [0.."+_posList.size()+ "]");
391 _posList.setElementAt(vPos, index);
392 } //-- void setPos(int, org.vamsas.objects.core.Pos)
401 public void setPos(org.vamsas.objects.core.Pos[] posArray)
404 _posList.removeAllElements();
405 for (int i = 0; i < posArray.length; i++) {
406 _posList.addElement(posArray[i]);
408 } //-- void setPos(org.vamsas.objects.core.Pos)
418 public void setSeg(int index, org.vamsas.objects.core.Seg vSeg)
419 throws java.lang.IndexOutOfBoundsException
421 //-- check bounds for index
422 if ((index < 0) || (index > _segList.size())) {
423 throw new IndexOutOfBoundsException("setSeg: Index value '"+index+"' not in range [0.."+_segList.size()+ "]");
425 _segList.setElementAt(vSeg, index);
426 } //-- void setSeg(int, org.vamsas.objects.core.Seg)
435 public void setSeg(org.vamsas.objects.core.Seg[] segArray)
438 _segList.removeAllElements();
439 for (int i = 0; i < segArray.length; i++) {
440 _segList.addElement(segArray[i]);
442 } //-- void setSeg(org.vamsas.objects.core.Seg)
448 public void validate()
449 throws org.exolab.castor.xml.ValidationException
451 org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
452 validator.validate(this);
453 } //-- void validate()