Class StringBufferWriter

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

public class StringBufferWriter extends Writer
This class codes around a silly limitation 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.
  • Constructor Details

    • StringBufferWriter

      public StringBufferWriter(StringBuffer buffer)
      Create a new string writer which will append the text to the given StringBuffer
  • Method Details

    • write

      public void write(int c)
      Write a single character.
      Overrides:
      write in class Writer
    • write

      public void write(char[] text, int offset, int length)
      Write a portion of an array of characters.
      Specified by:
      write in class Writer
      Parameters:
      text - Array of characters
      offset - Offset from which to start writing characters
      length - Number of characters to write
    • write

      public void write(String text)
      Write a string.
      Overrides:
      write in class Writer
    • write

      public void write(String text, int offset, int length)
      Write a portion of a string.
      Overrides:
      write in class Writer
      Parameters:
      text - the text to be written
      offset - offset from which to start writing characters
      length - Number of characters to write
    • toString

      public String toString()
      Return the buffer's current value as a string.
      Overrides:
      toString in class Object
    • flush

      public void flush()
      Flush the stream.
      Specified by:
      flush in interface Flushable
      Specified by:
      flush in class Writer
    • close

      public void close() throws 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 AutoCloseable
      Specified by:
      close in interface Closeable
      Specified by:
      close in class Writer
      Throws:
      IOException