Class Snippet.Buffer.SnippetWriter

java.lang.Object
java.io.Writer
org.apache.johnzon.core.Snippet.PassthroughWriter
org.apache.johnzon.core.Snippet.Buffer.SnippetWriter
All Implemented Interfaces:
Closeable, Flushable, Appendable, AutoCloseable, Buffered
Enclosing class:
Snippet.Buffer

class Snippet.Buffer.SnippetWriter extends Snippet.PassthroughWriter implements Buffered
Specialized Writer with three internal states: Writing, Completed, Truncated. When there is still space left for more json, the state will be Writing If the last write brought is exactly to the end of the max length, the state will be Completed. If the last write brought us over the max length, the state will be Truncated.
  • Field Details

  • Constructor Details

    • SnippetWriter

      public SnippetWriter(int max)
  • Method Details

    • get

      public String get()
    • bufferSize

      public int bufferSize()
      Description copied from interface: Buffered
      The buffer size used by this stream while reading input or before writing output to the underlying stream.
      Specified by:
      bufferSize in interface Buffered
      Returns:
      the size of the buffer
    • terminate

      public boolean terminate()
      Calling this method implies the need to continue writing and a question on if that is ok. It impacts internal state in the same way as calling a write method.
      Returns:
      true if no more writes are possible
    • isTruncated

      public boolean isTruncated()
    • write

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

      public void flush() throws IOException
      Specified by:
      flush in interface Flushable
      Overrides:
      flush in class Snippet.PassthroughWriter
      Throws:
      IOException
    • close

      public void close() throws IOException
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Overrides:
      close in class Snippet.PassthroughWriter
      Throws:
      IOException