Class StringBufferWriter

  • All Implemented Interfaces:
    java.io.Closeable, java.io.Flushable, java.lang.Appendable, java.lang.AutoCloseable

    public class StringBufferWriter
    extends java.io.Writer
    This class codes around a silly limitation of StringWriter which doesn't allow a StringBuffer to be passed in as a constructor for some bizarre reason. So we replicate the behaviour of StringWriter here but allow a StringBuffer to be passed in.
    • Field Summary

      • Fields inherited from class java.io.Writer

        lock
    • Constructor Summary

      Constructors 
      Constructor Description
      StringBufferWriter​(java.lang.StringBuffer buffer)
      Create a new string writer which will append the text to the given StringBuffer
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()
      Closing a StringWriter has no effect.
      void flush()
      Flush the stream.
      java.lang.String toString()
      Return the buffer's current value as a string.
      void write​(char[] text, int offset, int length)
      Write a portion of an array of characters.
      void write​(int c)
      Write a single character.
      void write​(java.lang.String text)
      Write a string.
      void write​(java.lang.String text, int offset, int length)
      Write a portion of a string.
      • Methods inherited from class java.io.Writer

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

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • StringBufferWriter

        public StringBufferWriter​(java.lang.StringBuffer buffer)
        Create a new string writer which will append the text to the given StringBuffer
    • Method Detail

      • write

        public void write​(int c)
        Write a single character.
        Overrides:
        write in class java.io.Writer
      • write

        public void write​(char[] text,
                          int offset,
                          int length)
        Write a portion of an array of characters.
        Specified by:
        write in class java.io.Writer
        Parameters:
        text - Array of characters
        offset - Offset from which to start writing characters
        length - Number of characters to write
      • write

        public void write​(java.lang.String text)
        Write a string.
        Overrides:
        write in class java.io.Writer
      • write

        public void write​(java.lang.String text,
                          int offset,
                          int length)
        Write a portion of a string.
        Overrides:
        write in class java.io.Writer
        Parameters:
        text - the text to be written
        offset - offset from which to start writing characters
        length - Number of characters to write
      • toString

        public java.lang.String toString()
        Return the buffer's current value as a string.
        Overrides:
        toString in class java.lang.Object
      • flush

        public void flush()
        Flush the stream.
        Specified by:
        flush in interface java.io.Flushable
        Specified by:
        flush in class java.io.Writer
      • close

        public void close()
                   throws java.io.IOException
        Closing a StringWriter has no effect. The methods in this class can be called after the stream has been closed without generating an IOException.
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Specified by:
        close in class java.io.Writer
        Throws:
        java.io.IOException