X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fdatamodel%2FAlignmentOrder.java;h=9023ade8654ccae4af058746f6cd6a7d7dc87562;hb=17e77c3f2949a0729322b4a8d907f3f34b6a9914;hp=e95ec39275710c658daa9d7f1aba8cb98132c6d6;hpb=865a855a4ca87eadb3e5ff284ed32ed307d9c34b;p=jalview.git diff --git a/src/jalview/datamodel/AlignmentOrder.java b/src/jalview/datamodel/AlignmentOrder.java index e95ec39..9023ade 100755 --- a/src/jalview/datamodel/AlignmentOrder.java +++ b/src/jalview/datamodel/AlignmentOrder.java @@ -1,24 +1,28 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1) - * Copyright (C) 2014 The Jalview Authors + * 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 . + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.datamodel; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; public class AlignmentOrder { @@ -49,7 +53,7 @@ public class AlignmentOrder private String Name; - private Vector Order = null; + private List Order = null; /** * Creates a new AlignmentOrder object. @@ -62,9 +66,8 @@ public class AlignmentOrder * AlignmentOrder * * @param anOrder - * Vector */ - public AlignmentOrder(Vector anOrder) + public AlignmentOrder(List anOrder) { Order = anOrder; } @@ -77,11 +80,11 @@ public class AlignmentOrder */ public AlignmentOrder(AlignmentI orderFrom) { - Order = new Vector(); + Order = new ArrayList(); - for (int i = 0, ns = orderFrom.getHeight(); i < ns; i++) + for (SequenceI seq : orderFrom.getSequences()) { - Order.addElement(orderFrom.getSequenceAt(i)); + Order.add(seq); } } @@ -93,12 +96,7 @@ public class AlignmentOrder */ public AlignmentOrder(SequenceI[] orderFrom) { - Order = new Vector(); - - for (int i = 0, ns = orderFrom.length; i < ns; i++) - { - Order.addElement(orderFrom[i]); - } + Order = new ArrayList(Arrays.asList(orderFrom)); } /** @@ -149,7 +147,7 @@ public class AlignmentOrder * @param Order * DOCUMENT ME! */ - public void setOrder(Vector Order) + public void setOrder(List Order) { this.Order = Order; } @@ -159,7 +157,7 @@ public class AlignmentOrder * * @return DOCUMENT ME! */ - public Vector getOrder() + public List getOrder() { return Order; } @@ -176,7 +174,7 @@ public class AlignmentOrder int found = Order.indexOf(oldref); if (found > -1) { - Order.setElementAt(newref, found); + Order.set(found, newref); } return found > -1; } @@ -187,9 +185,14 @@ public class AlignmentOrder * @param o * @return true if o orders the same sequenceI objects in the same way */ - public boolean equals(AlignmentOrder o) + @Override + public boolean equals(Object o) { - return equals(o, true); + if (o == null || !(o instanceof AlignmentOrder)) + { + return false; + } + return equals((AlignmentOrder) o, true); } /** @@ -221,7 +224,7 @@ public class AlignmentOrder { for (int i = 0, j = o.Order.size(); i < j; i++) { - if (Order.elementAt(i) != o.Order.elementAt(i)) + if (Order.get(i) != o.Order.get(i)) { return false; } @@ -269,7 +272,7 @@ public class AlignmentOrder } if (Order != null && o.Order != null) { - Vector c, s; + List c, s; if (o.Order.size() > Order.size()) { c = o.Order; @@ -290,7 +293,7 @@ public class AlignmentOrder int last = -1; for (int i = 0, j = s.size(); i < j; i++) { - int pos = c.indexOf(s.elementAt(i)); // JBPNote - optimize by + int pos = c.indexOf(s.get(i)); // JBPNote - optimize by // incremental position search if (pos > last) {