Class StringBuilderWriter

java.lang.Object
java.io.Writer
org.apache.velocity.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.

(borrowed from commons.io project)

Since:
2.0
Version:
$Id$
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.