Class 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
    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
    See Also:
    Serialized Form
    • 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​(java.lang.StringBuilder builder)
      Constructs a new instance with the specified StringBuilder.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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

        nullWriter, write, write, write
      • Methods inherited from class java.lang.Object

        equals, 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.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        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.