aboutsummaryrefslogtreecommitdiffstats
path: root/testing-util/src
diff options
context:
space:
mode:
authorwisberg <wisberg>2005-05-17 00:03:14 +0000
committerwisberg <wisberg>2005-05-17 00:03:14 +0000
commitbe5b8333d32e6efc02a73f4a83fbf10f1c5a9018 (patch)
tree60511ca7cf5795eef0451a5bf012a89a50dcc0bd /testing-util/src
parenta2a3654d02ff77485fb35613b25f0b138074c0ba (diff)
downloadaspectj-be5b8333d32e6efc02a73f4a83fbf10f1c5a9018.tar.gz
aspectj-be5b8333d32e6efc02a73f4a83fbf10f1c5a9018.zip
parseBoolean utility
Diffstat (limited to 'testing-util/src')
-rw-r--r--testing-util/src/org/aspectj/testing/util/TestUtil.java46
1 files changed, 46 insertions, 0 deletions
diff --git a/testing-util/src/org/aspectj/testing/util/TestUtil.java b/testing-util/src/org/aspectj/testing/util/TestUtil.java
index 4b62f9a90..3095b6e2d 100644
--- a/testing-util/src/org/aspectj/testing/util/TestUtil.java
+++ b/testing-util/src/org/aspectj/testing/util/TestUtil.java
@@ -179,6 +179,52 @@ public final class TestUtil {
return path.toString();
}
+ /**
+ * @param s the String to parse for [on|off|true|false]
+ * @throws IllegalArgumentException if input is bad
+ **/
+ public static boolean parseBoolean(String input) {
+ return parseBoolean(input, true);
+ }
+
+ /**
+ * @param s the String to parse for [on|off|true|false]
+ * @param iaxOnError if true and input is bad, throw
+ * IllegalArgumentException
+ * @return true if input is true, false otherwise
+ * @throws IllegalArgumentException if iaxOnError and input is bad
+ */
+ public static boolean parseBoolean(final String input, boolean iaxOnError) {
+ final String syntax = ": [on|off|true|false]";
+ if (null == input) {
+ return false;
+ }
+ String lc = input.trim().toLowerCase();
+ boolean result = false;
+ boolean valid = false;
+ switch (lc.length()) {
+ case 2:
+ if (valid = "on".equals(lc)) {
+ result = true;
+ }
+ break;
+ case 3:
+ valid = "off".equals(lc);
+ break;
+ case 4:
+ if (valid = "true".equals(lc)) {
+ result = true;
+ }
+ break;
+ case 5:
+ valid = "false".equals(lc);
+ break;
+ }
+ if (iaxOnError && !valid) {
+ throw new IllegalArgumentException(input + syntax);
+ }
+ return result;
+ }
public static File aspectjrtJarFile() {
return (File) LIB_ENTRIES.get(ASPECTJRT_KEY + ".file");