Author: bayard
Date: Thu Oct 24 19:54:47 2013
New Revision: 1535515
URL: http://svn.apache.org/r1535515
Log:
Applying Alexander Muthmann's patch from LANG-848, adding isBlank/isEmpty
CharSequence... variants
Modified:
commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/StringUtils.java
commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/StringUtilsTest.java
Modified:
commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/StringUtils.java
URL:
http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/StringUtils.java?rev=1535515&r1=1535514&r2=1535515&view=diff
==============================================================================
---
commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/StringUtils.java
(original)
+++
commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/StringUtils.java
Thu Oct 24 19:54:47 2013
@@ -236,7 +236,54 @@ public class StringUtils {
public static boolean isNotEmpty(final CharSequence cs) {
return !StringUtils.isEmpty(cs);
}
-
+
+ /**
+ * <p>Checks if any one of the CharSequences are empty ("") or null.</p>
+ *
+ * <pre>
+ * StringUtils.isAnyEmpty(null) = true
+ * StringUtils.isAnyEmpty(null, "foo") = true
+ * StringUtils.isAnyEmpty("", "bar") = true
+ * StringUtils.isAnyEmpty("bob", "") = true
+ * StringUtils.isAnyEmpty(" bob ", null) = true
+ * StringUtils.isAnyEmpty(" ", "bar") = false
+ * StringUtils.isAnyEmpty("foo", "bar") = false
+ * </pre>
+ *
+ * @param css the CharSequences to check, may be null or empty
+ * @return {@code true} if any of the CharSequences are empty or null
+ */
+ public static boolean isAnyEmpty(CharSequence... css) {
+ if (ArrayUtils.isEmpty(css)) {
+ return true;
+ }
+ for (CharSequence cs : css){
+ if (isEmpty(cs)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * <p>Checks if none of the CharSequences are empty ("") or null.</p>
+ *
+ * <pre>
+ * StringUtils.isNoneEmpty(null) = false
+ * StringUtils.isNoneEmpty(null, "foo") = false
+ * StringUtils.isNoneEmpty("", "bar") = false
+ * StringUtils.isNoneEmpty("bob", "") = false
+ * StringUtils.isNoneEmpty(" bob ", null) = false
+ * StringUtils.isNoneEmpty(" ", "bar") = true
+ * StringUtils.isNoneEmpty("foo", "bar") = true
+ * </pre>
+ *
+ * @param css the CharSequences to check, may be null or empty
+ * @return {@code true} if none of the CharSequences are empty or null
+ */
+ public static boolean isNoneEmpty(CharSequence... css) {
+ return !isAnyEmpty(css);
+ }
/**
* <p>Checks if a CharSequence is whitespace, empty ("") or null.</p>
*
@@ -286,6 +333,56 @@ public class StringUtils {
public static boolean isNotBlank(final CharSequence cs) {
return !StringUtils.isBlank(cs);
}
+
+ /**
+ * <p>Checks if any one of the CharSequences are blank ("") or null and
not whitespace only..</p>
+ *
+ * <pre>
+ * StringUtils.isAnyBlank(null) = true
+ * StringUtils.isAnyBlank(null, "foo") = true
+ * StringUtils.isAnyBlank(null, null) = true
+ * StringUtils.isAnyBlank("", "bar") = true
+ * StringUtils.isAnyBlank("bob", "") = true
+ * StringUtils.isAnyBlank(" bob ", null) = true
+ * StringUtils.isAnyBlank(" ", "bar") = true
+ * StringUtils.isAnyBlank("foo", "bar") = false
+ * </pre>
+ *
+ * @param css the CharSequences to check, may be null or empty
+ * @return {@code true} if any of the CharSequences are blank or null or
whitespace only
+ */
+ public static boolean isAnyBlank(CharSequence... css) {
+ if (ArrayUtils.isEmpty(css)) {
+ return true;
+ }
+ for (CharSequence cs : css){
+ if (isBlank(cs)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * <p>Checks if none of the CharSequences are blank ("") or null and
whitespace only..</p>
+ *
+ * <pre>
+ * StringUtils.isNoneBlank(null) = false
+ * StringUtils.isNoneBlank(null, "foo") = false
+ * StringUtils.isNoneBlank(null, null) = false
+ * StringUtils.isNoneBlank("", "bar") = false
+ * StringUtils.isNoneBlank("bob", "") = false
+ * StringUtils.isNoneBlank(" bob ", null) = false
+ * StringUtils.isNoneBlank(" ", "bar") = false
+ * StringUtils.isNoneBlank("foo", "bar") = true
+ * </pre>
+ *
+ * @param css the CharSequences to check, may be null or empty
+ * @return {@code true} if none of the CharSequences are blank or null or
whitespace only
+ */
+ public static boolean isNoneBlank(CharSequence... css) {
+ return !isAnyBlank(css);
+ }
// Trim
//-----------------------------------------------------------------------
Modified:
commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/StringUtilsTest.java
URL:
http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/StringUtilsTest.java?rev=1535515&r1=1535514&r2=1535515&view=diff
==============================================================================
---
commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/StringUtilsTest.java
(original)
+++
commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/StringUtilsTest.java
Thu Oct 24 19:54:47 2013
@@ -125,6 +125,89 @@ public class StringUtilsTest {
//-----------------------------------------------------------------------
@Test
+ public void testisEmpty(){
+ assertTrue(StringUtils.isEmpty(null));
+ assertTrue(StringUtils.isEmpty(""));
+ assertFalse(StringUtils.isEmpty(" "));
+ assertFalse(StringUtils.isEmpty("bob"));
+ assertFalse(StringUtils.isEmpty(" bob "));
+ }
+
+ @Test
+ public void testisNotEmpty(){
+ assertFalse(StringUtils.isNotEmpty(null));
+ assertFalse(StringUtils.isNotEmpty(""));
+ assertTrue(StringUtils.isNotEmpty(" "));
+ assertTrue(StringUtils.isNotEmpty("bob"));
+ assertTrue(StringUtils.isNotEmpty(" bob "));
+ }
+
+ @Test
+ public void testisAnyEmpty(){
+ assertTrue(StringUtils.isAnyEmpty(null));
+ assertTrue(StringUtils.isAnyEmpty(null, "foo"));
+ assertTrue(StringUtils.isAnyEmpty("", "bar"));
+ assertTrue(StringUtils.isAnyEmpty("bob", ""));
+ assertTrue(StringUtils.isAnyEmpty(" bob ", null));
+ assertFalse(StringUtils.isAnyEmpty(" ","bar"));
+ assertFalse(StringUtils.isAnyEmpty("foo","bar"));
+ }
+
+ @Test
+ public void testisNoneEmpty(){
+ assertFalse(StringUtils.isNoneEmpty(null));
+ assertFalse(StringUtils.isNoneEmpty(null, "foo"));
+ assertFalse(StringUtils.isNoneEmpty("", "bar"));
+ assertFalse(StringUtils.isNoneEmpty("bob", ""));
+ assertFalse(StringUtils.isNoneEmpty(" bob ", null));
+ assertTrue(StringUtils.isNoneEmpty(" ", "bar"));
+ assertTrue(StringUtils.isNoneEmpty("foo", "bar"));
+ }
+
+ @Test
+ public void testisBlank(){
+ assertTrue(StringUtils.isBlank(null));
+ assertTrue(StringUtils.isBlank(""));
+ assertTrue(StringUtils.isBlank(" "));
+ assertFalse(StringUtils.isBlank("bob"));
+ assertFalse(StringUtils.isBlank(" bob "));
+ }
+
+ @Test
+ public void testisNotBlank(){
+ assertFalse(StringUtils.isNotBlank(null));
+ assertFalse(StringUtils.isNotBlank(""));
+ assertFalse(StringUtils.isNotBlank(" "));
+ assertTrue(StringUtils.isNotBlank("bob"));
+ assertTrue(StringUtils.isNotBlank(" bob "));
+ }
+
+ @Test
+ public void testisAnyBlank(){
+ assertTrue(StringUtils.isAnyBlank(null));
+ assertTrue(StringUtils.isAnyBlank(null, "foo"));
+ assertTrue(StringUtils.isAnyBlank(null, null));
+ assertTrue(StringUtils.isAnyBlank("", "bar"));
+ assertTrue(StringUtils.isAnyBlank("bob", ""));
+ assertTrue(StringUtils.isAnyBlank(" bob ", null));
+ assertTrue(StringUtils.isAnyBlank(" ","bar"));
+ assertFalse(StringUtils.isAnyBlank("foo","bar"));
+ }
+
+ @Test
+ public void testisNoneBlank(){
+ assertFalse(StringUtils.isNoneBlank(null));
+ assertFalse(StringUtils.isNoneBlank(null, "foo"));
+ assertFalse(StringUtils.isNoneBlank(null, null));
+ assertFalse(StringUtils.isNoneBlank("", "bar"));
+ assertFalse(StringUtils.isNoneBlank("bob", ""));
+ assertFalse(StringUtils.isNoneBlank(" bob ", null));
+ assertFalse(StringUtils.isNoneBlank(" ", "bar"));
+ assertTrue(StringUtils.isNoneBlank("foo", "bar"));
+ }
+
+ //-----------------------------------------------------------------------
+ @Test
public void testCaseFunctions() {
assertEquals(null, StringUtils.upperCase(null));
assertEquals(null, StringUtils.upperCase(null, Locale.ENGLISH));