Class StringBuilderWriter

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

    public class StringBuilderWriter
    extends Writer
    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 Threads then java.io.StringWriter should be used.

    Since:
    2.0
    Version:
    $Id: StringBuilderWriter.java 1415850 2012-11-30 20:51:39Z ggregory $
    • Constructor Detail

      • StringBuilderWriter

        public StringBuilderWriter()
        Construct a new StringBuilder instance with default capacity.
      • StringBuilderWriter

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

        public StringBuilderWriter​(StringBuilder builder)
        Construct a new instance with the specified StringBuilder.
        Parameters:
        builder - The String builder
    • Method Detail

      • append

        public Writer append​(char value)
        Append 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)
        Append 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)
        Append 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
      • 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)
        Write 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)
        Write 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()
        Return the underlying builder.
        Returns:
        The underlying builder