schema changes: provenance-entry-date is now an xmlSchema:dateTime bound directly...
[vamsas.git] / src / uk / ac / vamsas / objects / core / DataSetAnnotations.java
index f6ccd0e..39aa939 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * This class was automatically generated with 
- * <a href="http://www.castor.org">Castor 0.9.9M2</a>, using an XML
+ * <a href="http://www.castor.org">Castor 1.1</a>, using an XML
  * Schema.
- * $Id:DataSetAnnotations.java 264 2006-12-14 17:42:54Z JimP $
+ * $Id$
  */
 
 package uk.ac.vamsas.objects.core;
@@ -11,20 +11,13 @@ package uk.ac.vamsas.objects.core;
  //- Imported classes and packages -/
 //---------------------------------/
 
-import java.io.IOException;
-import java.io.Reader;
-import java.io.Serializable;
-import java.io.Writer;
-import org.exolab.castor.xml.MarshalException;
 import org.exolab.castor.xml.Marshaller;
 import org.exolab.castor.xml.Unmarshaller;
-import org.exolab.castor.xml.ValidationException;
-import org.xml.sax.ContentHandler;
 
 /**
  * Class DataSetAnnotations.
  * 
- * @version $Revision:264 $ $Date:2006-12-14 17:42:54 +0000 (Thu, 14 Dec 2006) $
+ * @version $Revision$ $Date$
  */
 public class DataSetAnnotations extends uk.ac.vamsas.objects.core.RangeAnnotation 
 implements java.io.Serializable
@@ -39,10 +32,10 @@ implements java.io.Serializable
      * annotation is associated with a
      *  particular dataset sequence 
      */
-    private java.lang.Object _seqRef;
+    private java.util.Vector _seqRef;
 
     /**
-     * Field _provenance
+     * Field _provenance.
      */
     private uk.ac.vamsas.objects.core.Provenance _provenance;
 
@@ -51,10 +44,10 @@ implements java.io.Serializable
      //- Constructors -/
     //----------------/
 
-    public DataSetAnnotations() 
-     {
+    public DataSetAnnotations() {
         super();
-    } //-- uk.ac.vamsas.objects.core.DataSetAnnotations()
+        this._seqRef = new java.util.Vector();
+    }
 
 
       //-----------/
@@ -62,13 +55,51 @@ implements java.io.Serializable
     //-----------/
 
     /**
-     * Note: hashCode() has not been overriden
+     * 
+     * 
+     * @param vSeqRef
+     * @throws java.lang.IndexOutOfBoundsException if the index
+     * given is outside the bounds of the collection
+     */
+    public void addSeqRef(
+            final java.lang.Object vSeqRef)
+    throws java.lang.IndexOutOfBoundsException {
+        this._seqRef.addElement(vSeqRef);
+    }
+
+    /**
+     * 
+     * 
+     * @param index
+     * @param vSeqRef
+     * @throws java.lang.IndexOutOfBoundsException if the index
+     * given is outside the bounds of the collection
+     */
+    public void addSeqRef(
+            final int index,
+            final java.lang.Object vSeqRef)
+    throws java.lang.IndexOutOfBoundsException {
+        this._seqRef.add(index, vSeqRef);
+    }
+
+    /**
+     * Method enumerateSeqRef.
+     * 
+     * @return an Enumeration over all java.lang.Object elements
+     */
+    public java.util.Enumeration enumerateSeqRef(
+    ) {
+        return this._seqRef.elements();
+    }
+
+    /**
+     * Overrides the java.lang.Object.equals method.
      * 
      * @param obj
-     * @return boolean
+     * @return true if the objects are equal.
      */
-    public boolean equals(java.lang.Object obj)
-    {
+    public boolean equals(
+            final java.lang.Object obj) {
         if ( this == obj )
             return true;
         
@@ -95,123 +126,273 @@ implements java.io.Serializable
             return true;
         }
         return false;
-    } //-- boolean equals(java.lang.Object) 
+    }
 
     /**
      * Returns the value of field 'provenance'.
      * 
-     * @return Provenance
-     * @return the value of field 'provenance'.
+     * @return the value of field 'Provenance'.
      */
-    public uk.ac.vamsas.objects.core.Provenance getProvenance()
-    {
+    public uk.ac.vamsas.objects.core.Provenance getProvenance(
+    ) {
         return this._provenance;
-    } //-- uk.ac.vamsas.objects.core.Provenance getProvenance() 
+    }
 
     /**
-     * Returns the value of field 'seqRef'. The field 'seqRef' has
-     * the following description: annotation is associated with a
-     *  particular dataset sequence 
+     * Method getSeqRef.
      * 
-     * @return Object
-     * @return the value of field 'seqRef'.
+     * @param index
+     * @throws java.lang.IndexOutOfBoundsException if the index
+     * given is outside the bounds of the collection
+     * @return the value of the java.lang.Object at the given index
      */
-    public java.lang.Object getSeqRef()
-    {
+    public java.lang.Object getSeqRef(
+            final int index)
+    throws java.lang.IndexOutOfBoundsException {
+        // check bounds for index
+        if (index < 0 || index >= this._seqRef.size()) {
+            throw new IndexOutOfBoundsException("getSeqRef: Index value '" + index + "' not in range [0.." + (this._seqRef.size() - 1) + "]");
+        }
+        
+        return _seqRef.get(index);
+    }
+
+    /**
+     * Method getSeqRef.Returns the contents of the collection in
+     * an Array.  <p>Note:  Just in case the collection contents
+     * are changing in another thread, we pass a 0-length Array of
+     * the correct type into the API call.  This way we <i>know</i>
+     * that the Array returned is of exactly the correct length.
+     * 
+     * @return this collection as an Array
+     */
+    public java.lang.Object[] getSeqRef(
+    ) {
+        java.lang.Object[] array = new java.lang.Object[0];
+        return (java.lang.Object[]) this._seqRef.toArray(array);
+    }
+
+    /**
+     * Method getSeqRefAsReference.Returns a reference to
+     * '_seqRef'. No type checking is performed on any
+     * modifications to the Vector.
+     * 
+     * @return a reference to the Vector backing this class
+     */
+    public java.util.Vector getSeqRefAsReference(
+    ) {
         return this._seqRef;
-    } //-- java.lang.Object getSeqRef() 
+    }
 
     /**
-     * Method isValid
+     * Method getSeqRefCount.
      * 
+     * @return the size of this collection
+     */
+    public int getSeqRefCount(
+    ) {
+        return this._seqRef.size();
+    }
+
+    /**
+     * Overrides the java.lang.Object.hashCode method.
+     * <p>
+     * The following steps came from <b>Effective Java Programming
+     * Language Guide</b> by Joshua Bloch, Chapter 3
      * 
+     * @return a hash code value for the object.
+     */
+    public int hashCode(
+    ) {
+        int result = super.hashCode();
+        
+        long tmp;
+        if (_seqRef != null) {
+           result = 37 * result + _seqRef.hashCode();
+        }
+        if (_provenance != null) {
+           result = 37 * result + _provenance.hashCode();
+        }
+        
+        return result;
+    }
+
+    /**
+     * Method isValid.
      * 
-     * @return boolean
+     * @return true if this object is valid according to the schema
      */
-    public boolean isValid()
-    {
+    public boolean isValid(
+    ) {
         try {
             validate();
-        }
-        catch (org.exolab.castor.xml.ValidationException vex) {
+        } catch (org.exolab.castor.xml.ValidationException vex) {
             return false;
         }
         return true;
-    } //-- boolean isValid() 
+    }
 
     /**
-     * Method marshal
-     * 
      * 
      * 
      * @param out
+     * @throws org.exolab.castor.xml.MarshalException if object is
+     * null or if any SAXException is thrown during marshaling
+     * @throws org.exolab.castor.xml.ValidationException if this
+     * object is an invalid instance according to the schema
      */
-    public void marshal(java.io.Writer out)
-        throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException
-    {
-        
+    public void marshal(
+            final java.io.Writer out)
+    throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
         Marshaller.marshal(this, out);
-    } //-- void marshal(java.io.Writer) 
+    }
 
     /**
-     * Method marshal
-     * 
      * 
      * 
      * @param handler
+     * @throws java.io.IOException if an IOException occurs during
+     * marshaling
+     * @throws org.exolab.castor.xml.ValidationException if this
+     * object is an invalid instance according to the schema
+     * @throws org.exolab.castor.xml.MarshalException if object is
+     * null or if any SAXException is thrown during marshaling
      */
-    public void marshal(org.xml.sax.ContentHandler handler)
-        throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException
-    {
-        
+    public void marshal(
+            final org.xml.sax.ContentHandler handler)
+    throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
         Marshaller.marshal(this, handler);
-    } //-- void marshal(org.xml.sax.ContentHandler) 
+    }
+
+    /**
+     */
+    public void removeAllSeqRef(
+    ) {
+        this._seqRef.clear();
+    }
+
+    /**
+     * Method removeSeqRef.
+     * 
+     * @param vSeqRef
+     * @return true if the object was removed from the collection.
+     */
+    public boolean removeSeqRef(
+            final java.lang.Object vSeqRef) {
+        boolean removed = _seqRef.remove(vSeqRef);
+        return removed;
+    }
+
+    /**
+     * Method removeSeqRefAt.
+     * 
+     * @param index
+     * @return the element removed from the collection
+     */
+    public java.lang.Object removeSeqRefAt(
+            final int index) {
+        java.lang.Object obj = this._seqRef.remove(index);
+        return obj;
+    }
 
     /**
      * Sets the value of field 'provenance'.
      * 
      * @param provenance the value of field 'provenance'.
      */
-    public void setProvenance(uk.ac.vamsas.objects.core.Provenance provenance)
-    {
+    public void setProvenance(
+            final uk.ac.vamsas.objects.core.Provenance provenance) {
         this._provenance = provenance;
-    } //-- void setProvenance(uk.ac.vamsas.objects.core.Provenance) 
+    }
 
     /**
-     * Sets the value of field 'seqRef'. The field 'seqRef' has the
-     * following description: annotation is associated with a
-     *  particular dataset sequence 
      * 
-     * @param seqRef the value of field 'seqRef'.
+     * 
+     * @param index
+     * @param vSeqRef
+     * @throws java.lang.IndexOutOfBoundsException if the index
+     * given is outside the bounds of the collection
      */
-    public void setSeqRef(java.lang.Object seqRef)
-    {
-        this._seqRef = seqRef;
-    } //-- void setSeqRef(java.lang.Object) 
+    public void setSeqRef(
+            final int index,
+            final java.lang.Object vSeqRef)
+    throws java.lang.IndexOutOfBoundsException {
+        // check bounds for index
+        if (index < 0 || index >= this._seqRef.size()) {
+            throw new IndexOutOfBoundsException("setSeqRef: Index value '" + index + "' not in range [0.." + (this._seqRef.size() - 1) + "]");
+        }
+        
+        this._seqRef.set(index, vSeqRef);
+    }
 
     /**
-     * Method unmarshal
      * 
      * 
+     * @param vSeqRefArray
+     */
+    public void setSeqRef(
+            final java.lang.Object[] vSeqRefArray) {
+        //-- copy array
+        _seqRef.clear();
+        
+        for (int i = 0; i < vSeqRefArray.length; i++) {
+                this._seqRef.add(vSeqRefArray[i]);
+        }
+    }
+
+    /**
+     * Sets the value of '_seqRef' by copying the given Vector. All
+     * elements will be checked for type safety.
+     * 
+     * @param vSeqRefList the Vector to copy.
+     */
+    public void setSeqRef(
+            final java.util.Vector vSeqRefList) {
+        // copy vector
+        this._seqRef.clear();
+        
+        this._seqRef.addAll(vSeqRefList);
+    }
+
+    /**
+     * Sets the value of '_seqRef' by setting it to the given
+     * Vector. No type checking is performed.
+     * @deprecated
+     * 
+     * @param seqRefVector the Vector to set.
+     */
+    public void setSeqRefAsReference(
+            final java.util.Vector seqRefVector) {
+        this._seqRef = seqRefVector;
+    }
+
+    /**
+     * Method unmarshal.
      * 
      * @param reader
-     * @return RangeType
+     * @throws org.exolab.castor.xml.MarshalException if object is
+     * null or if any SAXException is thrown during marshaling
+     * @throws org.exolab.castor.xml.ValidationException if this
+     * object is an invalid instance according to the schema
+     * @return the unmarshaled uk.ac.vamsas.objects.core.RangeType
      */
-    public static uk.ac.vamsas.objects.core.RangeType unmarshal(java.io.Reader reader)
-        throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException
-    {
-        return (uk.ac.vamsas.objects.core.DataSetAnnotations) Unmarshaller.unmarshal(uk.ac.vamsas.objects.core.DataSetAnnotations.class, reader);
-    } //-- uk.ac.vamsas.objects.core.RangeType unmarshal(java.io.Reader) 
+    public static uk.ac.vamsas.objects.core.RangeType unmarshal(
+            final java.io.Reader reader)
+    throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (uk.ac.vamsas.objects.core.RangeType) Unmarshaller.unmarshal(uk.ac.vamsas.objects.core.DataSetAnnotations.class, reader);
+    }
 
     /**
-     * Method validate
      * 
+     * 
+     * @throws org.exolab.castor.xml.ValidationException if this
+     * object is an invalid instance according to the schema
      */
-    public void validate()
-        throws org.exolab.castor.xml.ValidationException
-    {
+    public void validate(
+    )
+    throws org.exolab.castor.xml.ValidationException {
         org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
         validator.validate(this);
-    } //-- void validate() 
+    }
 
 }