You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ba...@apache.org on 2009/07/19 21:41:50 UTC
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
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());
}
//-----------------------------------------------------------------------