JAL-2591 Hidden columns regions can be output to string + test
[jalview.git] / src / jalview / datamodel / HiddenColumns.java
index 1e1a58b..0036402 100644 (file)
@@ -33,6 +33,36 @@ public class HiddenColumns implements Iterable<int[]>
   }
 
   /**
+   * Output regions data as a string. String is in the format:
+   * reg0[0]<between>reg0[1]<delimiter>reg1[0]<between>reg1[1] ... regn[1]
+   * 
+   * @param delimiter
+   *          string to delimit regions
+   * @param betweenstring
+   *          to put between start and end region values
+   * @return regions formatted according to delimiter and between strings
+   */
+  public String regionsToString(String delimiter, String between)
+  {
+    try
+    {
+      lock.readLock().lock();
+      StringBuilder regionBuilder = new StringBuilder();
+      for (int[] range : hiddenColumns)
+      {
+        regionBuilder.append(delimiter).append(range[0]).append(between)
+                .append(range[1]);
+      }
+
+      regionBuilder.deleteCharAt(0);
+      return regionBuilder.toString();
+    } finally
+    {
+      lock.readLock().unlock();
+    }
+  }
+
+  /**
    * Find the number of hidden columns
    * 
    * @return number of hidden columns