org.apache.groovy.io

## Class StringBuilderWriter

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

All Implemented Interfaces:
  java.io.Closeable, java.io.Flushable, java.io.Serializable, java.lang.Appendable, java.lang.AutoCloseable

    public class StringBuilderWriter
    extends java.io.Writer
    implements java.io.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.

See Also:
  Serialized Form

### Field Summary

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

`lock`

### Constructor Summary

Constructors
Constructor and Description
`StringBuilderWriter()` Constructs a new `StringBuilder` instance with default capacity.
`StringBuilderWriter(int capacity)` Constructs a new `StringBuilder` instance with the specified capacity.
`StringBuilderWriter(java.lang.StringBuilder builder)` Constructs a new instance with the specified `StringBuilder`.

### Method Summary

All Methods Instance Methods Concrete Methods
`java.io.Writer` `append(char value)` Appends a single character to this Writer.
`java.io.Writer` `append(java.lang.CharSequence value)` Appends a character sequence to this Writer.
`java.io.Writer` `append(java.lang.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.
`java.lang.StringBuilder` `getBuilder()` Returns the underlying builder.
`java.lang.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(java.lang.String value)` Writes a String to the `StringBuilder`.

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

`write, write, write`

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

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

### Constructor Detail

#### 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(java.lang.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 Detail

#### append

    public java.io.Writer append(char value)

Appends a single character to this Writer.

Specified by:
  `append` in interface `java.lang.Appendable`
Overrides:
  `append` in class `java.io.Writer`
Parameters:
  `value` - The character to append
Returns:
  This writer instance

#### append

    public java.io.Writer append(java.lang.CharSequence value)

Appends a character sequence to this Writer.

Specified by:
  `append` in interface `java.lang.Appendable`
Overrides:
  `append` in class `java.io.Writer`
Parameters:
  `value` - The character to append
Returns:
  This writer instance

#### append

    public java.io.Writer append(java.lang.CharSequence value,
                                 int start,
                                 int end)

Appends a portion of a character sequence to the `StringBuilder`.

Specified by:
  `append` in interface `java.lang.Appendable`
Overrides:
  `append` in class `java.io.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 `java.io.Closeable`
Specified by:
  `close` in interface `java.lang.AutoCloseable`
Specified by:
  `close` in class `java.io.Writer`

#### flush

    public void flush()

Flushing this writer has no effect.

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

#### write

    public void write(java.lang.String value)

Writes a String to the `StringBuilder`.

Overrides:
  `write` in class `java.io.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 `java.io.Writer`
Parameters:
  `value` - The value to write
  `offset` - The index of the first character
  `length` - The number of characters to write

#### getBuilder

    public java.lang.StringBuilder getBuilder()

Returns the underlying builder.

Returns:
  The underlying builder

#### toString

    public java.lang.String toString()

Returns `StringBuilder.toString()`.

Overrides:
  `toString` in class `java.lang.Object`
Returns:
  The contents of the String builder.