Class StringBuilderWriter

java.lang.Object
java.io.Writer
org.apache.logging.log4j.core.util.StringBuilderWriter
All Implemented Interfaces:
Closeable, Flushable, Serializable, Appendable, AutoCloseable

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

History

  1. Copied from Apache Commons IO revision 1681000.
  2. Pick up Javadoc updates from revision 1722253.
    See Also:
    • 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()
        Overrides:
        toString in class Object
        Returns:
        The contents of the String builder.