On 8/27/05, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> Author: scolebourne
> Date: Sat Aug 27 04:46:31 2005
> New Revision: 240406
>
> URL: http://svn.apache.org/viewcvs?rev=240406&view=rev
> Log:
> Add trim()
>
> Modified:
>
> jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/text/StrBuilder.java
>
> jakarta/commons/proper/lang/trunk/src/test/org/apache/commons/lang/text/StrBuilderTest.java
>
> Modified:
> jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/text/StrBuilder.java
> URL:
> http://svn.apache.org/viewcvs/jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/text/StrBuilder.java?rev=240406&r1=240405&r2=240406&view=diff
> ==============================================================================
> ---
> jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/text/StrBuilder.java
> (original)
> +++
> jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/text/StrBuilder.java
> Sat Aug 27 04:46:31 2005
> @@ -1458,10 +1458,39 @@
> }
>
> int half = size / 2;
> + char[] buf = buffer;
> for (int leftIdx = 0, rightIdx = size - 1; leftIdx < half;
> leftIdx++,rightIdx--) {
> - char swap = buffer[leftIdx];
> - buffer[leftIdx] = buffer[rightIdx];
> - buffer[rightIdx] = swap;
> + char swap = buf[leftIdx];
> + buf[leftIdx] = buf[rightIdx];
> + buf[rightIdx] = swap;
> + }
> + return this;
> + }
> +
> + //-----------------------------------------------------------------------
> + /**
> + * Reverses the string builder placing each character in the opposite
> index.
<snip/>
I think you meant to change to "Remove whitespace [in the
java.lang.String#trim() sense] from both ends." or some such.
-Rahul
> + *
> + * @return this, to enable chaining
> + */
> + public StrBuilder trim() {
> + if (size == 0) {
> + return this;
> + }
> + int len = size;
> + char[] buf = buffer;
> + int pos = 0;
> + while (pos < len && buf[pos] <= ' ') {
> + pos++;
> + }
> + while (pos < len && buf[len - 1] <= ' ') {
> + len--;
> + }
> + if (len < size) {
> + delete(len, size);
> + }
> + if (pos > 0) {
> + delete(0, pos);
> }
> return this;
> }
>
> Modified:
> jakarta/commons/proper/lang/trunk/src/test/org/apache/commons/lang/text/StrBuilderTest.java
> URL:
> http://svn.apache.org/viewcvs/jakarta/commons/proper/lang/trunk/src/test/org/apache/commons/lang/text/StrBuilderTest.java?rev=240406&r1=240405&r2=240406&view=diff
> ==============================================================================
> ---
> jakarta/commons/proper/lang/trunk/src/test/org/apache/commons/lang/text/StrBuilderTest.java
> (original)
> +++
> jakarta/commons/proper/lang/trunk/src/test/org/apache/commons/lang/text/StrBuilderTest.java
> Sat Aug 27 04:46:31 2005
> @@ -119,6 +119,7 @@
> assertSame(sb, sb.minimizeCapacity());
> assertSame(sb, sb.clear());
> assertSame(sb, sb.reverse());
> + assertSame(sb, sb.trim());
> }
>
> //-----------------------------------------------------------------------
> @@ -1040,9 +1041,31 @@
> public void testReverse() {
> StrBuilder sb = new StrBuilder();
> assertEquals("", sb.reverse().toString());
> - sb.append(true);
> +
> + sb.clear().append(true);
> assertEquals("eurt", sb.reverse().toString());
> assertEquals("true", sb.reverse().toString());
> + }
> +
> + //-----------------------------------------------------------------------
> + public void testTrim() {
> + StrBuilder sb = new StrBuilder();
> + assertEquals("", sb.reverse().toString());
> +
> + sb.clear().append(" \u0000 ");
> + assertEquals("", sb.trim().toString());
> +
> + sb.clear().append(" \u0000 a b c");
> + assertEquals("a b c", sb.trim().toString());
> +
> + sb.clear().append("a b c \u0000 ");
> + assertEquals("a b c", sb.trim().toString());
> +
> + sb.clear().append(" \u0000 a b c \u0000 ");
> + assertEquals("a b c", sb.trim().toString());
> +
> + sb.clear().append("a b c");
> + assertEquals("a b c", sb.trim().toString());
> }
>
> //-----------------------------------------------------------------------
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]