X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fschemabinding%2Fversion2%2FJalviewUserColours.java;h=c8d52ac555b46a982324d5dcef108ef7c12e437c;hb=ae08e9be88ca8cafe0f27ca2d9927db487e35db2;hp=49f428a964e20cf5bf11e50c29a90a70b6266236;hpb=47168f025aefdaa044802bd5f8f510ffe43a4808;p=jalview.git
diff --git a/src/jalview/schemabinding/version2/JalviewUserColours.java b/src/jalview/schemabinding/version2/JalviewUserColours.java
index 49f428a..c8d52ac 100644
--- a/src/jalview/schemabinding/version2/JalviewUserColours.java
+++ b/src/jalview/schemabinding/version2/JalviewUserColours.java
@@ -1,23 +1,10 @@
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
- * Copyright (C) 2014 The Jalview Authors
- *
- * 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 Filter[] getFilter() + { + Filter[] array = new Filter[0]; + return (Filter[]) this._filterList.toArray(array); + } + + /** + * Method getFilterCount. + * + * @return the size of this collection + */ + public int getFilterCount() + { + return this._filterList.size(); + } + + /** * Returns the value of field 'schemeName'. * * @return the value of field 'SchemeName'. @@ -230,13 +307,20 @@ public class JalviewUserColours implements java.io.Serializable } /** - */ + */ public void removeAllColour() { this._colourList.clear(); } /** + */ + public void removeAllFilter() + { + this._filterList.clear(); + } + + /** * Method removeColour. * * @param vColour @@ -261,6 +345,30 @@ public class JalviewUserColours implements java.io.Serializable } /** + * Method removeFilter. + * + * @param vFilter + * @return true if the object was removed from the collection. + */ + public boolean removeFilter(final Filter vFilter) + { + boolean removed = _filterList.remove(vFilter); + return removed; + } + + /** + * Method removeFilterAt. + * + * @param index + * @return the element removed from the collection + */ + public Filter removeFilterAt(final int index) + { + java.lang.Object obj = this._filterList.remove(index); + return (Filter) obj; + } + + /** * * * @param index @@ -274,9 +382,9 @@ public class JalviewUserColours implements java.io.Serializable // check bounds for index if (index < 0 || index >= this._colourList.size()) { - throw new IndexOutOfBoundsException("setColour: Index value '" - + index + "' not in range [0.." - + (this._colourList.size() - 1) + "]"); + throw new IndexOutOfBoundsException( + "setColour: Index value '" + index + "' not in range [0.." + + (this._colourList.size() - 1) + "]"); } this._colourList.set(index, vColour); @@ -299,6 +407,44 @@ public class JalviewUserColours implements java.io.Serializable } /** + * + * + * @param index + * @param vFilter + * @throws java.lang.IndexOutOfBoundsException + * if the index given is outside the bounds of the collection + */ + public void setFilter(final int index, final Filter vFilter) + throws java.lang.IndexOutOfBoundsException + { + // check bounds for index + if (index < 0 || index >= this._filterList.size()) + { + throw new IndexOutOfBoundsException( + "setFilter: Index value '" + index + "' not in range [0.." + + (this._filterList.size() - 1) + "]"); + } + + this._filterList.set(index, vFilter); + } + + /** + * + * + * @param vFilterArray + */ + public void setFilter(final Filter[] vFilterArray) + { + // -- copy array + _filterList.clear(); + + for (int i = 0; i < vFilterArray.length; i++) + { + this._filterList.add(vFilterArray[i]); + } + } + + /** * Sets the value of field 'schemeName'. * * @param schemeName