Class 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 Detail

      • 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 Detail

      • 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 Detail

      • 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