JAL-1645 Version-Rel Version 2.9 Year-Rel 2015 Licensing glob
[jalview.git] / src / jalview / datamodel / xdb / embl / EmblFeatureLocations.java
index 43a6cef..94105ae 100644 (file)
@@ -1,29 +1,36 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Copyright (C) 2015 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.
- * 
+ * 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 <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
  */
 package jalview.datamodel.xdb.embl;
 
-import java.util.Enumeration;
-import java.util.Iterator;
 import java.util.Vector;
 
+/**
+ * Data model for a &lt;loctaion&gt; child element of a &lt;feature&gt; read
+ * from an EMBL query reply
+ * 
+ * @see embl_mapping.xml
+ */
 public class EmblFeatureLocations
 {
-  Vector locElements;
+  Vector<EmblFeatureLocElement> locElements;
 
   String locationType;
 
@@ -66,7 +73,7 @@ public class EmblFeatureLocations
   /**
    * @return the locElements
    */
-  public Vector getLocElements()
+  public Vector<EmblFeatureLocElement> getLocElements()
   {
     return locElements;
   }
@@ -75,7 +82,7 @@ public class EmblFeatureLocations
    * @param locElements
    *          the locElements to set
    */
-  public void setLocElements(Vector locElements)
+  public void setLocElements(Vector<EmblFeatureLocElement> locElements)
   {
     this.locElements = locElements;
   }
@@ -108,12 +115,10 @@ public class EmblFeatureLocations
   {
     int sepos = 0;
     int[] se = new int[locElements.size() * 2];
-    if (locationType.equalsIgnoreCase("single"))
+    if (locationType.equalsIgnoreCase("single")) // TODO: or "simple" ?
     {
-      for (Enumeration le = locElements.elements(); le.hasMoreElements();)
+      for (EmblFeatureLocElement loce : locElements)
       {
-        EmblFeatureLocElement loce = (EmblFeatureLocElement) le
-                .nextElement();
         if (accession == null || loce.accession != null
                 && accession.equals(loce.accession))
         {
@@ -128,10 +133,8 @@ public class EmblFeatureLocations
     }
     else if (locationType.equalsIgnoreCase("join"))
     {
-      for (Enumeration le = locElements.elements(); le.hasMoreElements();)
+      for (EmblFeatureLocElement loce : locElements)
       {
-        EmblFeatureLocElement loce = (EmblFeatureLocElement) le
-                .nextElement();
         if (accession == null || loce.accession != null
                 && accession.equals(loce.accession))
         {
@@ -148,13 +151,17 @@ public class EmblFeatureLocations
     else if (locationType != null)
     {
       if (jalview.bin.Cache.log != null)
+      {
         jalview.bin.Cache.log
                 .error("EmbleFeatureLocations.getElementRanges cannot deal with locationType=='"
                         + locationType + "'");
+      }
       else
+      {
         System.err
                 .println("EmbleFeatureLocations.getElementRanges cannot deal with locationType=='"
                         + locationType + "'");
+      }
     }
     // trim range if necessary.
     if (se != null && sepos != se.length)