X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fdatamodel%2Ffeatures%2FNCList.java;h=b8160d3c7077516d528477ed10a3ea53edc2470a;hb=05d220bbea0e8ce667490219436b96ebdf9826df;hp=0af9d50403d562a2c0fbbdfbcf4ce21348ad1c1e;hpb=289a9b77b55b7a82f3fcc29bde33b23e3e80e1d4;p=jalview.git diff --git a/src/jalview/datamodel/features/NCList.java b/src/jalview/datamodel/features/NCList.java index 0af9d50..b8160d3 100644 --- a/src/jalview/datamodel/features/NCList.java +++ b/src/jalview/datamodel/features/NCList.java @@ -1,8 +1,10 @@ package jalview.datamodel.features; +import jalview.datamodel.ContiguousI; +import jalview.datamodel.Range; + import java.util.ArrayList; import java.util.Collections; -import java.util.Comparator; import java.util.List; /** @@ -28,12 +30,6 @@ public class NCList */ private List> subranges; - /* - * a comparator to sort intervals by start position ascending, with - * longer (enclosing) intervals preceding those they enclose - */ - Comparator intervalSorter = new RangeComparator(true); - /** * Constructor given a list of things that are each located on a contiguous * interval. Note that the constructor may reorder the list. @@ -61,7 +57,7 @@ public class NCList * sort by start ascending so that contained intervals * follow their containing interval */ - Collections.sort(ranges, intervalSorter); + Collections.sort(ranges, RangeComparator.BY_START_POSITION); List sublists = buildSubranges(ranges); @@ -81,7 +77,7 @@ public class NCList public NCList(T entry) { this(); - subranges.add(new NCNode(entry)); + subranges.add(new NCNode<>(entry)); size = 1; } @@ -99,7 +95,7 @@ public class NCList */ protected List buildSubranges(List ranges) { - List sublists = new ArrayList(); + List sublists = new ArrayList<>(); if (ranges.isEmpty()) { @@ -178,7 +174,7 @@ public class NCList /* * all subranges precede this one - add it on the end */ - subranges.add(new NCNode(entry)); + subranges.add(new NCNode<>(entry)); return true; } @@ -200,7 +196,7 @@ public class NCList /* * new entry lies between subranges j-1 j */ - subranges.add(j, new NCNode(entry)); + subranges.add(j, new NCNode<>(entry)); return true; } @@ -248,7 +244,7 @@ public class NCList * entry spans two subranges but doesn't enclose any * so just add it */ - subranges.add(j, new NCNode(entry)); + subranges.add(j, new NCNode<>(entry)); return true; } } @@ -269,7 +265,7 @@ public class NCList } else { - subranges.add(new NCNode(entry)); + subranges.add(new NCNode<>(entry)); } return true; @@ -327,9 +323,9 @@ public class NCList protected synchronized void addEnclosingRange(T entry, final int i, final int j) { - NCList newNCList = new NCList(); + NCList newNCList = new NCList<>(); newNCList.addNodes(subranges.subList(i, j + 1)); - NCNode newNode = new NCNode(entry, newNCList); + NCNode newNode = new NCNode<>(entry, newNCList); for (int k = j; k >= i; k--) { subranges.remove(k); @@ -358,7 +354,7 @@ public class NCList */ public List findOverlaps(long from, long to) { - List result = new ArrayList(); + List result = new ArrayList<>(); findOverlaps(from, to, result); @@ -558,7 +554,7 @@ public class NCList */ public List getEntries() { - List result = new ArrayList(); + List result = new ArrayList<>(); getEntries(result); return result; } @@ -610,7 +606,7 @@ public class NCList if (subRegions != null) { subranges.addAll(subRegions.subranges); - Collections.sort(subranges, intervalSorter); + Collections.sort(subranges, RangeComparator.BY_START_POSITION); } size--; return true;