JAL-3383 tidy method signature and Javadoc
[jalview.git] / src / jalview / datamodel / AllColsCollection.java
index 1b1a5dd..af3fffa 100644 (file)
@@ -22,25 +22,28 @@ package jalview.datamodel;
 
 import jalview.api.AlignmentColsCollectionI;
 
+import java.util.BitSet;
 import java.util.Iterator;
 
 public class AllColsCollection implements AlignmentColsCollectionI
 {
-  int start;
-  int end;
-  ColumnSelection hidden;
-  
-  public AllColsCollection(int s, int e, ColumnSelection colsel)
+  final int start;
+
+  final int end;
+
+  HiddenColumns hidden;
+
+  public AllColsCollection(int s, int e, AlignmentI al)
   {
     start = s;
     end = e;
-    hidden = colsel;
+    hidden = al.getHiddenColumns();
   }
-  
+
   @Override
   public Iterator<Integer> iterator()
   {
-    return new AllColsIterator(start,end,hidden);
+    return new AllColsIterator(start, end, hidden);
   }
 
   @Override
@@ -48,4 +51,32 @@ public class AllColsCollection implements AlignmentColsCollectionI
   {
     return !hidden.isVisible(c);
   }
+
+  @Override
+  public boolean hasHidden()
+  {
+    return hidden.hasHiddenColumns();
+  }
+
+  private BitSet bsVisible;
+
+  @Override
+  public BitSet getHiddenBitSet()
+  {
+    return hidden.getBitset();
+  }
+
+  /**
+   * Returns all columns, including any hidden in the alignment
+   */
+  @Override
+  public BitSet getShownBitSet()
+  {
+    if (bsVisible == null)
+    {
+      bsVisible = new BitSet(end + 1);
+      bsVisible.set(0, end + 1);
+    }
+    return bsVisible;
+  }
 }