Package groovy.json

Class DefaultJsonGenerator

java.lang.Object
groovy.json.DefaultJsonGenerator
All Implemented Interfaces:
JsonGenerator

public class DefaultJsonGenerator
extends java.lang.Object
implements JsonGenerator
A JsonGenerator that can be configured with various JsonGenerator.Options. If the default options are sufficient consider using the static JsonOutput.toJson methods.
Since:
2.5.0
See Also:
JsonGenerator.Options.build()
  • Nested Class Summary

    Nested Classes
    Modifier and Type Class Description
    protected static class  DefaultJsonGenerator.ClosureConverter
    A converter that handles converting a given type using a closure.

    Nested classes/interfaces inherited from interface groovy.json.JsonGenerator

    JsonGenerator.Converter, JsonGenerator.Options
  • Field Summary

    Fields
    Modifier and Type Field Description
    protected java.util.Set<JsonGenerator.Converter> converters  
    protected java.lang.String dateFormat  
    protected java.util.Locale dateLocale  
    protected boolean disableUnicodeEscaping  
    protected java.util.Set<java.lang.String> excludedFieldNames  
    protected java.util.Set<java.lang.Class<?>> excludedFieldTypes  
    protected boolean excludeNulls  
    protected java.util.TimeZone timezone  
  • Constructor Summary

    Constructors
    Modifier Constructor Description
    protected DefaultJsonGenerator​(JsonGenerator.Options options)  
  • Method Summary

    Modifier and Type Method Description
    protected JsonGenerator.Converter findConverter​(java.lang.Class<?> type)
    Finds a converter that can handle the given type.
    protected java.util.Map<?,​?> getObjectProperties​(java.lang.Object object)  
    boolean isExcludingFieldsNamed​(java.lang.String name)
    Indicates whether this JsonGenerator is configured to exclude fields by the given name.
    boolean isExcludingValues​(java.lang.Object value)
    Indicates whether this JsonGenerator is configured to exclude values of the given object (may be null).
    protected boolean shouldExcludeType​(java.lang.Class<?> type)
    Indicates whether the given type should be excluded from the generated output.
    java.lang.String toJson​(java.lang.Object object)
    Converts an object to its JSON representation.
    protected void writeArray​(java.lang.Class<?> arrayClass, java.lang.Object array, CharBuf buffer)
    Serializes array and writes it into specified buffer.
    protected void writeCharSequence​(java.lang.CharSequence seq, CharBuf buffer)
    Serializes any char sequence and writes it into specified buffer.
    protected void writeDate​(java.util.Date date, CharBuf buffer)
    Serializes date and writes it into specified buffer.
    protected void writeIterator​(java.util.Iterator<?> iterator, CharBuf buffer)
    Serializes iterator and writes it into specified buffer.
    protected void writeMap​(java.util.Map<?,​?> map, CharBuf buffer)
    Serializes map and writes it into specified buffer.
    protected void writeMapEntry​(java.lang.String key, java.lang.Object value, CharBuf buffer)
    Serializes a map entry and writes it into specified buffer.
    protected void writeNumber​(java.lang.Class<?> numberClass, java.lang.Number value, CharBuf buffer)
    Serializes Number value and writes it into specified buffer.
    protected void writeObject​(java.lang.Object object, CharBuf buffer)  
    protected void writeObject​(java.lang.String key, java.lang.Object object, CharBuf buffer)
    Serializes object and writes it into specified buffer.
    protected void writeRaw​(java.lang.CharSequence seq, CharBuf buffer)
    Serializes any char sequence and writes it into specified buffer without performing any manipulation of the given text.

    Methods inherited from class java.lang.Object

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

    • excludeNulls

      protected final boolean excludeNulls
    • disableUnicodeEscaping

      protected final boolean disableUnicodeEscaping
    • dateFormat

      protected final java.lang.String dateFormat
    • dateLocale

      protected final java.util.Locale dateLocale
    • timezone

      protected final java.util.TimeZone timezone
    • converters

      protected final java.util.Set<JsonGenerator.Converter> converters
    • excludedFieldNames

      protected final java.util.Set<java.lang.String> excludedFieldNames
    • excludedFieldTypes

      protected final java.util.Set<java.lang.Class<?>> excludedFieldTypes
  • Constructor Details

  • Method Details

    • toJson

      public java.lang.String toJson​(java.lang.Object object)
      Converts an object to its JSON representation.
      Specified by:
      toJson in interface JsonGenerator
      Parameters:
      object - to convert to JSON
      Returns:
      JSON
    • isExcludingFieldsNamed

      public boolean isExcludingFieldsNamed​(java.lang.String name)
      Indicates whether this JsonGenerator is configured to exclude fields by the given name.
      Specified by:
      isExcludingFieldsNamed in interface JsonGenerator
      Parameters:
      name - of the field
      Returns:
      true if that field is being excluded, else false
    • isExcludingValues

      public boolean isExcludingValues​(java.lang.Object value)
      Indicates whether this JsonGenerator is configured to exclude values of the given object (may be null).
      Specified by:
      isExcludingValues in interface JsonGenerator
      Parameters:
      value - an instance of an object
      Returns:
      true if values like this are being excluded, else false
    • writeNumber

      protected void writeNumber​(java.lang.Class<?> numberClass, java.lang.Number value, CharBuf buffer)
      Serializes Number value and writes it into specified buffer.
    • writeObject

      protected void writeObject​(java.lang.Object object, CharBuf buffer)
    • writeObject

      protected void writeObject​(java.lang.String key, java.lang.Object object, CharBuf buffer)
      Serializes object and writes it into specified buffer.
    • getObjectProperties

      protected java.util.Map<?,​?> getObjectProperties​(java.lang.Object object)
    • writeCharSequence

      protected void writeCharSequence​(java.lang.CharSequence seq, CharBuf buffer)
      Serializes any char sequence and writes it into specified buffer.
    • writeRaw

      protected void writeRaw​(java.lang.CharSequence seq, CharBuf buffer)
      Serializes any char sequence and writes it into specified buffer without performing any manipulation of the given text.
    • writeDate

      protected void writeDate​(java.util.Date date, CharBuf buffer)
      Serializes date and writes it into specified buffer.
    • writeArray

      protected void writeArray​(java.lang.Class<?> arrayClass, java.lang.Object array, CharBuf buffer)
      Serializes array and writes it into specified buffer.
    • writeMap

      protected void writeMap​(java.util.Map<?,​?> map, CharBuf buffer)
      Serializes map and writes it into specified buffer.
    • writeMapEntry

      protected void writeMapEntry​(java.lang.String key, java.lang.Object value, CharBuf buffer)
      Serializes a map entry and writes it into specified buffer.
    • writeIterator

      protected void writeIterator​(java.util.Iterator<?> iterator, CharBuf buffer)
      Serializes iterator and writes it into specified buffer.
    • findConverter

      protected JsonGenerator.Converter findConverter​(java.lang.Class<?> type)
      Finds a converter that can handle the given type. The first converter that reports it can handle the type is returned, based on the order in which the converters were specified. A null value will be returned if no suitable converter can be found for the given type.
      Parameters:
      type - that this converter can handle
      Returns:
      first converter that can handle the given type; else null if no compatible converters are found for the given type.
    • shouldExcludeType

      protected boolean shouldExcludeType​(java.lang.Class<?> type)
      Indicates whether the given type should be excluded from the generated output.
      Parameters:
      type - the type to check
      Returns:
      true if the given type should not be output, else false