diff --git a/src/main/java/org/apache/commons/lang3/StringUtils.java b/src/main/java/org/apache/commons/lang3/StringUtils.java index 879139423..cec4fa6a1 100644 --- a/src/main/java/org/apache/commons/lang3/StringUtils.java +++ b/src/main/java/org/apache/commons/lang3/StringUtils.java @@ -256,7 +256,36 @@ public static boolean isAnyEmpty(final CharSequence... css) { } return false; } - + + /** + *
Checks if any one of the CharSequences are not empty ("") or null.
+ * + *+ * StringUtils.isAnyNotEmpty(null) = false + * StringUtils.isAnyNotEmpty(null, "foo") = true + * StringUtils.isAnyNotEmpty("", "bar") = true + * StringUtils.isAnyNotEmpty("bob", "") = true + * StringUtils.isAnyNotEmpty(" bob ", null) = true + * StringUtils.isAnyNotEmpty(" ", "bar") = true + * StringUtils.isAnyNotEmpty("foo", "bar") = true + *+ * + * @param css the CharSequences to check, may be null or empty + * @return {@code true} if any of the CharSequences are empty or null + * @since 3.6 + */ + public static boolean isAnyNotEmpty(final CharSequence... css) { + if (ArrayUtils.isEmpty(css)) { + return true; + } + for (final CharSequence cs : css) { + if (isNotEmpty(cs)) { + return true; + } + } + return false; + } + /** *
Checks if none of the CharSequences are empty ("") or null.
* @@ -276,7 +305,8 @@ public static boolean isAnyEmpty(final CharSequence... css) { */ public static boolean isNoneEmpty(final CharSequence... css) { return !isAnyEmpty(css); - } + } + /** *Checks if a CharSequence is whitespace, empty ("") or null.
* @@ -326,9 +356,9 @@ public static boolean isBlank(final CharSequence cs) { public static boolean isNotBlank(final CharSequence cs) { return !isBlank(cs); } - - /** - *Checks if any one of the CharSequences are blank ("") or null and not whitespace only..
+ + /** + *Checks if any one of the CharSequences are blank ("") or null and not whitespace only.
* ** StringUtils.isAnyBlank(null) = true @@ -356,9 +386,39 @@ public static boolean isAnyBlank(final CharSequence... css) { } return false; } - + /** - *Checks if none of the CharSequences are blank ("") or null and whitespace only..
+ *Checks if any one of the CharSequences are not blank ("") or null and not whitespace only.
+ * + *+ * StringUtils.isAnyNotBlank(null) = false + * StringUtils.isAnyNotBlank(null, "foo") = true + * StringUtils.isAnyNotBlank(null, null) = false + * StringUtils.isAnyNotBlank("", "bar") = true + * StringUtils.isAnyNotBlank("bob", "") = true + * StringUtils.isAnyNotBlank(" bob ", null) = true + * StringUtils.isAnyNotBlank(" ", "bar") = true + * StringUtils.isAnyNotBlank("foo", "bar") = false + *+ * + * @param css the CharSequences to check, may be null or empty + * @return {@code true} if any of the CharSequences are not blank or null or whitespace only + * @since 3.6 + */ + public static boolean isAnyNotBlank(final CharSequence... css) { + if (ArrayUtils.isEmpty(css)) { + return true; + } + for (final CharSequence cs : css) { + if (isNotBlank(cs)) { + return true; + } + } + return false; + } + + /** + *Checks if none of the CharSequences are blank ("") or null and whitespace only.
* ** StringUtils.isNoneBlank(null) = false diff --git a/src/test/java/org/apache/commons/lang3/StringUtilsEmptyBlankTest.java b/src/test/java/org/apache/commons/lang3/StringUtilsEmptyBlankTest.java index b3d33fc24..78e16a9d1 100644 --- a/src/test/java/org/apache/commons/lang3/StringUtilsEmptyBlankTest.java +++ b/src/test/java/org/apache/commons/lang3/StringUtilsEmptyBlankTest.java @@ -56,6 +56,19 @@ public void testIsAnyEmpty() { assertFalse(StringUtils.isAnyEmpty("foo", "bar")); } + @Test + public void testIsAnyNotEmpty() { + assertFalse(StringUtils.isAnyNotEmpty((String) null)); + assertTrue(StringUtils.isAnyNotEmpty((String[]) null)); + assertTrue(StringUtils.isAnyNotEmpty(null, "foo")); + assertTrue(StringUtils.isAnyNotEmpty("", "bar")); + assertTrue(StringUtils.isAnyNotEmpty("bob", "")); + assertTrue(StringUtils.isAnyNotEmpty(" bob ", null)); + assertTrue(StringUtils.isAnyNotEmpty(" ", "bar")); + assertTrue(StringUtils.isAnyNotEmpty("foo", "bar")); + assertFalse(StringUtils.isAnyNotEmpty("", null)); + } + @Test public void testIsNoneEmpty() { assertFalse(StringUtils.isNoneEmpty((String) null)); @@ -99,6 +112,19 @@ public void testIsAnyBlank() { assertFalse(StringUtils.isAnyBlank("foo", "bar")); } + @Test + public void testIsAnyNotBlank() { + assertFalse(StringUtils.isAnyNotBlank((String) null)); + assertTrue(StringUtils.isAnyNotBlank((String[]) null)); + assertTrue(StringUtils.isAnyNotBlank(null, "foo")); + assertFalse(StringUtils.isAnyNotBlank(null, null)); + assertTrue(StringUtils.isAnyNotBlank("", "bar")); + assertTrue(StringUtils.isAnyNotBlank("bob", "")); + assertTrue(StringUtils.isAnyNotBlank(" bob ", null)); + assertTrue(StringUtils.isAnyNotBlank(" ", "bar")); + assertTrue(StringUtils.isAnyNotBlank("foo", "bar")); + } + @Test public void testIsNoneBlank() { assertFalse(StringUtils.isNoneBlank((String) null));