Class DeferredStartJsonGenerator

java.lang.Object
org.apache.johnzon.mapper.jsonp.DeferredStartJsonGenerator
All Implemented Interfaces:
jakarta.json.stream.JsonGenerator, Closeable, Flushable, AutoCloseable

public class DeferredStartJsonGenerator extends Object implements jakarta.json.stream.JsonGenerator
This JsonGenerator will not automatically write a startObject '{' character, but only if needed. The writeEnd() method will only write a closing '}' if a start has been written before. This class must only be used in cases where you would call jsonGenerator.startObject(key) !
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private final boolean
     
    private final jakarta.json.stream.JsonGenerator
     
    private int
     
    private boolean
     
    private final String
     
    private boolean
     

    Fields inherited from interface jakarta.json.stream.JsonGenerator

    PRETTY_PRINTING
  • Constructor Summary

    Constructors
    Constructor
    Description
    DeferredStartJsonGenerator(jakarta.json.stream.JsonGenerator delegate, String key)
    Deferred start for Objects
    DeferredStartJsonGenerator(jakarta.json.stream.JsonGenerator delegate, String key, boolean array)
    JsonGenerator which only writes a start character if an embedded json structure is later written.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    private void
     
    void
     
    jakarta.json.stream.JsonGenerator
    write(boolean value)
     
    jakarta.json.stream.JsonGenerator
    write(double value)
     
    jakarta.json.stream.JsonGenerator
    write(int value)
     
    jakarta.json.stream.JsonGenerator
    write(long value)
     
    jakarta.json.stream.JsonGenerator
    write(jakarta.json.JsonValue value)
     
    jakarta.json.stream.JsonGenerator
    write(String value)
     
    jakarta.json.stream.JsonGenerator
    write(String name, boolean value)
     
    jakarta.json.stream.JsonGenerator
    write(String name, double value)
     
    jakarta.json.stream.JsonGenerator
    write(String name, int value)
     
    jakarta.json.stream.JsonGenerator
    write(String name, long value)
     
    jakarta.json.stream.JsonGenerator
    write(String name, jakarta.json.JsonValue value)
     
    jakarta.json.stream.JsonGenerator
    write(String name, String value)
     
    jakarta.json.stream.JsonGenerator
    write(String name, BigDecimal value)
     
    jakarta.json.stream.JsonGenerator
    write(String name, BigInteger value)
     
    jakarta.json.stream.JsonGenerator
     
    jakarta.json.stream.JsonGenerator
     
    jakarta.json.stream.JsonGenerator
     
    jakarta.json.stream.JsonGenerator
     
    jakarta.json.stream.JsonGenerator
     
    jakarta.json.stream.JsonGenerator
     
    jakarta.json.stream.JsonGenerator
     
    jakarta.json.stream.JsonGenerator
     
    jakarta.json.stream.JsonGenerator
     
    jakarta.json.stream.JsonGenerator
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • delegate

      private final jakarta.json.stream.JsonGenerator delegate
    • key

      private final String key
    • array

      private final boolean array
    • started

      private boolean started
    • empty

      private boolean empty
    • depth

      private int depth
  • Constructor Details

    • DeferredStartJsonGenerator

      public DeferredStartJsonGenerator(jakarta.json.stream.JsonGenerator delegate, String key)
      Deferred start for Objects
      See Also:
    • DeferredStartJsonGenerator

      public DeferredStartJsonGenerator(jakarta.json.stream.JsonGenerator delegate, String key, boolean array)
      JsonGenerator which only writes a start character if an embedded json structure is later written.
      Parameters:
      delegate - JsonGenerator which really writes
      key - for the startObject, or null if no key should be used
      array - if true we will use a start with a '[', otherwise with an object start '{'
  • Method Details

    • ensureStart

      private void ensureStart()
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Specified by:
      close in interface jakarta.json.stream.JsonGenerator
    • flush

      public void flush()
      Specified by:
      flush in interface Flushable
      Specified by:
      flush in interface jakarta.json.stream.JsonGenerator
    • write

      public jakarta.json.stream.JsonGenerator write(String name, BigDecimal value)
      Specified by:
      write in interface jakarta.json.stream.JsonGenerator
    • write

      public jakarta.json.stream.JsonGenerator write(String name, BigInteger value)
      Specified by:
      write in interface jakarta.json.stream.JsonGenerator
    • write

      public jakarta.json.stream.JsonGenerator write(String name, boolean value)
      Specified by:
      write in interface jakarta.json.stream.JsonGenerator
    • write

      public jakarta.json.stream.JsonGenerator write(String name, double value)
      Specified by:
      write in interface jakarta.json.stream.JsonGenerator
    • write

      public jakarta.json.stream.JsonGenerator write(String name, int value)
      Specified by:
      write in interface jakarta.json.stream.JsonGenerator
    • write

      public jakarta.json.stream.JsonGenerator write(String name, jakarta.json.JsonValue value)
      Specified by:
      write in interface jakarta.json.stream.JsonGenerator
    • write

      public jakarta.json.stream.JsonGenerator write(String name, long value)
      Specified by:
      write in interface jakarta.json.stream.JsonGenerator
    • write

      public jakarta.json.stream.JsonGenerator write(String name, String value)
      Specified by:
      write in interface jakarta.json.stream.JsonGenerator
    • write

      public jakarta.json.stream.JsonGenerator write(BigDecimal value)
      Specified by:
      write in interface jakarta.json.stream.JsonGenerator
    • write

      public jakarta.json.stream.JsonGenerator write(BigInteger value)
      Specified by:
      write in interface jakarta.json.stream.JsonGenerator
    • write

      public jakarta.json.stream.JsonGenerator write(boolean value)
      Specified by:
      write in interface jakarta.json.stream.JsonGenerator
    • write

      public jakarta.json.stream.JsonGenerator write(double value)
      Specified by:
      write in interface jakarta.json.stream.JsonGenerator
    • write

      public jakarta.json.stream.JsonGenerator write(int value)
      Specified by:
      write in interface jakarta.json.stream.JsonGenerator
    • write

      public jakarta.json.stream.JsonGenerator write(jakarta.json.JsonValue value)
      Specified by:
      write in interface jakarta.json.stream.JsonGenerator
    • write

      public jakarta.json.stream.JsonGenerator write(long value)
      Specified by:
      write in interface jakarta.json.stream.JsonGenerator
    • write

      public jakarta.json.stream.JsonGenerator write(String value)
      Specified by:
      write in interface jakarta.json.stream.JsonGenerator
    • writeEnd

      public jakarta.json.stream.JsonGenerator writeEnd()
      Specified by:
      writeEnd in interface jakarta.json.stream.JsonGenerator
    • writeKey

      public jakarta.json.stream.JsonGenerator writeKey(String name)
      Specified by:
      writeKey in interface jakarta.json.stream.JsonGenerator
    • writeNull

      public jakarta.json.stream.JsonGenerator writeNull()
      Specified by:
      writeNull in interface jakarta.json.stream.JsonGenerator
    • writeNull

      public jakarta.json.stream.JsonGenerator writeNull(String name)
      Specified by:
      writeNull in interface jakarta.json.stream.JsonGenerator
    • writeStartArray

      public jakarta.json.stream.JsonGenerator writeStartArray()
      Specified by:
      writeStartArray in interface jakarta.json.stream.JsonGenerator
    • writeStartArray

      public jakarta.json.stream.JsonGenerator writeStartArray(String name)
      Specified by:
      writeStartArray in interface jakarta.json.stream.JsonGenerator
    • writeStartObject

      public jakarta.json.stream.JsonGenerator writeStartObject()
      Specified by:
      writeStartObject in interface jakarta.json.stream.JsonGenerator
    • writeStartObject

      public jakarta.json.stream.JsonGenerator writeStartObject(String name)
      Specified by:
      writeStartObject in interface jakarta.json.stream.JsonGenerator