Package org.apache.groovy.io

# Class StringBuilderWriter

java.lang.Object
java.io.Writer
org.apache.groovy.io.StringBuilderWriter

All Implemented Interfaces:
  `Closeable`, `Flushable`, `Serializable`, `Appendable`, `AutoCloseable`

    public class StringBuilderWriter
    extends Writer
    implements Serializable

Copied from https://github.com/apache/commons-io/blob/master/src/main/java/org/apache/commons/io/output/StringBuilderWriter.java `Writer` implementation that outputs to a `StringBuilder`.

NOTE: This implementation, as an alternative to `java.io.StringWriter`, provides an un-synchronized (i.e. for use in a single thread) implementation for better performance. For safe usage with multiple `Thread`s then `java.io.StringWriter` should be used.

Since:
  2.0
See Also:
  Serialized Form

- ## Field Summary

  ### Fields inherited from class java.io.Writer

  `lock`

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `StringBuilderWriter()` | Constructs a new `StringBuilder` instance with default capacity.
  `StringBuilderWriter​(int capacity)` | Constructs a new `StringBuilder` instance with the specified capacity.
  `StringBuilderWriter​(StringBuilder builder)` | Constructs a new instance with the specified `StringBuilder`.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `Writer` | `append​(char value)` | Appends a single character to this Writer.
  `Writer` | `append​(CharSequence value)` | Appends a character sequence to this Writer.
  `Writer` | `append​(CharSequence value, int start, int end)` | Appends a portion of a character sequence to the `StringBuilder`.
  `void` | `close()` | Closing this writer has no effect.
  `void` | `flush()` | Flushing this writer has no effect.
  `StringBuilder` | `getBuilder()` | Returns the underlying builder.
  `String` | `toString()` | Returns `StringBuilder.toString()`.
  `void` | `write​(char[] value, int offset, int length)` | Writes a portion of a character array to the `StringBuilder`.
  `void` | `write​(String value)` | Writes a String to the `StringBuilder`.

  ### Methods inherited from class java.io.Writer

  `nullWriter, write, write, write`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### StringBuilderWriter

    public StringBuilderWriter()
    Constructs a new `StringBuilder` instance with default capacity.

  - ### StringBuilderWriter

    public StringBuilderWriter​(int capacity)
    Constructs a new `StringBuilder` instance with the specified capacity.
    Parameters:
      `capacity` - The initial capacity of the underlying `StringBuilder`

  - ### StringBuilderWriter

    public StringBuilderWriter​(StringBuilder builder)
    Constructs a new instance with the specified `StringBuilder`.

    If `builder` is null a new instance with default capacity will be created.

    Parameters:
      `builder` - The String builder. May be null.

- ## Method Details

  - ### append

    public Writer append​(char value)
    Appends a single character to this Writer.
    Specified by:
      `append` in interface `Appendable`
    Overrides:
      `append` in class `Writer`
    Parameters:
      `value` - The character to append
    Returns:
      This writer instance

  - ### append

    public Writer append​(CharSequence value)
    Appends a character sequence to this Writer.
    Specified by:
      `append` in interface `Appendable`
    Overrides:
      `append` in class `Writer`
    Parameters:
      `value` - The character to append
    Returns:
      This writer instance

  - ### append

    public Writer append​(CharSequence value, int start, int end)
    Appends a portion of a character sequence to the `StringBuilder`.
    Specified by:
      `append` in interface `Appendable`
    Overrides:
      `append` in class `Writer`
    Parameters:
      `value` - The character to append
      `start` - The index of the first character
      `end` - The index of the last character + 1
    Returns:
      This writer instance

  - ### close

    public void close()
    Closing this writer has no effect.
    Specified by:
      `close` in interface `AutoCloseable`
    Specified by:
      `close` in interface `Closeable`
    Specified by:
      `close` in class `Writer`

  - ### flush

    public void flush()
    Flushing this writer has no effect.
    Specified by:
      `flush` in interface `Flushable`
    Specified by:
      `flush` in class `Writer`

  - ### write

    public void write​(String value)
    Writes a String to the `StringBuilder`.
    Overrides:
      `write` in class `Writer`
    Parameters:
      `value` - The value to write

  - ### write

    public void write​(char[] value, int offset, int length)
    Writes a portion of a character array to the `StringBuilder`.
    Specified by:
      `write` in class `Writer`
    Parameters:
      `value` - The value to write
      `offset` - The index of the first character
      `length` - The number of characters to write

  - ### getBuilder

    public StringBuilder getBuilder()
    Returns the underlying builder.
    Returns:
      The underlying builder

  - ### toString

    public String toString()
    Returns `StringBuilder.toString()`.
    Overrides:
      `toString` in class `Object`
    Returns:
      The contents of the String builder.