JAL-2446 merged to spike branch
[jalview.git] / src / jalview / util / IntRangeComparator.java
1 package jalview.util;
2
3 import java.util.Comparator;
4
5 /**
6  * A comparator to order [from, to] ranges into ascending or descending order of
7  * their start position
8  */
9 public class IntRangeComparator implements Comparator<int[]>
10 {
11   public static final Comparator<int[]> ASCENDING = new IntRangeComparator(
12           true);
13
14   public static final Comparator<int[]> DESCENDING = new IntRangeComparator(
15           false);
16
17   boolean forwards;
18
19   IntRangeComparator(boolean forward)
20   {
21     forwards = forward;
22   }
23
24   @Override
25   public int compare(int[] o1, int[] o2)
26   {
27     int compared = Integer.compare(o1[0], o2[0]);
28     return forwards ? compared : -compared;
29   }
30
31 }