Merge remote-tracking branch 'origin/bug/JAL-2282' into develop
[jalview.git] / src / jalview / util / Comparison.java
index d210795..5269d4f 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b2)
- * Copyright (C) 2015 The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -415,4 +415,35 @@ public class Comparison
             .size()]);
     return isNucleotide(oneDArray);
   }
+
+  /**
+   * Compares two chars either case sensitively or case insensitively depending
+   * on the caseSensitive flag
+   * 
+   * @param c1
+   *          first char
+   * @param c2
+   *          second char to compare with
+   * @param caseSensitive
+   *          if true comparison will be case sensitive otherwise its not
+   * @return
+   */
+  public static boolean compareChars(char c1, char c2, boolean caseSensitive)
+  {
+    boolean sameCase = (Character.isUpperCase(c1) && Character
+            .isUpperCase(c2))
+            || (Character.isLowerCase(c1) && Character.isLowerCase(c2));
+    if (sameCase)
+    {
+      return c1 == c2;
+    }
+    else if (caseSensitive)
+    {
+      return false;
+    }
+    else
+    {
+      return Character.toUpperCase(c1) == Character.toUpperCase(c2);
+    }
+  }
 }