Return-Path: Delivered-To: apmail-commons-commits-archive@minotaur.apache.org Received: (qmail 28999 invoked from network); 19 Jul 2009 19:41:08 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 19 Jul 2009 19:41:08 -0000 Received: (qmail 95327 invoked by uid 500); 19 Jul 2009 19:42:13 -0000 Delivered-To: apmail-commons-commits-archive@commons.apache.org Received: (qmail 95236 invoked by uid 500); 19 Jul 2009 19:42:12 -0000 Mailing-List: contact commits-help@commons.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@commons.apache.org Delivered-To: mailing list commits@commons.apache.org Received: (qmail 95227 invoked by uid 99); 19 Jul 2009 19:42:12 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 19 Jul 2009 19:42:12 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 19 Jul 2009 19:42:10 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id C2A6B23888ED; Sun, 19 Jul 2009 19:41:50 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r795604 - in /commons/proper/lang/trunk/src: java/org/apache/commons/lang/text/StrBuilder.java test/org/apache/commons/lang/text/StrBuilderAppendInsertTest.java Date: Sun, 19 Jul 2009 19:41:50 -0000 To: commits@commons.apache.org From: bayard@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20090719194150.C2A6B23888ED@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: bayard Date: Sun Jul 19 19:41:50 2009 New Revision: 795604 URL: http://svn.apache.org/viewvc?rev=795604&view=rev Log: Applying my patch to LANG-355, making StrBuilder implement Appendable Modified: commons/proper/lang/trunk/src/java/org/apache/commons/lang/text/StrBuilder.java commons/proper/lang/trunk/src/test/org/apache/commons/lang/text/StrBuilderAppendInsertTest.java Modified: commons/proper/lang/trunk/src/java/org/apache/commons/lang/text/StrBuilder.java URL: http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/java/org/apache/commons/lang/text/StrBuilder.java?rev=795604&r1=795603&r2=795604&view=diff ============================================================================== --- commons/proper/lang/trunk/src/java/org/apache/commons/lang/text/StrBuilder.java (original) +++ commons/proper/lang/trunk/src/java/org/apache/commons/lang/text/StrBuilder.java Sun Jul 19 19:41:50 2009 @@ -71,7 +71,7 @@ * @since 2.2 * @version $Id$ */ -public class StrBuilder implements CharSequence { +public class StrBuilder implements CharSequence, Appendable { /** * The extra capacity for new builders. @@ -463,6 +463,36 @@ } /** + * Appends a CharSequence to this string builder. + * Appending null will call {@link #appendNull()}. + * + * @param seq the CharSequence to append + * @return this, to enable chaining + */ + public StrBuilder append(CharSequence seq) { + if (seq == null) { + return appendNull(); + } + return append(seq.toString()); + } + + /** + * Appends part of a CharSequence to this string builder. + * Appending null will call {@link #appendNull()}. + * + * @param seq the CharSequence to append + * @param startIndex the start index, inclusive, must be valid + * @param length the length to append, must be valid + * @return this, to enable chaining + */ + public StrBuilder append(CharSequence seq, int startIndex, int length) { + if (seq == null) { + return appendNull(); + } + return append(seq.toString(), startIndex, length); + } + + /** * Appends a string to this string builder. * Appending null will call {@link #appendNull()}. * Modified: commons/proper/lang/trunk/src/test/org/apache/commons/lang/text/StrBuilderAppendInsertTest.java URL: http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/test/org/apache/commons/lang/text/StrBuilderAppendInsertTest.java?rev=795604&r1=795603&r2=795604&view=diff ============================================================================== --- commons/proper/lang/trunk/src/test/org/apache/commons/lang/text/StrBuilderAppendInsertTest.java (original) +++ commons/proper/lang/trunk/src/test/org/apache/commons/lang/text/StrBuilderAppendInsertTest.java Sun Jul 19 19:41:50 2009 @@ -138,6 +138,9 @@ sb.append(new StrBuilder("yes")); assertEquals("foobazyes", sb.toString()); + + sb.append((CharSequence) "Seq"); + assertEquals("foobazyesSeq", sb.toString()); } //----------------------------------------------------------------------- @@ -214,6 +217,9 @@ sb.append("abcbardef", 3, 3); assertEquals("foobar", sb.toString()); + + sb.append( (CharSequence)"abcbardef", 4, 3); + assertEquals("foobarard", sb.toString()); } //-----------------------------------------------------------------------