You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2014/04/21 18:49:36 UTC
svn commit: r1588924 - in /maven/shared/trunk/maven-shared-utils/src:
main/java/org/apache/maven/shared/utils/StringUtils.java
test/java/org/apache/maven/shared/utils/StringUtilsTest.java
Author: hboutemy
Date: Mon Apr 21 16:49:35 2014
New Revision: 1588924
URL: http://svn.apache.org/r1588924
Log:
[MSHARED-330] added StringUtils.endsWithIgnoreCase()
Modified:
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/StringUtils.java
maven/shared/trunk/maven-shared-utils/src/test/java/org/apache/maven/shared/utils/StringUtilsTest.java
Modified: maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/StringUtils.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/StringUtils.java?rev=1588924&r1=1588923&r2=1588924&view=diff
==============================================================================
--- maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/StringUtils.java (original)
+++ maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/StringUtils.java Mon Apr 21 16:49:35 2014
@@ -2502,10 +2502,45 @@ public class StringUtils
* @param searchStr the String to find, may be null
* @return true if the String contains the search String,
* false if not or <code>null</code> string input
- *
*/
public static boolean contains( @Nullable String str, @Nullable String searchStr )
{
return !( str == null || searchStr == null ) && str.contains( searchStr );
}
+
+ /**
+ * <p>Checks if String ends with a search String, handling <code>null</code>.</p>
+ * <p/>
+ * <p>A <code>null</code> String will return <code>false</code>.</p>
+ * <p/>
+ * <pre>
+ * StringUtils.endsWithIgnoreCase(null, *) = false
+ * StringUtils.endsWithIgnoreCase(*, null) = false
+ * StringUtils.endsWithIgnoreCase("", "") = true
+ * StringUtils.endsWithIgnoreCase("abc", "") = true
+ * StringUtils.endsWithIgnoreCase("abc", "C") = true
+ * StringUtils.endsWithIgnoreCase("abc", "a") = false
+ * </pre>
+ *
+ * @param str the String to check, may be null
+ * @param searchStr the String to find at end, may be null
+ * @return true if the String ends with the search String,
+ * false if not or <code>null</code> string input
+ *
+ */
+ public static boolean endsWithIgnoreCase( @Nullable String str, @Nullable String searchStr )
+ {
+ if ( str == null || searchStr == null )
+ {
+ // for consistency with contains
+ return false;
+ }
+
+ if ( str.length() < searchStr.length() )
+ {
+ return false;
+ }
+
+ return str.regionMatches( true, str.length() - searchStr.length(), searchStr, 0, searchStr.length() );
+ }
}
Modified: maven/shared/trunk/maven-shared-utils/src/test/java/org/apache/maven/shared/utils/StringUtilsTest.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-utils/src/test/java/org/apache/maven/shared/utils/StringUtilsTest.java?rev=1588924&r1=1588923&r2=1588924&view=diff
==============================================================================
--- maven/shared/trunk/maven-shared-utils/src/test/java/org/apache/maven/shared/utils/StringUtilsTest.java (original)
+++ maven/shared/trunk/maven-shared-utils/src/test/java/org/apache/maven/shared/utils/StringUtilsTest.java Mon Apr 21 16:49:35 2014
@@ -550,6 +550,28 @@ public class StringUtilsTest
}
@Test
+ public void testEndsWithIgnoreCase()
+ {
+ assertThat( StringUtils.endsWithIgnoreCase( null, null )
+ , is( false ) );
+
+ assertThat( StringUtils.endsWithIgnoreCase( null, "string" )
+ , is( false ) );
+
+ assertThat( StringUtils.endsWithIgnoreCase( "string", null )
+ , is( false ) );
+
+ assertThat( StringUtils.endsWithIgnoreCase( "string", "ing" )
+ , is( true ) );
+
+ assertThat( StringUtils.endsWithIgnoreCase( "string", "a string" )
+ , is( false ) );
+
+ assertThat( StringUtils.endsWithIgnoreCase( "string", "str" )
+ , is( false ) );
+ }
+
+ @Test
public void testEquals()
{
assertThat( StringUtils.equals( null, null )
@@ -2063,5 +2085,4 @@ public class StringUtilsTest
}
-
}