Merge branch 'features/JAL-1759jmolUpdate' into develop
[jalview.git] / src / jalview / schemabinding / version2 / Annotation.java
index 039c227..3da8552 100644 (file)
@@ -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.  <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 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'.