Author: bayard
Date: Wed Mar 16 04:39:17 2011
New Revision: 1082046
URL: http://svn.apache.org/viewvc?rev=1082046&view=rev
Log:
Removing CharSequenceUtils in favour of putting the code in StringUtils
Removed:
commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/CharSequenceUtils.java
commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/CharSequenceUtilsTest.java
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/StringUtilsSubstringTest.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=1082046&r1=1082045&r2=1082046&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
Wed Mar 16 04:39:17 2011
@@ -5021,7 +5021,7 @@ public class StringUtils {
}
return new StringBuilder(strLen)
.append(Character.toTitleCase(cs.charAt(0)))
- .append(CharSequenceUtils.subSequence(cs, 1))
+ .append(StringUtils.subSequence(cs, 1))
.toString();
}
@@ -5056,7 +5056,7 @@ public class StringUtils {
}
return new StringBuilder(strLen)
.append(Character.toLowerCase(cs.charAt(0)))
- .append(CharSequenceUtils.subSequence(cs, 1))
+ .append(StringUtils.subSequence(cs, 1))
.toString();
}
@@ -6384,4 +6384,24 @@ public class StringUtils {
}
return false;
}
+
+ //-----------------------------------------------------------------------
+ /**
+ * <p>Returns a new {@code CharSequence} that is a subsequence of this
+ * sequence starting with the {@code char} value at the specified
index.</p>
+ *
+ * <p>This provides the {@code CharSequence} equivalent to {@link
String#substring(int)}.
+ * The length (in {@code char}) of the returned sequence is {@code
length() - start},
+ * so if {@code start == end} then an empty sequence is returned.</p>
+ *
+ * @param cs the specified subsequence, null returns null
+ * @param start the start index, inclusive, valid
+ * @return a new subsequence, may be null
+ * @throws IndexOutOfBoundsException if {@code start} is negative or if
+ * {@code start} is greater than {@code length()}
+ */
+ public static CharSequence subSequence(CharSequence cs, int start) {
+ return cs == null ? null : cs.subSequence(start, cs.length());
+ }
+
}
Modified:
commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/StringUtilsSubstringTest.java
URL:
http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/StringUtilsSubstringTest.java?rev=1082046&r1=1082045&r2=1082046&view=diff
==============================================================================
---
commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/StringUtilsSubstringTest.java
(original)
+++
commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/StringUtilsSubstringTest.java
Wed Mar 16 04:39:17 2011
@@ -17,6 +17,7 @@
package org.apache.commons.lang3;
import junit.framework.TestCase;
+import org.junit.Assert;
/**
* Unit tests {@link org.apache.commons.lang3.StringUtils} - Substring methods
@@ -312,4 +313,38 @@ public class StringUtilsSubstringTest ex
assertEquals(4,
StringUtils.countMatches("oooooooooooo", "ooo"));
}
+
+ //-----------------------------------------------------------------------
+ public void testSubSequence() {
+ //
+ // null input
+ //
+ Assert.assertEquals(null, StringUtils.subSequence(null, -1));
+ Assert.assertEquals(null, StringUtils.subSequence(null, 0));
+ Assert.assertEquals(null, StringUtils.subSequence(null, 1));
+ //
+ // non-null input
+ //
+ Assert.assertEquals(StringUtils.EMPTY,
StringUtils.subSequence(StringUtils.EMPTY, 0));
+ Assert.assertEquals("012", StringUtils.subSequence("012", 0));
+ Assert.assertEquals("12", StringUtils.subSequence("012", 1));
+ Assert.assertEquals("2", StringUtils.subSequence("012", 2));
+ Assert.assertEquals(StringUtils.EMPTY, StringUtils.subSequence("012",
3));
+ //
+ // Exception expected
+ //
+ try {
+ Assert.assertEquals(null,
StringUtils.subSequence(StringUtils.EMPTY, -1));
+ Assert.fail("Expected " +
IndexOutOfBoundsException.class.getName());
+ } catch (IndexOutOfBoundsException e) {
+ // Expected
+ }
+ try {
+ Assert.assertEquals(null,
StringUtils.subSequence(StringUtils.EMPTY, 1));
+ Assert.fail("Expected " +
IndexOutOfBoundsException.class.getName());
+ } catch (IndexOutOfBoundsException e) {
+ // Expected
+ }
+ }
+
}