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]