[SSHD-741] Added ValidateUtils#checkState that throws an IllegalStateException 
if state flag is FALSE


Project: http://git-wip-us.apache.org/repos/asf/mina-sshd/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina-sshd/commit/7f6563c2
Tree: http://git-wip-us.apache.org/repos/asf/mina-sshd/tree/7f6563c2
Diff: http://git-wip-us.apache.org/repos/asf/mina-sshd/diff/7f6563c2

Branch: refs/heads/master
Commit: 7f6563c2a30ceddc5257d431f25a15d73d43dd92
Parents: 02f1d57
Author: Goldstein Lyor <[email protected]>
Authored: Thu May 25 12:38:15 2017 +0300
Committer: Goldstein Lyor <[email protected]>
Committed: Sun Jun 4 12:30:12 2017 +0300

----------------------------------------------------------------------
 .../apache/sshd/common/util/ValidateUtils.java  | 40 +++++++++++++++++++-
 1 file changed, 38 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/7f6563c2/sshd-core/src/main/java/org/apache/sshd/common/util/ValidateUtils.java
----------------------------------------------------------------------
diff --git 
a/sshd-core/src/main/java/org/apache/sshd/common/util/ValidateUtils.java 
b/sshd-core/src/main/java/org/apache/sshd/common/util/ValidateUtils.java
index f5986ad..a55e5d6 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/ValidateUtils.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/ValidateUtils.java
@@ -21,6 +21,7 @@ package org.apache.sshd.common.util;
 
 import java.util.Collection;
 import java.util.Map;
+import java.util.function.Function;
 
 /**
  * @author <a href="mailto:[email protected]";>Apache MINA SSHD Project</a>
@@ -174,7 +175,42 @@ public final class ValidateUtils {
         }
     }
 
-    public static void throwIllegalArgumentException(String message, Object... 
args) {
-        throw new IllegalArgumentException(String.format(message, args));
+    public static void throwIllegalArgumentException(String format, Object... 
args) {
+        throw createFormattedException(IllegalArgumentException::new, format, 
args);
     }
+
+    public static void checkState(boolean flag, String message) {
+        if (!flag) {
+            throwIllegalStateException(message, 
GenericUtils.EMPTY_OBJECT_ARRAY);
+        }
+    }
+
+    public static void checkState(boolean flag, String message, long value) {
+        if (!flag) {
+            throwIllegalStateException(message, value);
+        }
+    }
+
+    public static void checkState(boolean flag, String message, Object arg) {
+        if (!flag) {
+            throwIllegalStateException(message, arg);
+        }
+    }
+
+    public static void checkState(boolean flag, String message, Object... 
args) {
+        if (!flag) {
+            throwIllegalStateException(message, args);
+        }
+    }
+
+    public static void throwIllegalStateException(String format, Object... 
args) {
+        throw createFormattedException(IllegalStateException::new, format, 
args);
+    }
+
+    public static <T extends Throwable> T createFormattedException(
+            Function<? super String, ? extends T> constructor, String format, 
Object... args) {
+        String message = String.format(format, args);
+        return constructor.apply(message);
+    }
+
 }

Reply via email to