JAL-2759 Generalised HiddenColsIterator naming
[jalview.git] / src / jalview / datamodel / HiddenColsIterator.java
diff --git a/src/jalview/datamodel/HiddenColsIterator.java b/src/jalview/datamodel/HiddenColsIterator.java
deleted file mode 100644 (file)
index 0084912..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-package jalview.datamodel;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-/**
- * An iterator which iterates over hidden column regions in a range. Works with
- * a copy of the hidden columns collection. Intended to be used by callers
- * OUTSIDE of HiddenColumns.
- */
-public class HiddenColsIterator implements Iterator<int[]>
-{
-  // current index in hiddenColumns
-  private int currentPosition = 0;
-
-  // current column in hiddenColumns
-  private int[] currentRegion;
-
-  // local copy or reference to hiddenColumns
-  private List<int[]> localHidden;
-
-  /**
-   * Unbounded constructor
-   */
-  HiddenColsIterator(List<int[]> hiddenColumns)
-  {
-    if (!hiddenColumns.isEmpty())
-    {
-      int last = hiddenColumns.get(hiddenColumns.size() - 1)[1];
-      init(0, last, hiddenColumns);
-    }
-    else
-    {
-      init(0, 0, hiddenColumns);
-    }
-  }
-
-  /**
-   * Construct an iterator over hiddenColums bounded at [lowerBound,upperBound]
-   * 
-   * @param lowerBound
-   *          lower bound to iterate from
-   * @param upperBound
-   *          upper bound to iterate to
-   */
-  HiddenColsIterator(int lowerBound, int upperBound,
-          List<int[]> hiddenColumns)
-  {
-    init(lowerBound, upperBound, hiddenColumns);
-  }
-
-  /**
-   * Construct an iterator over hiddenColums bounded at [lowerBound,upperBound]
-   * 
-   * @param lowerBound
-   *          lower bound to iterate from
-   * @param upperBound
-   *          upper bound to iterate to
-   */
-  private void init(int lowerBound, int upperBound,
-          List<int[]> hiddenColumns)
-  {
-    int start = lowerBound;
-    int end = upperBound;
-
-    if (hiddenColumns != null)
-    {
-      localHidden = new ArrayList<>();
-
-      // iterate until a region overlaps with [start,end]
-      int i = 0;
-      while ((i < hiddenColumns.size())
-              && (hiddenColumns.get(i)[1] < start))
-      {
-        i++;
-      }
-
-      // iterate from start to end, adding each hidden region. Positions are
-      // absolute, and all regions which *overlap* [start,end] are added.
-      while (i < hiddenColumns.size() && (hiddenColumns.get(i)[0] <= end))
-      {
-        int[] rh = hiddenColumns.get(i);
-        int[] cp = new int[2];
-        System.arraycopy(rh, 0, cp, 0, rh.length);
-        localHidden.add(cp);
-        i++;
-      }
-    }
-  }
-
-  @Override
-  public boolean hasNext()
-  {
-    return (localHidden != null) && (currentPosition < localHidden.size());
-  }
-
-  @Override
-  public int[] next()
-  {
-    currentRegion = localHidden.get(currentPosition);
-    currentPosition++;
-    return currentRegion;
-  }
-
-  @Override
-  public void remove()
-  {
-    localHidden.remove(--currentPosition);
-  }
-}