X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fschemabinding%2Fversion2%2FAnnotation.java;h=3da855262eb671508e579bf338d7dfe17ca32b47;hb=c94c1390298db2e80abc04b371d3e7767f5e5968;hp=039c227f37701f96704fff3094d66b5a2dcf4bd8;hpb=155de980b5be7385abed490ca959ccf562c41a13;p=jalview.git diff --git a/src/jalview/schemabinding/version2/Annotation.java b/src/jalview/schemabinding/version2/Annotation.java index 039c227..3da8552 100644 --- a/src/jalview/schemabinding/version2/Annotation.java +++ b/src/jalview/schemabinding/version2/Annotation.java @@ -201,6 +201,11 @@ public class Annotation implements java.io.Serializable { */ private jalview.schemabinding.version2.ThresholdLine _thresholdLine; + /** + * Field _propertyList. + */ + private java.util.Vector _propertyList; + //----------------/ //- Constructors -/ @@ -209,6 +214,7 @@ public class Annotation implements java.io.Serializable { public Annotation() { super(); this._annotationElementList = new java.util.Vector(); + this._propertyList = new java.util.Vector(); } @@ -245,6 +251,34 @@ public class Annotation implements java.io.Serializable { } /** + * + * + * @param vProperty + * @throws java.lang.IndexOutOfBoundsException if the index + * given is outside the bounds of the collection + */ + public void addProperty( + final jalview.schemabinding.version2.Property vProperty) + throws java.lang.IndexOutOfBoundsException { + this._propertyList.addElement(vProperty); + } + + /** + * + * + * @param index + * @param vProperty + * @throws java.lang.IndexOutOfBoundsException if the index + * given is outside the bounds of the collection + */ + public void addProperty( + final int index, + final jalview.schemabinding.version2.Property vProperty) + throws java.lang.IndexOutOfBoundsException { + this._propertyList.add(index, vProperty); + } + + /** */ public void deleteAutoCalculated( ) { @@ -347,6 +381,17 @@ public class Annotation implements java.io.Serializable { } /** + * Method enumerateProperty. + * + * @return an Enumeration over all + * jalview.schemabinding.version2.Property elements + */ + public java.util.Enumeration enumerateProperty( + ) { + return this._propertyList.elements(); + } + + /** * Method getAnnotationElement. * * @param index @@ -536,6 +581,51 @@ public class Annotation implements java.io.Serializable { } /** + * Method getProperty. + * + * @param index + * @throws java.lang.IndexOutOfBoundsException if the index + * given is outside the bounds of the collection + * @return the value of the + * jalview.schemabinding.version2.Property at the given index + */ + public jalview.schemabinding.version2.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 (jalview.schemabinding.version2.Property) _propertyList.get(index); + } + + /** + * Method getProperty.Returns the contents of the collection in + * an Array.

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 know + * that the Array returned is of exactly the correct length. + * + * @return this collection as an Array + */ + public jalview.schemabinding.version2.Property[] getProperty( + ) { + jalview.schemabinding.version2.Property[] array = new jalview.schemabinding.version2.Property[0]; + return (jalview.schemabinding.version2.Property[]) this._propertyList.toArray(array); + } + + /** + * Method getPropertyCount. + * + * @return the size of this collection + */ + public int getPropertyCount( + ) { + return this._propertyList.size(); + } + + /** * Returns the value of field 'scaleColLabels'. * * @return the value of field 'ScaleColLabels'. @@ -875,6 +965,13 @@ public class Annotation implements java.io.Serializable { } /** + */ + public void removeAllProperty( + ) { + this._propertyList.clear(); + } + + /** * Method removeAnnotationElement. * * @param vAnnotationElement @@ -899,6 +996,30 @@ public class Annotation implements java.io.Serializable { } /** + * Method removeProperty. + * + * @param vProperty + * @return true if the object was removed from the collection. + */ + public boolean removeProperty( + final jalview.schemabinding.version2.Property vProperty) { + boolean removed = _propertyList.remove(vProperty); + return removed; + } + + /** + * Method removePropertyAt. + * + * @param index + * @return the element removed from the collection + */ + public jalview.schemabinding.version2.Property removePropertyAt( + final int index) { + java.lang.Object obj = this._propertyList.remove(index); + return (jalview.schemabinding.version2.Property) obj; + } + + /** * * * @param index @@ -1084,6 +1205,41 @@ public class Annotation implements java.io.Serializable { } /** + * + * + * @param index + * @param vProperty + * @throws java.lang.IndexOutOfBoundsException if the index + * given is outside the bounds of the collection + */ + public void setProperty( + final int index, + final jalview.schemabinding.version2.Property vProperty) + throws java.lang.IndexOutOfBoundsException { + // check bounds for index + if (index < 0 || index >= this._propertyList.size()) { + throw new IndexOutOfBoundsException("setProperty: Index value '" + index + "' not in range [0.." + (this._propertyList.size() - 1) + "]"); + } + + this._propertyList.set(index, vProperty); + } + + /** + * + * + * @param vPropertyArray + */ + public void setProperty( + final jalview.schemabinding.version2.Property[] vPropertyArray) { + //-- copy array + _propertyList.clear(); + + for (int i = 0; i < vPropertyArray.length; i++) { + this._propertyList.add(vPropertyArray[i]); + } + } + + /** * Sets the value of field 'scaleColLabels'. * * @param scaleColLabels the value of field 'scaleColLabels'.