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.

    History

    1. Copied from Apache Commons IO revision 1681000.
    2. Pick up Javadoc updates from revision 1722253.
      See Also:
      Serialized Form
      • Field Summary

        • Fields inherited from class java.io.Writer

          lock
      • 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

          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.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.