+ } else if (temp._propertyList != null)
+ return false;
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Returns the value of field 'accessionId'. The field 'accessionId' has the
+ * following description: TODO: make some specification of the database field
+ * from which this accessionId is taken from - should that be a special
+ * property of the dbRef object ?
+ *
+ *
+ * @return the value of field 'AccessionId'.
+ */
+ public java.lang.String getAccessionId() {
+ return this._accessionId;
+ }
+
+ /**
+ * Returns the value of field 'id'. The field 'id' has the following
+ * description: Primary Key for vamsas object referencing
+ *
+ * @return the value of field 'Id'.
+ */
+ public java.lang.String getId() {
+ return this._id;
+ }
+
+ /**
+ * Method getLink.
+ *
+ * @param index
+ * @throws java.lang.IndexOutOfBoundsException
+ * if the index given is outside the bounds of the collection
+ * @return the value of the uk.ac.vamsas.objects.core.Link at the given index
+ */
+ public uk.ac.vamsas.objects.core.Link getLink(final int index)
+ throws java.lang.IndexOutOfBoundsException {
+ // check bounds for index
+ if (index < 0 || index >= this._linkList.size()) {
+ throw new IndexOutOfBoundsException("getLink: Index value '" + index
+ + "' not in range [0.." + (this._linkList.size() - 1) + "]");
+ }
+
+ return (uk.ac.vamsas.objects.core.Link) _linkList.get(index);
+ }
+
+ /**
+ * Method getLink.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 uk.ac.vamsas.objects.core.Link[] getLink() {
+ uk.ac.vamsas.objects.core.Link[] array = new uk.ac.vamsas.objects.core.Link[0];
+ return (uk.ac.vamsas.objects.core.Link[]) this._linkList.toArray(array);
+ }
+
+ /**
+ * Method getLinkAsReference.Returns a reference to '_linkList'. No type
+ * checking is performed on any modifications to the Vector.
+ *
+ * @return a reference to the Vector backing this class
+ */
+ public java.util.Vector getLinkAsReference() {
+ return this._linkList;
+ }
+
+ /**
+ * Method getLinkCount.
+ *
+ * @return the size of this collection
+ */
+ public int getLinkCount() {
+ return this._linkList.size();
+ }
+
+ /**
+ * Method getMap.
+ *
+ * @param index
+ * @throws java.lang.IndexOutOfBoundsException
+ * if the index given is outside the bounds of the collection
+ * @return the value of the uk.ac.vamsas.objects.core.Map at the given index
+ */
+ public uk.ac.vamsas.objects.core.Map getMap(final int index)
+ throws java.lang.IndexOutOfBoundsException {
+ // check bounds for index
+ if (index < 0 || index >= this._mapList.size()) {
+ throw new IndexOutOfBoundsException("getMap: Index value '" + index
+ + "' not in range [0.." + (this._mapList.size() - 1) + "]");
+ }
+
+ return (uk.ac.vamsas.objects.core.Map) _mapList.get(index);
+ }
+
+ /**
+ * Method getMap.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 uk.ac.vamsas.objects.core.Map[] getMap() {
+ uk.ac.vamsas.objects.core.Map[] array = new uk.ac.vamsas.objects.core.Map[0];
+ return (uk.ac.vamsas.objects.core.Map[]) this._mapList.toArray(array);
+ }
+
+ /**
+ * Method getMapAsReference.Returns a reference to '_mapList'. No type
+ * checking is performed on any modifications to the Vector.
+ *
+ * @return a reference to the Vector backing this class
+ */
+ public java.util.Vector getMapAsReference() {
+ return this._mapList;
+ }
+
+ /**
+ * Method getMapCount.
+ *
+ * @return the size of this collection
+ */
+ public int getMapCount() {
+ return this._mapList.size();
+ }
+
+ /**
+ * Method getProperty.
+ *
+ * @param index
+ * @throws java.lang.IndexOutOfBoundsException
+ * if the index given is outside the bounds of the collection
+ * @return the value of the uk.ac.vamsas.objects.core.Property at the given
+ * index
+ */
+ public uk.ac.vamsas.objects.core.Property getProperty(final int index)
+ throws java.lang.IndexOutOfBoundsException {
+ // check bounds for index
+ if (index < 0 || index >= this._propertyList.size()) {
+ throw new IndexOutOfBoundsException("getProperty: Index value '" + index
+ + "' not in range [0.." + (this._propertyList.size() - 1) + "]");
+ }
+
+ return (uk.ac.vamsas.objects.core.Property) _propertyList.get(index);
+ }
+
+ /**
+ * Method getProperty.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 uk.ac.vamsas.objects.core.Property[] getProperty() {
+ uk.ac.vamsas.objects.core.Property[] array = new uk.ac.vamsas.objects.core.Property[0];
+ return (uk.ac.vamsas.objects.core.Property[]) this._propertyList
+ .toArray(array);
+ }
+
+ /**
+ * Method getPropertyAsReference.Returns a reference to '_propertyList'. No
+ * type checking is performed on any modifications to the Vector.
+ *
+ * @return a reference to the Vector backing this class
+ */
+ public java.util.Vector getPropertyAsReference() {
+ return this._propertyList;
+ }
+
+ /**
+ * Method getPropertyCount.
+ *
+ * @return the size of this collection
+ */
+ public int getPropertyCount() {
+ return this._propertyList.size();
+ }
+
+ /**
+ * Returns the value of field 'source'. The field 'source' has the following
+ * description: TODO Database Naming Convention: either start using LSID (so
+ * change type to URI) or leave this as an uncontrolled/unspecified string ID
+ *
+ *
+ * @return the value of field 'Source'.
+ */
+ public java.lang.String getSource() {
+ return this._source;
+ }
+
+ /**
+ * Returns the value of field 'version'. The field 'version' has the following
+ * description: Version must be specified -
+ *
+ *
+ * @return the value of field 'Version'.
+ */
+ public java.lang.String getVersion() {
+ return this._version;
+ }
+
+ /**
+ * 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 (_source != null
+ && !org.castor.util.CycleBreaker.startingToCycle(_source)) {
+ result = 37 * result + _source.hashCode();
+ org.castor.util.CycleBreaker.releaseCycleHandle(_source);
+ }
+ if (_version != null
+ && !org.castor.util.CycleBreaker.startingToCycle(_version)) {
+ result = 37 * result + _version.hashCode();
+ org.castor.util.CycleBreaker.releaseCycleHandle(_version);
+ }
+ if (_accessionId != null
+ && !org.castor.util.CycleBreaker.startingToCycle(_accessionId)) {
+ result = 37 * result + _accessionId.hashCode();
+ org.castor.util.CycleBreaker.releaseCycleHandle(_accessionId);
+ }
+ if (_id != null && !org.castor.util.CycleBreaker.startingToCycle(_id)) {
+ result = 37 * result + _id.hashCode();
+ org.castor.util.CycleBreaker.releaseCycleHandle(_id);
+ }
+ if (_mapList != null
+ && !org.castor.util.CycleBreaker.startingToCycle(_mapList)) {
+ result = 37 * result + _mapList.hashCode();
+ org.castor.util.CycleBreaker.releaseCycleHandle(_mapList);
+ }
+ if (_linkList != null
+ && !org.castor.util.CycleBreaker.startingToCycle(_linkList)) {
+ result = 37 * result + _linkList.hashCode();
+ org.castor.util.CycleBreaker.releaseCycleHandle(_linkList);
+ }
+ if (_propertyList != null
+ && !org.castor.util.CycleBreaker.startingToCycle(_propertyList)) {
+ result = 37 * result + _propertyList.hashCode();
+ org.castor.util.CycleBreaker.releaseCycleHandle(_propertyList);
+ }
+
+ return result;
+ }
+
+ /**
+ * Method isValid.
+ *
+ * @return true if this object is valid according to the schema
+ */
+ public boolean isValid() {
+ try {
+ validate();
+ } catch (org.exolab.castor.xml.ValidationException vex) {
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ *
+ *
+ * @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(final java.io.Writer out)
+ throws org.exolab.castor.xml.MarshalException,
+ org.exolab.castor.xml.ValidationException {
+ Marshaller.marshal(this, out);
+ }
+
+ /**
+ *
+ *
+ * @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(final org.xml.sax.ContentHandler handler)
+ throws java.io.IOException, org.exolab.castor.xml.MarshalException,
+ org.exolab.castor.xml.ValidationException {
+ Marshaller.marshal(this, handler);
+ }
+
+ /**