Class JsonGenerator

java.lang.Object
com.google.api.client.json.JsonGenerator
All Implemented Interfaces:
Closeable, Flushable, AutoCloseable
Direct Known Subclasses:
GsonGenerator, JacksonGenerator, MockJsonGenerator

public abstract class JsonGenerator extends Object implements Closeable, Flushable
Abstract low-level JSON serializer.

Implementation has no fields and therefore thread-safe, but sub-classes are not necessarily thread-safe.

Since:
1.3
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    abstract void
    Closes the serializer and the underlying output stream or writer, and releases any memory associated with it.
    void
    Requests that the output be pretty printed (by default it is not).
    abstract void
    Flushes any buffered content to the underlying output stream or writer.
    abstract JsonFactory
    Returns the JSON factory from which this generator was created.
    private void
    serialize(boolean isJsonString, Object value)
     
    final void
    Serializes the given JSON value object, or if value is null it does no serialization.
    abstract void
    writeBoolean(boolean state)
    Writes a literal JSON boolean value ('true' or 'false').
    abstract void
    Writes a JSON end array character ']'.
    abstract void
    Writes a JSON end object character '}'.
    abstract void
    Writes a JSON quoted field name.
    abstract void
    Writes a literal JSON null value.
    abstract void
    writeNumber(double v)
    Writes a JSON double value.
    abstract void
    writeNumber(float v)
    Writes a JSON float value.
    abstract void
    writeNumber(int v)
    Writes a JSON int value.
    abstract void
    writeNumber(long v)
    Writes a JSON long value.
    abstract void
    writeNumber(String encodedValue)
    Writes a JSON numeric value that has already been encoded properly.
    abstract void
    Writes a JSON big decimal value.
    abstract void
    Writes a JSON big integer value.
    abstract void
    Writes a JSON start array character '['.
    abstract void
    Writes a JSON start object character '{'.
    abstract void
    Writes a JSON quoted string value.

    Methods inherited from class java.lang.Object

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

    • JsonGenerator

      public JsonGenerator()
  • Method Details

    • getFactory

      public abstract JsonFactory getFactory()
      Returns the JSON factory from which this generator was created.
    • flush

      public abstract void flush() throws IOException
      Flushes any buffered content to the underlying output stream or writer.
      Specified by:
      flush in interface Flushable
      Throws:
      IOException
    • close

      public abstract void close() throws IOException
      Closes the serializer and the underlying output stream or writer, and releases any memory associated with it.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Throws:
      IOException
    • writeStartArray

      public abstract void writeStartArray() throws IOException
      Writes a JSON start array character '['.
      Throws:
      IOException
    • writeEndArray

      public abstract void writeEndArray() throws IOException
      Writes a JSON end array character ']'.
      Throws:
      IOException
    • writeStartObject

      public abstract void writeStartObject() throws IOException
      Writes a JSON start object character '{'.
      Throws:
      IOException
    • writeEndObject

      public abstract void writeEndObject() throws IOException
      Writes a JSON end object character '}'.
      Throws:
      IOException
    • writeFieldName

      public abstract void writeFieldName(String name) throws IOException
      Writes a JSON quoted field name.
      Throws:
      IOException
    • writeNull

      public abstract void writeNull() throws IOException
      Writes a literal JSON null value.
      Throws:
      IOException
    • writeString

      public abstract void writeString(String value) throws IOException
      Writes a JSON quoted string value.
      Throws:
      IOException
    • writeBoolean

      public abstract void writeBoolean(boolean state) throws IOException
      Writes a literal JSON boolean value ('true' or 'false').
      Throws:
      IOException
    • writeNumber

      public abstract void writeNumber(int v) throws IOException
      Writes a JSON int value.
      Throws:
      IOException
    • writeNumber

      public abstract void writeNumber(long v) throws IOException
      Writes a JSON long value.
      Throws:
      IOException
    • writeNumber

      public abstract void writeNumber(BigInteger v) throws IOException
      Writes a JSON big integer value.
      Throws:
      IOException
    • writeNumber

      public abstract void writeNumber(float v) throws IOException
      Writes a JSON float value.
      Throws:
      IOException
    • writeNumber

      public abstract void writeNumber(double v) throws IOException
      Writes a JSON double value.
      Throws:
      IOException
    • writeNumber

      public abstract void writeNumber(BigDecimal v) throws IOException
      Writes a JSON big decimal value.
      Throws:
      IOException
    • writeNumber

      public abstract void writeNumber(String encodedValue) throws IOException
      Writes a JSON numeric value that has already been encoded properly.
      Throws:
      IOException
    • serialize

      public final void serialize(Object value) throws IOException
      Serializes the given JSON value object, or if value is null it does no serialization.
      Throws:
      IOException
    • serialize

      private void serialize(boolean isJsonString, Object value) throws IOException
      Throws:
      IOException
    • enablePrettyPrint

      public void enablePrettyPrint() throws IOException
      Requests that the output be pretty printed (by default it is not).

      Default implementation does nothing, but implementations may override to provide actual pretty printing.

      Throws:
      IOException - possible I/O exception (unused in default implementation)
      Since:
      1.6