X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fschemabinding%2Fversion2%2FAnnotation.java;h=3da855262eb671508e579bf338d7dfe17ca32b47;hb=5247711ab4a6453614e2a9fb9307e6bae6a7b4a9;hp=9fd080295b42c80c3a78fff3b6a192e51e270b56;hpb=a45774ee31d9f35d4eff46d54d7deab719afb092;p=jalview.git
diff --git a/src/jalview/schemabinding/version2/Annotation.java b/src/jalview/schemabinding/version2/Annotation.java
index 9fd0802..3da8552 100644
--- a/src/jalview/schemabinding/version2/Annotation.java
+++ b/src/jalview/schemabinding/version2/Annotation.java
@@ -1,20 +1,3 @@
-/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
- * Copyright (C) 2011 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
- *
- * This file is part of Jalview.
- *
- * Jalview is free software: you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
- *
- * Jalview is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along with Jalview. If not, see
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'. @@ -579,6 +706,16 @@ public class Annotation implements java.io.Serializable { } /** + * Method hasBelowAlignment. + * + * @return true if at least one BelowAlignment has been added + */ + public boolean hasBelowAlignment( + ) { + return this._has_belowAlignment; + } + + /** * Method hasCentreColLabels. * * @return true if at least one CentreColLabels has been added @@ -701,6 +838,19 @@ public class Annotation implements java.io.Serializable { } /** + * Returns the value of field 'belowAlignment'. The field + * 'belowAlignment' has the following description: is to be + * shown below the alignment - introduced in Jalview 2.8 for + * visualizing T-COFFEE alignment scores + * + * @return the value of field 'BelowAlignment'. + */ + public boolean isBelowAlignment( + ) { + return this._belowAlignment; + } + + /** * Returns the value of field 'centreColLabels'. * * @return the value of field 'CentreColLabels'. @@ -815,6 +965,13 @@ public class Annotation implements java.io.Serializable { } /** + */ + public void removeAllProperty( + ) { + this._propertyList.clear(); + } + + /** * Method removeAnnotationElement. * * @param vAnnotationElement @@ -839,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 @@ -887,6 +1068,35 @@ public class Annotation implements java.io.Serializable { } /** + * Sets the value of field 'belowAlignment'. The field + * 'belowAlignment' has the following description: is to be + * shown below the alignment - introduced in Jalview 2.8 for + * visualizing T-COFFEE alignment scores + * + * @param belowAlignment the value of field 'belowAlignment'. + */ + public void setBelowAlignment( + final boolean belowAlignment) { + this._belowAlignment = belowAlignment; + this._has_belowAlignment = true; + } + + /** + * Sets the value of field 'calcId'. The field 'calcId' has the + * following description: Optional string identifier used to + * group sets of annotation produced by a particular + * calculation. Values are opaque strings but have semantic + * meaning to Jalview's renderer, data importer and calculation + * system. + * + * @param calcId the value of field 'calcId'. + */ + public void setCalcId( + final java.lang.String calcId) { + this._calcId = calcId; + } + + /** * Sets the value of field 'centreColLabels'. * * @param centreColLabels the value of field 'centreColLabels'. @@ -995,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'.