Package org.apache.commons.io.output

# Class AppendableWriter<T extends Appendable>

java.lang.Object
java.io.Writer
org.apache.commons.io.output.AppendableWriter<T>

Type Parameters:
  `T` - The type of the `Appendable` wrapped by this AppendableWriter.

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

public class AppendableWriter<T extends Appendable> extends Writer
Writer implementation that writes the data to an `Appendable` Object.

For example, can be used with a `StringBuilder` or `StringBuffer`.

Since:
  2.7
See Also:
  - `Appendable`

- ## Field Summary

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

  `lock`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AppendableWriter(T appendable)`
  Constructs a new instance with the specified appendable.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Writer`
  `append(char c)`
  Appends the specified character to the underlying appendable.
  `Writer`
  `append(CharSequence csq)`
  Appends the specified character sequence to the underlying appendable.
  `Writer`
  `append(CharSequence csq, int start, int end)`
  Appends a subsequence of the specified character sequence to the underlying appendable.
  `void`
  `close()`
  Closes the stream.
  `void`
  `flush()`
  Flushes the stream.
  `T`
  `getAppendable()`
  Gets the target appendable.
  `void`
  `write(char[] cbuf, int off, int len)`
  Writes a portion of an array of characters to the underlying appendable.
  `void`
  `write(int c)`
  Writes a character to the underlying appendable.
  `void`
  `write(String str, int off, int len)`
  Writes a portion of a String to the underlying appendable.

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

  `write, write`

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

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

- ## Constructor Details

  - ### AppendableWriter

    public AppendableWriter(T appendable)
    Constructs a new instance with the specified appendable.
    Parameters:
      `appendable` - the appendable to write to

- ## Method Details

  - ### append

    public Writer append(char c) throws IOException
    Appends the specified character to the underlying appendable.
    Specified by:
      `append` in interface `Appendable`
    Overrides:
      `append` in class `Writer`
    Parameters:
      `c` - the character to append
    Returns:
      this writer
    Throws:
      `IOException` - upon error

  - ### append

    public Writer append(CharSequence csq) throws IOException
    Appends the specified character sequence to the underlying appendable.
    Specified by:
      `append` in interface `Appendable`
    Overrides:
      `append` in class `Writer`
    Parameters:
      `csq` - the character sequence to append
    Returns:
      this writer
    Throws:
      `IOException` - upon error

  - ### append

    public Writer append(CharSequence csq, int start, int end) throws IOException
    Appends a subsequence of the specified character sequence to the underlying appendable.
    Specified by:
      `append` in interface `Appendable`
    Overrides:
      `append` in class `Writer`
    Parameters:
      `csq` - the character sequence from which a subsequence will be appended
      `start` - the index of the first character in the subsequence
      `end` - the index of the character following the last character in the subsequence
    Returns:
      this writer
    Throws:
      `IOException` - upon error

  - ### close

    public void close() throws IOException
    Closes the stream. This implementation does nothing.
    Specified by:
      `close` in interface `AutoCloseable`
    Specified by:
      `close` in interface `Closeable`
    Specified by:
      `close` in class `Writer`
    Throws:
      `IOException` - upon error

  - ### flush

    public void flush() throws IOException
    Flushes the stream. This implementation does nothing.
    Specified by:
      `flush` in interface `Flushable`
    Specified by:
      `flush` in class `Writer`
    Throws:
      `IOException` - upon error

  - ### getAppendable

    public T getAppendable()
    Gets the target appendable.
    Returns:
      the target appendable

  - ### write

    public void write(char[] cbuf, int off, int len) throws IOException
    Writes a portion of an array of characters to the underlying appendable.
    Specified by:
      `write` in class `Writer`
    Parameters:
      `cbuf` - an array with the characters to write
      `off` - offset from which to start writing characters
      `len` - number of characters to write
    Throws:
      `IOException` - upon error

  - ### write

    public void write(int c) throws IOException
    Writes a character to the underlying appendable.
    Overrides:
      `write` in class `Writer`
    Parameters:
      `c` - the character to write
    Throws:
      `IOException` - upon error

  - ### write

    public void write(String str, int off, int len) throws IOException
    Writes a portion of a String to the underlying appendable.
    Overrides:
      `write` in class `Writer`
    Parameters:
      `str` - a string
      `off` - offset from which to start writing characters
      `len` - number of characters to write
    Throws:
      `IOException` - upon error