summaryrefslogtreecommitdiff
path: root/javalib/src/main/scala/java/io/StringWriter.scala
diff options
context:
space:
mode:
Diffstat (limited to 'javalib/src/main/scala/java/io/StringWriter.scala')
-rw-r--r--javalib/src/main/scala/java/io/StringWriter.scala44
1 files changed, 44 insertions, 0 deletions
diff --git a/javalib/src/main/scala/java/io/StringWriter.scala b/javalib/src/main/scala/java/io/StringWriter.scala
new file mode 100644
index 0000000..13eca00
--- /dev/null
+++ b/javalib/src/main/scala/java/io/StringWriter.scala
@@ -0,0 +1,44 @@
+package java.io
+
+class StringWriter extends Writer {
+
+ private[this] val buf = new StringBuffer
+
+ def this(initialSize: Int) = this()
+
+ override def write(c: Int): Unit =
+ buf.append(c.toChar)
+
+ def write(cbuf: Array[Char], off: Int, len: Int): Unit =
+ buf.append(cbuf, off, len)
+
+ override def write(str: String): Unit =
+ buf.append(str)
+
+ override def write(str: String, off: Int, len: Int): Unit =
+ buf.append(str, off, off + len) // Third param is 'end', not 'len'
+
+ override def append(csq: CharSequence): StringWriter = {
+ buf.append(csq)
+ this
+ }
+
+ override def append(csq: CharSequence, start: Int, end: Int): StringWriter = {
+ buf.append(csq, start, end)
+ this
+ }
+
+ override def append(c: Char): StringWriter = {
+ buf.append(c)
+ this
+ }
+
+ override def toString(): String = buf.toString
+
+ def getBuffer(): StringBuffer = buf
+
+ def flush(): Unit = ()
+
+ def close(): Unit = ()
+
+}