Merge branch 'feature/JAL-3187linkedFeatures' into feature/JAL-3251biotypedMappings
[jalview.git] / src / jalview / datamodel / features / RangeComparator.java
diff --git a/src/jalview/datamodel/features/RangeComparator.java b/src/jalview/datamodel/features/RangeComparator.java
deleted file mode 100644 (file)
index b7d702d..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
- * Copyright (C) $$Year-Rel$$ 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.
- *  
- * 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/>.
- * The Jalview Authors are detailed in the 'AUTHORS' file.
- */
-package jalview.datamodel.features;
-
-import jalview.datamodel.ContiguousI;
-
-import java.util.Comparator;
-
-/**
- * A comparator that orders ranges by either start position or end position
- * ascending. If the position matches, ordering is resolved by end position (or
- * start position).
- * 
- * @author gmcarstairs
- *
- */
-public class RangeComparator implements Comparator<ContiguousI>
-{
-  public static final Comparator<ContiguousI> BY_START_POSITION = new RangeComparator(
-          true);
-
-  public static final Comparator<ContiguousI> BY_END_POSITION = new RangeComparator(
-          false);
-
-  boolean byStart;
-
-  /**
-   * Constructor
-   * 
-   * @param byStartPosition
-   *          if true, order based on start position, if false by end position
-   */
-  RangeComparator(boolean byStartPosition)
-  {
-    byStart = byStartPosition;
-  }
-
-  @Override
-  public int compare(ContiguousI o1, ContiguousI o2)
-  {
-    int len1 = o1.getEnd() - o1.getBegin();
-    int len2 = o2.getEnd() - o2.getBegin();
-
-    if (byStart)
-    {
-      return compare(o1.getBegin(), o2.getBegin(), len1, len2);
-    }
-    else
-    {
-      return compare(o1.getEnd(), o2.getEnd(), len1, len2);
-    }
-  }
-
-  /**
-   * Compares two ranges for ordering
-   * 
-   * @param pos1
-   *          first range positional ordering criterion
-   * @param pos2
-   *          second range positional ordering criterion
-   * @param len1
-   *          first range length ordering criterion
-   * @param len2
-   *          second range length ordering criterion
-   * @return
-   */
-  public int compare(long pos1, long pos2, int len1, int len2)
-  {
-    int order = Long.compare(pos1, pos2);
-    if (order == 0)
-    {
-      /*
-       * if tied on position order, longer length sorts to left
-       * i.e. the negation of normal ordering by length
-       */
-      order = -Integer.compare(len1, len2);
-    }
-    return order;
-  }
-}