Author: niallp Date: Sun Jan 9 03:33:40 2011 New Revision: 1056879 URL: http://svn.apache.org/viewvc?rev=1056879&view=rev Log: Port LANG-655 to LANG 2.x Branch - add defaultIfBlank() method to StringUtils
Modified: commons/proper/lang/branches/LANG_2_X/src/main/java/org/apache/commons/lang/StringUtils.java commons/proper/lang/branches/LANG_2_X/src/test/java/org/apache/commons/lang/StringUtilsTest.java Modified: commons/proper/lang/branches/LANG_2_X/src/main/java/org/apache/commons/lang/StringUtils.java URL: http://svn.apache.org/viewvc/commons/proper/lang/branches/LANG_2_X/src/main/java/org/apache/commons/lang/StringUtils.java?rev=1056879&r1=1056878&r2=1056879&view=diff ============================================================================== --- commons/proper/lang/branches/LANG_2_X/src/main/java/org/apache/commons/lang/StringUtils.java (original) +++ commons/proper/lang/branches/LANG_2_X/src/main/java/org/apache/commons/lang/StringUtils.java Sun Jan 9 03:33:40 2011 @@ -5701,6 +5701,28 @@ public class StringUtils { /** * <p>Returns either the passed in String, or if the String is + * whitespace, empty ("") or <code>null</code>, the value of <code>defaultStr</code>.</p> + * + * <pre> + * StringUtils.defaultIfBlank(null, "NULL") = "NULL" + * StringUtils.defaultIfBlank("", "NULL") = "NULL" + * StringUtils.defaultIfBlank(" ", "NULL") = "NULL" + * StringUtils.defaultIfBlank("bat", "NULL") = "bat" + * StringUtils.defaultIfBlank("", null) = null + * </pre> + * @param str the String to check, may be null + * @param defaultStr the default String to return + * if the input is whitespace, empty ("") or <code>null</code>, may be null + * @return the passed in String, or the default + * @see StringUtils#defaultString(String, String) + * @since 2.6 + */ + public static String defaultIfBlank(String str, String defaultStr) { + return StringUtils.isBlank(str) ? defaultStr : str; + } + + /** + * <p>Returns either the passed in String, or if the String is * empty or <code>null</code>, the value of <code>defaultStr</code>.</p> * * <pre> Modified: commons/proper/lang/branches/LANG_2_X/src/test/java/org/apache/commons/lang/StringUtilsTest.java URL: http://svn.apache.org/viewvc/commons/proper/lang/branches/LANG_2_X/src/test/java/org/apache/commons/lang/StringUtilsTest.java?rev=1056879&r1=1056878&r2=1056879&view=diff ============================================================================== --- commons/proper/lang/branches/LANG_2_X/src/test/java/org/apache/commons/lang/StringUtilsTest.java (original) +++ commons/proper/lang/branches/LANG_2_X/src/test/java/org/apache/commons/lang/StringUtilsTest.java Sun Jan 9 03:33:40 2011 @@ -1515,6 +1515,16 @@ public class StringUtilsTest extends Tes assertNull(StringUtils.defaultIfEmpty("", null)); } + public void testDefaultIfBlank_StringString() { + assertEquals("NULL", StringUtils.defaultIfBlank(null, "NULL")); + assertEquals("NULL", StringUtils.defaultIfBlank("", "NULL")); + assertEquals("NULL", StringUtils.defaultIfBlank(" ", "NULL")); + assertEquals("abc", StringUtils.defaultIfBlank("abc", "NULL")); + assertNull(StringUtils.defaultIfBlank("", null)); + String s = StringUtils.defaultIfBlank("abc", "NULL"); + assertEquals("abc", s); + } + //----------------------------------------------------------------------- public void testDeprecatedEscapeFunctions_String() { assertEquals("", StringUtils.escape("") );