Package groovy.json
Class DefaultJsonGenerator
- java.lang.Object
-
- groovy.json.DefaultJsonGenerator
-
- All Implemented Interfaces:
JsonGenerator
public class DefaultJsonGenerator extends Object implements JsonGenerator
A JsonGenerator that can be configured with variousJsonGenerator.Options
. If the default options are sufficient consider using the staticJsonOutput.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 Set<JsonGenerator.Converter>
converters
protected String
dateFormat
protected Locale
dateLocale
protected boolean
disableUnicodeEscaping
protected Set<String>
excludedFieldNames
protected Set<Class<?>>
excludedFieldTypes
protected boolean
excludeNulls
protected TimeZone
timezone
-
Constructor Summary
Constructors Modifier Constructor Description protected
DefaultJsonGenerator(JsonGenerator.Options options)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected JsonGenerator.Converter
findConverter(Class<?> type)
Finds a converter that can handle the given type.protected Map<?,?>
getObjectProperties(Object object)
boolean
isExcludingFieldsNamed(String name)
Indicates whether this JsonGenerator is configured to exclude fields by the given name.boolean
isExcludingValues(Object value)
Indicates whether this JsonGenerator is configured to exclude values of the given object (may benull
).protected boolean
shouldExcludeType(Class<?> type)
Indicates whether the given type should be excluded from the generated output.String
toJson(Object object)
Converts an object to its JSON representation.protected void
writeArray(Class<?> arrayClass, Object array, CharBuf buffer)
Serializes array and writes it into specified buffer.protected void
writeCharSequence(CharSequence seq, CharBuf buffer)
Serializes any char sequence and writes it into specified buffer.protected void
writeDate(Date date, CharBuf buffer)
Serializes date and writes it into specified buffer.protected void
writeIterator(Iterator<?> iterator, CharBuf buffer)
Serializes iterator and writes it into specified buffer.protected void
writeMap(Map<?,?> map, CharBuf buffer)
Serializes map and writes it into specified buffer.protected void
writeMapEntry(String key, Object value, CharBuf buffer)
Serializes a map entry and writes it into specified buffer.protected void
writeNumber(Class<?> numberClass, Number value, CharBuf buffer)
Serializes Number value and writes it into specified buffer.protected void
writeObject(Object object, CharBuf buffer)
protected void
writeObject(String key, Object object, CharBuf buffer)
Serializes object and writes it into specified buffer.protected void
writeRaw(CharSequence seq, CharBuf buffer)
Serializes any char sequence and writes it into specified buffer without performing any manipulation of the given text.
-
-
-
Field Detail
-
excludeNulls
protected final boolean excludeNulls
-
disableUnicodeEscaping
protected final boolean disableUnicodeEscaping
-
dateFormat
protected final String dateFormat
-
dateLocale
protected final Locale dateLocale
-
timezone
protected final TimeZone timezone
-
converters
protected final Set<JsonGenerator.Converter> converters
-
-
Constructor Detail
-
DefaultJsonGenerator
protected DefaultJsonGenerator(JsonGenerator.Options options)
-
-
Method Detail
-
toJson
public String toJson(Object object)
Converts an object to its JSON representation.- Specified by:
toJson
in interfaceJsonGenerator
- Parameters:
object
- to convert to JSON- Returns:
- JSON
-
isExcludingFieldsNamed
public boolean isExcludingFieldsNamed(String name)
Indicates whether this JsonGenerator is configured to exclude fields by the given name.- Specified by:
isExcludingFieldsNamed
in interfaceJsonGenerator
- Parameters:
name
- of the field- Returns:
- true if that field is being excluded, else false
-
isExcludingValues
public boolean isExcludingValues(Object value)
Indicates whether this JsonGenerator is configured to exclude values of the given object (may benull
).- Specified by:
isExcludingValues
in interfaceJsonGenerator
- Parameters:
value
- an instance of an object- Returns:
- true if values like this are being excluded, else false
-
writeNumber
protected void writeNumber(Class<?> numberClass, Number value, CharBuf buffer)
Serializes Number value and writes it into specified buffer.
-
writeObject
protected void writeObject(String key, Object object, CharBuf buffer)
Serializes object and writes it into specified buffer.
-
writeCharSequence
protected void writeCharSequence(CharSequence seq, CharBuf buffer)
Serializes any char sequence and writes it into specified buffer.
-
writeRaw
protected void writeRaw(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(Date date, CharBuf buffer)
Serializes date and writes it into specified buffer.
-
writeArray
protected void writeArray(Class<?> arrayClass, Object array, CharBuf buffer)
Serializes array and writes it into specified buffer.
-
writeMap
protected void writeMap(Map<?,?> map, CharBuf buffer)
Serializes map and writes it into specified buffer.
-
writeMapEntry
protected void writeMapEntry(String key, Object value, CharBuf buffer)
Serializes a map entry and writes it into specified buffer.
-
writeIterator
protected void writeIterator(Iterator<?> iterator, CharBuf buffer)
Serializes iterator and writes it into specified buffer.
-
findConverter
protected JsonGenerator.Converter findConverter(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. Anull
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(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, elsefalse
-
-