Class WriteJson

java.lang.Object
io.ebeaninternal.server.json.WriteJson
All Implemented Interfaces:
io.ebean.text.json.JsonWriter, SpiJsonWriter

public final class WriteJson extends Object implements SpiJsonWriter
  • Constructor Details

    • WriteJson

      public WriteJson(SpiEbeanServer server, com.fasterxml.jackson.core.JsonGenerator generator, io.ebean.FetchPath fetchPath, Map<String, io.ebean.text.json.JsonWriteBeanVisitor<?>> visitors, Object objectMapper, io.ebean.config.JsonConfig.Include include, boolean includeLoadedImplicit)
      Construct for full bean use (normal).
    • WriteJson

      public WriteJson(com.fasterxml.jackson.core.JsonGenerator generator, io.ebean.config.JsonConfig.Include include)
      Construct for Json scalar use.
  • Method Details

    • isIncludeNull

      public boolean isIncludeNull()
      Return true if null values should be included in JSON output.
      Specified by:
      isIncludeNull in interface io.ebean.text.json.JsonWriter
    • isIncludeEmpty

      public boolean isIncludeEmpty()
      Return true if empty collections should be included in the JSON output.
      Specified by:
      isIncludeEmpty in interface io.ebean.text.json.JsonWriter
    • gen

      public com.fasterxml.jackson.core.JsonGenerator gen()
      Specified by:
      gen in interface io.ebean.text.json.JsonWriter
    • flush

      public void flush() throws IOException
      Description copied from interface: SpiJsonWriter
      Flush the buffer.
      Specified by:
      flush in interface SpiJsonWriter
      Throws:
      IOException
    • writeStartObject

      public void writeStartObject(String key)
      Specified by:
      writeStartObject in interface io.ebean.text.json.JsonWriter
    • writeStartObject

      public void writeStartObject()
      Specified by:
      writeStartObject in interface io.ebean.text.json.JsonWriter
    • writeEndObject

      public void writeEndObject()
      Specified by:
      writeEndObject in interface io.ebean.text.json.JsonWriter
    • writeStartArray

      public void writeStartArray(String key)
      Specified by:
      writeStartArray in interface io.ebean.text.json.JsonWriter
    • writeStartArray

      public void writeStartArray()
      Specified by:
      writeStartArray in interface io.ebean.text.json.JsonWriter
    • writeEndArray

      public void writeEndArray()
      Specified by:
      writeEndArray in interface io.ebean.text.json.JsonWriter
    • writeRaw

      public void writeRaw(String text)
      Specified by:
      writeRaw in interface io.ebean.text.json.JsonWriter
    • writeRawValue

      public void writeRawValue(String text)
      Specified by:
      writeRawValue in interface io.ebean.text.json.JsonWriter
    • writeFieldName

      public void writeFieldName(String name)
      Specified by:
      writeFieldName in interface io.ebean.text.json.JsonWriter
    • writeNullField

      public void writeNullField(String name)
      Specified by:
      writeNullField in interface io.ebean.text.json.JsonWriter
    • writeNumberField

      public void writeNumberField(String name, long value)
      Specified by:
      writeNumberField in interface io.ebean.text.json.JsonWriter
    • writeNumberField

      public void writeNumberField(String name, double value)
      Specified by:
      writeNumberField in interface io.ebean.text.json.JsonWriter
    • writeNumberField

      public void writeNumberField(String name, int value)
      Specified by:
      writeNumberField in interface io.ebean.text.json.JsonWriter
    • writeNumberField

      public void writeNumberField(String name, short value)
      Specified by:
      writeNumberField in interface io.ebean.text.json.JsonWriter
    • writeNumberField

      public void writeNumberField(String name, float value)
      Specified by:
      writeNumberField in interface io.ebean.text.json.JsonWriter
    • writeNumberField

      public void writeNumberField(String name, BigDecimal value)
      Specified by:
      writeNumberField in interface io.ebean.text.json.JsonWriter
    • writeStringField

      public void writeStringField(String name, String value)
      Specified by:
      writeStringField in interface io.ebean.text.json.JsonWriter
    • writeBinary

      public void writeBinary(InputStream is, int length)
      Specified by:
      writeBinary in interface io.ebean.text.json.JsonWriter
    • writeBinaryField

      public void writeBinaryField(String name, byte[] value)
      Specified by:
      writeBinaryField in interface io.ebean.text.json.JsonWriter
    • writeBooleanField

      public void writeBooleanField(String name, boolean value)
      Specified by:
      writeBooleanField in interface io.ebean.text.json.JsonWriter
    • writeBoolean

      public void writeBoolean(boolean value)
      Specified by:
      writeBoolean in interface io.ebean.text.json.JsonWriter
    • writeString

      public void writeString(String value)
      Specified by:
      writeString in interface io.ebean.text.json.JsonWriter
    • writeNumber

      public void writeNumber(int value)
      Specified by:
      writeNumber in interface io.ebean.text.json.JsonWriter
    • writeNumber

      public void writeNumber(long value)
      Specified by:
      writeNumber in interface io.ebean.text.json.JsonWriter
    • writeNumber

      public void writeNumber(double value)
      Specified by:
      writeNumber in interface io.ebean.text.json.JsonWriter
    • writeNumber

      public void writeNumber(BigDecimal value)
      Specified by:
      writeNumber in interface io.ebean.text.json.JsonWriter
    • writeNull

      public void writeNull()
      Specified by:
      writeNull in interface io.ebean.text.json.JsonWriter
    • parentBean

      public boolean parentBean(Object bean)
      Description copied from interface: SpiJsonWriter
      Return true if the value is a parent bean.
      Specified by:
      parentBean in interface SpiJsonWriter
    • pushParentBeanMany

      public void pushParentBeanMany(io.ebean.bean.EntityBean parentBean)
      Description copied from interface: SpiJsonWriter
      Push the parent bean of a ToMany.
      Specified by:
      pushParentBeanMany in interface SpiJsonWriter
    • popParentBeanMany

      public void popParentBeanMany()
      Description copied from interface: SpiJsonWriter
      Pop the parent of a ToMany.
      Specified by:
      popParentBeanMany in interface SpiJsonWriter
    • beginAssocOne

      public void beginAssocOne(String key, io.ebean.bean.EntityBean bean)
      Description copied from interface: SpiJsonWriter
      Start an assoc one path.
      Specified by:
      beginAssocOne in interface SpiJsonWriter
    • endAssocOne

      public void endAssocOne()
      Description copied from interface: SpiJsonWriter
      End an assoc one path.
      Specified by:
      endAssocOne in interface SpiJsonWriter
    • beginAssocMany

      public void beginAssocMany(String key)
      Description copied from interface: SpiJsonWriter
      Start a Many.
      Specified by:
      beginAssocMany in interface SpiJsonWriter
    • endAssocMany

      public void endAssocMany()
      Description copied from interface: SpiJsonWriter
      End a Many.
      Specified by:
      endAssocMany in interface SpiJsonWriter
    • beginAssocManyMap

      public void beginAssocManyMap(String key, boolean elementCollection)
      Description copied from interface: SpiJsonWriter
      Start a Many.
      Specified by:
      beginAssocManyMap in interface SpiJsonWriter
    • endAssocManyMap

      public void endAssocManyMap(boolean elementCollection)
      Description copied from interface: SpiJsonWriter
      End a Many.
      Specified by:
      endAssocManyMap in interface SpiJsonWriter
    • writeBean

      public <T> void writeBean(BeanDescriptor<T> desc, io.ebean.bean.EntityBean bean)
      Description copied from interface: SpiJsonWriter
      Write the bean properties.
      Specified by:
      writeBean in interface SpiJsonWriter
    • writeValueUsingObjectMapper

      public void writeValueUsingObjectMapper(String name, Object value)
      Description copied from interface: SpiJsonWriter
      Write value using underlying Jaskson object mapper if available.
      Specified by:
      writeValueUsingObjectMapper in interface SpiJsonWriter
    • includeMany

      public Boolean includeMany(String key)
      Description copied from interface: SpiJsonWriter
      Return true if the many property should be included.
      Specified by:
      includeMany in interface SpiJsonWriter
    • toJson

      public void toJson(String name, Collection<?> c)
      Description copied from interface: SpiJsonWriter
      Write the collection.
      Specified by:
      toJson in interface SpiJsonWriter