org.codehaus.groovy.runtime
Class StringBufferWriter

java.lang.Object
  extended by java.io.Writer
      extended by org.codehaus.groovy.runtime.StringBufferWriter
All Implemented Interfaces:
java.io.Closeable, java.io.Flushable, java.lang.Appendable

public class StringBufferWriter
extends java.io.Writer

This class codes around a silly limiation of StringWriter which doesn't allow a StringBuffer to be passed in as a constructor for some bizarre reason. So we replicate the behaviour of StringWriter here but allow a StringBuffer to be passed in.


Field Summary
 
Fields inherited from class java.io.Writer
lock
 
Constructor Summary
StringBufferWriter(java.lang.StringBuffer buffer)
          Create a new string writer which will append the text to the given StringBuffer
 
Method Summary
 void close()
          Closing a StringWriter has no effect.
 void flush()
          Flush the stream.
 java.lang.String toString()
          Return the buffer's current value as a string.
 void write(char[] text, int offset, int length)
          Write a portion of an array of characters.
 void write(int c)
          Write a single character.
 void write(java.lang.String text)
          Write a string.
 void write(java.lang.String text, int offset, int length)
          Write a portion of a string.
 
Methods inherited from class java.io.Writer
append, append, append, write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

StringBufferWriter

public StringBufferWriter(java.lang.StringBuffer buffer)
Create a new string writer which will append the text to the given StringBuffer

Method Detail

write

public void write(int c)
Write a single character.

Overrides:
write in class java.io.Writer

write

public void write(char[] text,
                  int offset,
                  int length)
Write a portion of an array of characters.

Specified by:
write in class java.io.Writer
Parameters:
text - Array of characters
offset - Offset from which to start writing characters
length - Number of characters to write

write

public void write(java.lang.String text)
Write a string.

Overrides:
write in class java.io.Writer

write

public void write(java.lang.String text,
                  int offset,
                  int length)
Write a portion of a string.

Overrides:
write in class java.io.Writer
Parameters:
text - the text to be written
offset - offset from which to start writing characters
length - Number of characters to write

toString

public java.lang.String toString()
Return the buffer's current value as a string.

Overrides:
toString in class java.lang.Object

flush

public void flush()
Flush the stream.

Specified by:
flush in interface java.io.Flushable
Specified by:
flush in class java.io.Writer

close

public void close()
           throws java.io.IOException
Closing a StringWriter has no effect. The methods in this class can be called after the stream has been closed without generating an IOException.

Specified by:
close in interface java.io.Closeable
Specified by:
close in class java.io.Writer
Throws:
java.io.IOException