JAL-1588 refactoring prior to 'save Chimera project'
[jalview.git] / src / jalview / binding / JalviewModelSequence.java
old mode 100755 (executable)
new mode 100644 (file)
index 2a247c0..97d68de
@@ -1,26 +1,30 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.4)
- * Copyright (C) 2008 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
+ * Copyright (C) 2014 The Jalview Authors
  * 
- * This program 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 2
- * of the License, or (at your option) any later version.
+ * This file is part of Jalview.
  * 
- * This program 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.
+ * 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 this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
  */
 package jalview.binding;
 
-// ---------------------------------/
-// - Imported classes and packages -/
-// ---------------------------------/
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import jalview.util.MessageManager;
 
 import org.exolab.castor.xml.Marshaller;
 import org.exolab.castor.xml.Unmarshaller;
@@ -90,7 +94,7 @@ public class JalviewModelSequence implements java.io.Serializable
    * 
    * @param vJGroup
    * @throws java.lang.IndexOutOfBoundsException
-   *                 if the index given is outside the bounds of the collection
+   *           if the index given is outside the bounds of the collection
    */
   public void addJGroup(final jalview.binding.JGroup vJGroup)
           throws java.lang.IndexOutOfBoundsException
@@ -104,7 +108,7 @@ public class JalviewModelSequence implements java.io.Serializable
    * @param index
    * @param vJGroup
    * @throws java.lang.IndexOutOfBoundsException
-   *                 if the index given is outside the bounds of the collection
+   *           if the index given is outside the bounds of the collection
    */
   public void addJGroup(final int index,
           final jalview.binding.JGroup vJGroup)
@@ -118,7 +122,7 @@ public class JalviewModelSequence implements java.io.Serializable
    * 
    * @param vJSeq
    * @throws java.lang.IndexOutOfBoundsException
-   *                 if the index given is outside the bounds of the collection
+   *           if the index given is outside the bounds of the collection
    */
   public void addJSeq(final jalview.binding.JSeq vJSeq)
           throws java.lang.IndexOutOfBoundsException
@@ -132,7 +136,7 @@ public class JalviewModelSequence implements java.io.Serializable
    * @param index
    * @param vJSeq
    * @throws java.lang.IndexOutOfBoundsException
-   *                 if the index given is outside the bounds of the collection
+   *           if the index given is outside the bounds of the collection
    */
   public void addJSeq(final int index, final jalview.binding.JSeq vJSeq)
           throws java.lang.IndexOutOfBoundsException
@@ -145,7 +149,7 @@ public class JalviewModelSequence implements java.io.Serializable
    * 
    * @param vTree
    * @throws java.lang.IndexOutOfBoundsException
-   *                 if the index given is outside the bounds of the collection
+   *           if the index given is outside the bounds of the collection
    */
   public void addTree(final jalview.binding.Tree vTree)
           throws java.lang.IndexOutOfBoundsException
@@ -159,7 +163,7 @@ public class JalviewModelSequence implements java.io.Serializable
    * @param index
    * @param vTree
    * @throws java.lang.IndexOutOfBoundsException
-   *                 if the index given is outside the bounds of the collection
+   *           if the index given is outside the bounds of the collection
    */
   public void addTree(final int index, final jalview.binding.Tree vTree)
           throws java.lang.IndexOutOfBoundsException
@@ -172,7 +176,7 @@ public class JalviewModelSequence implements java.io.Serializable
    * 
    * @param vUserColours
    * @throws java.lang.IndexOutOfBoundsException
-   *                 if the index given is outside the bounds of the collection
+   *           if the index given is outside the bounds of the collection
    */
   public void addUserColours(final jalview.binding.UserColours vUserColours)
           throws java.lang.IndexOutOfBoundsException
@@ -186,7 +190,7 @@ public class JalviewModelSequence implements java.io.Serializable
    * @param index
    * @param vUserColours
    * @throws java.lang.IndexOutOfBoundsException
-   *                 if the index given is outside the bounds of the collection
+   *           if the index given is outside the bounds of the collection
    */
   public void addUserColours(final int index,
           final jalview.binding.UserColours vUserColours)
@@ -200,7 +204,7 @@ public class JalviewModelSequence implements java.io.Serializable
    * 
    * @param vViewport
    * @throws java.lang.IndexOutOfBoundsException
-   *                 if the index given is outside the bounds of the collection
+   *           if the index given is outside the bounds of the collection
    */
   public void addViewport(final jalview.binding.Viewport vViewport)
           throws java.lang.IndexOutOfBoundsException
@@ -214,7 +218,7 @@ public class JalviewModelSequence implements java.io.Serializable
    * @param index
    * @param vViewport
    * @throws java.lang.IndexOutOfBoundsException
-   *                 if the index given is outside the bounds of the collection
+   *           if the index given is outside the bounds of the collection
    */
   public void addViewport(final int index,
           final jalview.binding.Viewport vViewport)
@@ -288,7 +292,7 @@ public class JalviewModelSequence implements java.io.Serializable
    * 
    * @param index
    * @throws java.lang.IndexOutOfBoundsException
-   *                 if the index given is outside the bounds of the collection
+   *           if the index given is outside the bounds of the collection
    * @return the value of the jalview.binding.JGroup at the given index
    */
   public jalview.binding.JGroup getJGroup(final int index)
@@ -297,9 +301,11 @@ public class JalviewModelSequence implements java.io.Serializable
     // check bounds for index
     if (index < 0 || index >= this._JGroupList.size())
     {
-      throw new IndexOutOfBoundsException("getJGroup: Index value '"
-              + index + "' not in range [0.."
-              + (this._JGroupList.size() - 1) + "]");
+        throw new IndexOutOfBoundsException(MessageManager.formatMessage("exception.index_value_not_in_range", new String[]{
+                 "getJGroup",
+                 Integer.valueOf(index).toString(),
+                 Integer.valueOf((this._JGroupList.size() - 1)).toString()
+        }));
     }
 
     return (jalview.binding.JGroup) _JGroupList.get(index);
@@ -335,7 +341,7 @@ public class JalviewModelSequence implements java.io.Serializable
    * 
    * @param index
    * @throws java.lang.IndexOutOfBoundsException
-   *                 if the index given is outside the bounds of the collection
+   *           if the index given is outside the bounds of the collection
    * @return the value of the jalview.binding.JSeq at the given index
    */
   public jalview.binding.JSeq getJSeq(final int index)
@@ -344,8 +350,11 @@ public class JalviewModelSequence implements java.io.Serializable
     // check bounds for index
     if (index < 0 || index >= this._JSeqList.size())
     {
-      throw new IndexOutOfBoundsException("getJSeq: Index value '" + index
-              + "' not in range [0.." + (this._JSeqList.size() - 1) + "]");
+        throw new IndexOutOfBoundsException(MessageManager.formatMessage("exception.index_value_not_in_range", new String[]{
+                         "getJSeq",
+                         Integer.valueOf(index).toString(),
+                         Integer.valueOf((this._JSeqList.size() - 1)).toString()
+          }));
     }
 
     return (jalview.binding.JSeq) _JSeqList.get(index);
@@ -381,7 +390,7 @@ public class JalviewModelSequence implements java.io.Serializable
    * 
    * @param index
    * @throws java.lang.IndexOutOfBoundsException
-   *                 if the index given is outside the bounds of the collection
+   *           if the index given is outside the bounds of the collection
    * @return the value of the jalview.binding.Tree at the given index
    */
   public jalview.binding.Tree getTree(final int index)
@@ -390,8 +399,11 @@ public class JalviewModelSequence implements java.io.Serializable
     // check bounds for index
     if (index < 0 || index >= this._treeList.size())
     {
-      throw new IndexOutOfBoundsException("getTree: Index value '" + index
-              + "' not in range [0.." + (this._treeList.size() - 1) + "]");
+        throw new IndexOutOfBoundsException(MessageManager.formatMessage("exception.index_value_not_in_range", new String[]{
+                 "getJgetTreeSeq",
+                 Integer.valueOf(index).toString(),
+                 Integer.valueOf((this._treeList.size() - 1)).toString()
+        })); 
     }
 
     return (jalview.binding.Tree) _treeList.get(index);
@@ -427,7 +439,7 @@ public class JalviewModelSequence implements java.io.Serializable
    * 
    * @param index
    * @throws java.lang.IndexOutOfBoundsException
-   *                 if the index given is outside the bounds of the collection
+   *           if the index given is outside the bounds of the collection
    * @return the value of the jalview.binding.UserColours at the given index
    */
   public jalview.binding.UserColours getUserColours(final int index)
@@ -436,9 +448,11 @@ public class JalviewModelSequence implements java.io.Serializable
     // check bounds for index
     if (index < 0 || index >= this._userColoursList.size())
     {
-      throw new IndexOutOfBoundsException("getUserColours: Index value '"
-              + index + "' not in range [0.."
-              + (this._userColoursList.size() - 1) + "]");
+        throw new IndexOutOfBoundsException(MessageManager.formatMessage("exception.index_value_not_in_range", new String[]{
+                         "getUserColours",
+                         Integer.valueOf(index).toString(),
+                         Integer.valueOf((this._userColoursList.size() - 1)).toString()
+          })); 
     }
 
     return (jalview.binding.UserColours) _userColoursList.get(index);
@@ -475,7 +489,7 @@ public class JalviewModelSequence implements java.io.Serializable
    * 
    * @param index
    * @throws java.lang.IndexOutOfBoundsException
-   *                 if the index given is outside the bounds of the collection
+   *           if the index given is outside the bounds of the collection
    * @return the value of the jalview.binding.Viewport at the given index
    */
   public jalview.binding.Viewport getViewport(final int index)
@@ -484,9 +498,11 @@ public class JalviewModelSequence implements java.io.Serializable
     // check bounds for index
     if (index < 0 || index >= this._viewportList.size())
     {
-      throw new IndexOutOfBoundsException("getViewport: Index value '"
-              + index + "' not in range [0.."
-              + (this._viewportList.size() - 1) + "]");
+        throw new IndexOutOfBoundsException(MessageManager.formatMessage("exception.index_value_not_in_range", new String[]{
+                 "getViewport",
+                 Integer.valueOf(index).toString(),
+                 Integer.valueOf((this._viewportList.size() - 1)).toString()
+        })); 
     }
 
     return (jalview.binding.Viewport) _viewportList.get(index);
@@ -539,11 +555,10 @@ public class JalviewModelSequence implements java.io.Serializable
    * 
    * @param out
    * @throws org.exolab.castor.xml.MarshalException
-   *                 if object is null or if any SAXException is thrown during
-   *                 marshaling
+   *           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
+   *           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,
@@ -557,13 +572,12 @@ public class JalviewModelSequence implements java.io.Serializable
    * 
    * @param handler
    * @throws java.io.IOException
-   *                 if an IOException occurs during marshaling
+   *           if an IOException occurs during marshaling
    * @throws org.exolab.castor.xml.ValidationException
-   *                 if this object is an invalid instance according to the
-   *                 schema
+   *           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
+   *           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,
@@ -574,35 +588,35 @@ public class JalviewModelSequence implements java.io.Serializable
   }
 
   /**
-   */
+     */
   public void removeAllJGroup()
   {
     this._JGroupList.clear();
   }
 
   /**
-   */
+     */
   public void removeAllJSeq()
   {
     this._JSeqList.clear();
   }
 
   /**
-   */
+     */
   public void removeAllTree()
   {
     this._treeList.clear();
   }
 
   /**
-   */
+     */
   public void removeAllUserColours()
   {
     this._userColoursList.clear();
   }
 
   /**
-   */
+     */
   public void removeAllViewport()
   {
     this._viewportList.clear();
@@ -733,7 +747,7 @@ public class JalviewModelSequence implements java.io.Serializable
    * Sets the value of field 'featureSettings'.
    * 
    * @param featureSettings
-   *                the value of field 'featureSettings'.
+   *          the value of field 'featureSettings'.
    */
   public void setFeatureSettings(
           final jalview.binding.FeatureSettings featureSettings)
@@ -747,7 +761,7 @@ public class JalviewModelSequence implements java.io.Serializable
    * @param index
    * @param vJGroup
    * @throws java.lang.IndexOutOfBoundsException
-   *                 if the index given is outside the bounds of the collection
+   *           if the index given is outside the bounds of the collection
    */
   public void setJGroup(final int index,
           final jalview.binding.JGroup vJGroup)
@@ -756,9 +770,11 @@ public class JalviewModelSequence implements java.io.Serializable
     // check bounds for index
     if (index < 0 || index >= this._JGroupList.size())
     {
-      throw new IndexOutOfBoundsException("setJGroup: Index value '"
-              + index + "' not in range [0.."
-              + (this._JGroupList.size() - 1) + "]");
+        throw new IndexOutOfBoundsException(MessageManager.formatMessage("exception.index_value_not_in_range", new String[]{
+                         "setJGroup",
+                         Integer.valueOf(index).toString(),
+                         Integer.valueOf((this._JGroupList.size() - 1)).toString()
+          })); 
     }
 
     this._JGroupList.set(index, vJGroup);
@@ -786,7 +802,7 @@ public class JalviewModelSequence implements java.io.Serializable
    * @param index
    * @param vJSeq
    * @throws java.lang.IndexOutOfBoundsException
-   *                 if the index given is outside the bounds of the collection
+   *           if the index given is outside the bounds of the collection
    */
   public void setJSeq(final int index, final jalview.binding.JSeq vJSeq)
           throws java.lang.IndexOutOfBoundsException
@@ -794,8 +810,11 @@ public class JalviewModelSequence implements java.io.Serializable
     // check bounds for index
     if (index < 0 || index >= this._JSeqList.size())
     {
-      throw new IndexOutOfBoundsException("setJSeq: Index value '" + index
-              + "' not in range [0.." + (this._JSeqList.size() - 1) + "]");
+        throw new IndexOutOfBoundsException(MessageManager.formatMessage("exception.index_value_not_in_range", new String[]{
+                 "setJSeq",
+                 Integer.valueOf(index).toString(),
+                 Integer.valueOf((this._JSeqList.size() - 1)).toString()
+        })); 
     }
 
     this._JSeqList.set(index, vJSeq);
@@ -823,7 +842,7 @@ public class JalviewModelSequence implements java.io.Serializable
    * @param index
    * @param vTree
    * @throws java.lang.IndexOutOfBoundsException
-   *                 if the index given is outside the bounds of the collection
+   *           if the index given is outside the bounds of the collection
    */
   public void setTree(final int index, final jalview.binding.Tree vTree)
           throws java.lang.IndexOutOfBoundsException
@@ -831,8 +850,11 @@ public class JalviewModelSequence implements java.io.Serializable
     // check bounds for index
     if (index < 0 || index >= this._treeList.size())
     {
-      throw new IndexOutOfBoundsException("setTree: Index value '" + index
-              + "' not in range [0.." + (this._treeList.size() - 1) + "]");
+        throw new IndexOutOfBoundsException(MessageManager.formatMessage("exception.index_value_not_in_range", new String[]{
+                         "setTree",
+                         Integer.valueOf(index).toString(),
+                         Integer.valueOf((this._treeList.size() - 1)).toString()
+          })); 
     }
 
     this._treeList.set(index, vTree);
@@ -860,7 +882,7 @@ public class JalviewModelSequence implements java.io.Serializable
    * @param index
    * @param vUserColours
    * @throws java.lang.IndexOutOfBoundsException
-   *                 if the index given is outside the bounds of the collection
+   *           if the index given is outside the bounds of the collection
    */
   public void setUserColours(final int index,
           final jalview.binding.UserColours vUserColours)
@@ -869,9 +891,11 @@ public class JalviewModelSequence implements java.io.Serializable
     // check bounds for index
     if (index < 0 || index >= this._userColoursList.size())
     {
-      throw new IndexOutOfBoundsException("setUserColours: Index value '"
-              + index + "' not in range [0.."
-              + (this._userColoursList.size() - 1) + "]");
+        throw new IndexOutOfBoundsException(MessageManager.formatMessage("exception.index_value_not_in_range", new String[]{
+                 "setUserColours",
+                 Integer.valueOf(index).toString(),
+                 Integer.valueOf((this._userColoursList.size() - 1)).toString()
+        })); 
     }
 
     this._userColoursList.set(index, vUserColours);
@@ -900,7 +924,7 @@ public class JalviewModelSequence implements java.io.Serializable
    * @param index
    * @param vViewport
    * @throws java.lang.IndexOutOfBoundsException
-   *                 if the index given is outside the bounds of the collection
+   *           if the index given is outside the bounds of the collection
    */
   public void setViewport(final int index,
           final jalview.binding.Viewport vViewport)
@@ -909,9 +933,11 @@ public class JalviewModelSequence implements java.io.Serializable
     // check bounds for index
     if (index < 0 || index >= this._viewportList.size())
     {
-      throw new IndexOutOfBoundsException("setViewport: Index value '"
-              + index + "' not in range [0.."
-              + (this._viewportList.size() - 1) + "]");
+        throw new IndexOutOfBoundsException(MessageManager.formatMessage("exception.index_value_not_in_range", new String[]{
+                         "setViewport",
+                         Integer.valueOf(index).toString(),
+                         Integer.valueOf((this._viewportList.size() - 1)).toString()
+          })); 
     }
 
     this._viewportList.set(index, vViewport);
@@ -938,11 +964,10 @@ public class JalviewModelSequence implements java.io.Serializable
    * 
    * @param reader
    * @throws org.exolab.castor.xml.MarshalException
-   *                 if object is null or if any SAXException is thrown during
-   *                 marshaling
+   *           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
+   *           if this object is an invalid instance according to the schema
    * @return the unmarshaled jalview.binding.JalviewModelSequence
    */
   public static jalview.binding.JalviewModelSequence unmarshal(
@@ -958,8 +983,7 @@ public class JalviewModelSequence implements java.io.Serializable
    * 
    * 
    * @throws org.exolab.castor.xml.ValidationException
-   *                 if this object is an invalid instance according to the
-   *                 schema
+   *           if this object is an invalid instance according to the schema
    */
   public void validate() throws org.exolab.castor.xml.ValidationException
   {