java.lang.Object
java.io.Writer
edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.core.io.SegmentedStringWriter
All Implemented Interfaces:
Closeable, Flushable, Appendable, AutoCloseable

public final class SegmentedStringWriter extends Writer
Efficient alternative to StringWriter, based on using segmented internal buffer. Initial input buffer is also recyclable.

This class is most useful when serializing JSON content as a String: if so, instance of this class can be given as the writer to JsonGenerator.

  • Constructor Details

    • SegmentedStringWriter

      public SegmentedStringWriter(BufferRecycler br)
  • Method Details

    • append

      public Writer append(char c)
      Specified by:
      append in interface Appendable
      Overrides:
      append in class Writer
    • append

      public Writer append(CharSequence csq)
      Specified by:
      append in interface Appendable
      Overrides:
      append in class Writer
    • append

      public Writer append(CharSequence csq, int start, int end)
      Specified by:
      append in interface Appendable
      Overrides:
      append in class Writer
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Specified by:
      close in class Writer
    • flush

      public void flush()
      Specified by:
      flush in interface Flushable
      Specified by:
      flush in class Writer
    • write

      public void write(char[] cbuf)
      Overrides:
      write in class Writer
    • write

      public void write(char[] cbuf, int off, int len)
      Specified by:
      write in class Writer
    • write

      public void write(int c)
      Overrides:
      write in class Writer
    • write

      public void write(String str)
      Overrides:
      write in class Writer
    • write

      public void write(String str, int off, int len)
      Overrides:
      write in class Writer
    • getAndClear

      public String getAndClear()
      Main access method that will construct a String that contains all the contents, release all internal buffers we may have, and return result String. Note that the method is not idempotent -- if called second time, will just return an empty String.
      Returns:
      String that contains all aggregated content