Package: org.codehaus.groovy.runtime

## [Java] Class StringBufferWriter

- org.codehaus.groovy.runtime.StringBufferWriter

-     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 Summary

    Constructors
    Constructor and description
    `StringBufferWriter(StringBuffer buffer)` Create a new string writer which will append the text to the given StringBuffer

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `public void` | `close()` Closing a `StringWriter` has no effect.
    `` | `public void` | `flush()` Flush the stream.
    `` | `public String` | `toString()` Return the buffer's current value as a string.
    `` | `public void` | `write(int c)` Write a single character.
    `` | `public void` | `write(char[] text, int offset, int length)` Write a portion of an array of characters.
    `` | `public void` | `write(String text)` Write a string.
    `` | `public void` | `write(String text, int offset, int length)` Write a portion of a string.

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class Writer` | `append, append, append, append, append, append, close, equals, flush, getClass, hashCode, notify, notifyAll, nullWriter, toString, wait, wait, wait, write, write, write, write, write`

- - ### Constructor Detail

    - #### public StringBufferWriter(StringBuffer buffer)

      Create a new string writer which will append the text to the given StringBuffer

  - ### Method Detail

    - #### @Override
      public void close()

      Closing a `StringWriter` has no effect. The methods in this class can be called after the stream has been closed without generating an `IOException`.

    - #### @Override
      public void flush()

      Flush the stream.

    - #### @Override
      public String toString()

      Return the buffer's current value as a string.

    - #### @Override
      public void write(int c)

      Write a single character.

    - #### @Override
      public void write(char[] text, int offset, int length)

      Write a portion of an array of characters.

      Parameters:
        `text` - Array of characters
        `offset` - Offset from which to start writing characters
        `length` - Number of characters to write

    - #### @Override
      public void write(String text)

      Write a string.

    - #### @Override
      public void write(String text, int offset, int length)

      Write a portion of a string.

      Parameters:
        `text` - the text to be written
        `offset` - offset from which to start writing characters
        `length` - Number of characters to write