public class WriteOptionsBuilder extends Object
Modifier and Type | Class and Description |
---|---|
static class |
WriteOptionsBuilder.DefaultWriteOptions |
Modifier and Type | Field and Description |
---|---|
static String |
ISO_DATE_FORMAT |
static String |
ISO_DATE_TIME_FORMAT |
Constructor and Description |
---|
WriteOptionsBuilder()
Start with default options
|
Modifier and Type | Method and Description |
---|---|
WriteOptionsBuilder |
addCustomOption(String key,
Object value)
Add a custom option, which may be useful when writing custom writers.
|
WriteOptionsBuilder |
addCustomWrittenClass(Class<?> clazz,
JsonWriter.JsonClassWriter customWriter) |
WriteOptionsBuilder |
addCustomWrittenClasses(Map<Class<?>,JsonWriter.JsonClassWriter> customWrittenClasses) |
WriteOptionsBuilder |
addExcludedField(Class<?> clazz,
String excludedFieldName) |
WriteOptionsBuilder |
addExcludedFields(Class<?> clazz,
Collection<String> excludedFields) |
WriteOptionsBuilder |
addExcludedFields(Map<Class<?>,Collection<String>> excludedFieldNames) |
boolean |
addFilter(FieldFilter filter) |
WriteOptionsBuilder |
addFilteredMethodName(String methodName) |
WriteOptionsBuilder |
addFilteredMethodNames(Collection<String> methodNames) |
WriteOptionsBuilder |
addIncludedField(Class<?> clazz,
String includedFieldName) |
WriteOptionsBuilder |
addIncludedFields(Class<?> clazz,
Collection<String> includedFieldNames) |
WriteOptionsBuilder |
addIncludedFields(Map<Class<?>,Collection<String>> includedFieldNames) |
WriteOptionsBuilder |
addNonReferenceableClass(Class<?> clazz) |
WriteOptionsBuilder |
addNonReferenceableClasses(Collection<Class<?>> classes) |
WriteOptionsBuilder |
addNonStandardMapping(Class<?> c,
String fieldName,
String methodName) |
WriteOptionsBuilder |
addNonStandardMappings(Map<Class<?>,Map<String,String>> nonStandardMappings) |
WriteOptionsBuilder |
addNotCustomWrittenClass(Class<?> notCustomClass)
Add a class to the not-customized list - the list of classes that you do not want to be picked up by a
custom writer (that could happen through inheritance).
|
static void |
addPermanentAlias(Class<?> clazz)
Call this method to add a permanent (JVM lifetime) alias of a class to an often shorter, name.
|
static void |
addPermanentAlias(Class<?> clazz,
String alias)
Call this method to add a permanent (JVM lifetime) alias of a class to an often shorter, name.
|
static void |
addPermanentNonRef(Class<?> clazz)
Call this method to add a permanent (JVM lifetime) class that should not be treated as referencable
when being written out to JSON.
|
static void |
addPermanentWriter(Class<?> clazz,
JsonWriter.JsonClassWriter writer)
Call this method to add a custom JSON writer to json-io.
|
WriteOptionsBuilder |
aliasTypeName(Class<?> type)
Aliases the fully qualified class name to its short name
|
WriteOptionsBuilder |
aliasTypeName(Class<?> type,
String alias) |
WriteOptionsBuilder |
aliasTypeName(String typeName,
String alias) |
WriteOptionsBuilder |
aliasTypeNames(Map<String,String> aliases) |
WriteOptionsBuilder |
allowNanAndInfinity(boolean allowNanAndInfinity) |
WriteOptions |
build()
Seal the instance of this class so that no more changes can be made to it.
|
WriteOptionsBuilder |
classLoader(ClassLoader loader) |
WriteOptionsBuilder |
closeStream(boolean closeStream) |
WriteOptionsBuilder |
dateTimeFormat(String format)
Change the date-time format to the passed in format.
|
WriteOptionsBuilder |
forceMapOutputAsTwoArrays(boolean forceMapOutputAsTwoArrays) |
WriteOptionsBuilder |
isoDateFormat()
Change the date-time format to the ISO date format: "yyyy-MM-dd".
|
WriteOptionsBuilder |
isoDateTimeFormat()
Change the date-time format to the ISO date-time format: "yyyy-MM-dd'T'HH:mm:ss" (default).
|
WriteOptionsBuilder |
longDateFormat()
Change the java.uti.Date and java.sql.Date format output to a "long," the number of seconds since Jan 1, 1970
at midnight.
|
WriteOptionsBuilder |
prettyPrint(boolean prettyPrint) |
boolean |
removeFilter(FieldFilter filter) |
WriteOptionsBuilder |
setCustomWrittenClasses(Map<Class<?>,JsonWriter.JsonClassWriter> customWrittenClasses) |
WriteOptionsBuilder |
setFilteredMethodNames(Collection<String> methodNames) |
WriteOptionsBuilder |
setNonReferenceableClasses(Collection<Class<?>> classes) |
WriteOptionsBuilder |
setNotCustomWrittenClasses(Collection<Class<?>> notCustomClasses) |
WriteOptionsBuilder |
shortMetaKeys(boolean shortMetaKeys) |
WriteOptionsBuilder |
showTypeInfoAlways()
Set to always show type
|
WriteOptionsBuilder |
showTypeInfoMinimal()
Set to show minimal type.
|
WriteOptionsBuilder |
showTypeInfoNever()
Set to never show type
|
WriteOptionsBuilder |
skipNullFields(boolean skipNullFields) |
WriteOptionsBuilder |
withExtendedAliases() |
WriteOptionsBuilder |
writeEnumAsJsonObject(boolean writePublicFieldsOnly)
Option to write out all the member fields of an enum.
|
WriteOptionsBuilder |
writeEnumsAsString()
Option to write out enums as a String, it will write out the enum.name() field.
|
WriteOptionsBuilder |
writeLongsAsStrings(boolean writeLongsAsStrings) |
public static final String ISO_DATE_FORMAT
public static final String ISO_DATE_TIME_FORMAT
public static void addPermanentAlias(Class<?> clazz, String alias)
clazz
- Class that will be aliased by a shorter name in the JSON.alias
- Shorter alias name, for example, "ArrayList" as opposed to "java.util.ArrayList"public static void addPermanentAlias(Class<?> clazz)
clazz
- Class that will be aliased from fullyQualifiedName -> simpleNamepublic static void addPermanentNonRef(Class<?> clazz)
clazz
- Class that will no longer be treated as referenceable when being written to JSON.public static void addPermanentWriter(Class<?> clazz, JsonWriter.JsonClassWriter writer)
clazz
- Class to assign a custom JSON writer towriter
- The JsonClassWriter which will write the custom JSON format of class.public WriteOptionsBuilder classLoader(ClassLoader loader)
loader
- ClassLoader to use when writing JSON to resolve String named classes.public WriteOptionsBuilder shortMetaKeys(boolean shortMetaKeys)
shortMetaKeys
- boolean true to turn on short meta-keys, false for long.public WriteOptionsBuilder aliasTypeNames(Map<String,String> aliases)
aliases
- Map containing String class names to alias names. The passed in Map will
be copied, and be the new baseline settings.public WriteOptionsBuilder aliasTypeName(Class<?> type)
type
- Class to aliaspublic WriteOptionsBuilder aliasTypeName(Class<?> type, String alias)
type
- Class to aliasalias
- String shorter name to use, typically.public WriteOptionsBuilder aliasTypeName(String typeName, String alias)
typeName
- String class namealias
- String shorter name to use, typically.public WriteOptionsBuilder withExtendedAliases()
public WriteOptionsBuilder showTypeInfoAlways()
public WriteOptionsBuilder showTypeInfoNever()
public WriteOptionsBuilder showTypeInfoMinimal()
public WriteOptionsBuilder prettyPrint(boolean prettyPrint)
prettyPrint
- boolean 'prettyPrint' setting, true to turn on, false will turn off.public WriteOptionsBuilder writeLongsAsStrings(boolean writeLongsAsStrings)
writeLongsAsStrings
- boolean true to turn on writing longs as Strings, false to write them as
native JSON longs.public WriteOptionsBuilder skipNullFields(boolean skipNullFields)
skipNullFields
- boolean setting, where true indicates fields with null values will not be written
to the JSON, false will allow the field to still be written.public WriteOptionsBuilder forceMapOutputAsTwoArrays(boolean forceMapOutputAsTwoArrays)
forceMapOutputAsTwoArrays
- boolean 'forceMapOutputAsTwoArrays' setting. true will force Java Maps to be
written out as two parallel arrays, once for keys, one array for values.
false will write out one JSON { } object, if all keys are Strings. If not,
then the Map will be output as two parallel arrays (@keys:[...], @values:[...]).public WriteOptionsBuilder allowNanAndInfinity(boolean allowNanAndInfinity)
allowNanAndInfinity
- boolean 'allowNanAndInfinity' setting. true will allow
Double and Floats to be output as NAN and INFINITY, false
and these values will come across as null.public WriteOptionsBuilder writeEnumsAsString()
public WriteOptionsBuilder writeEnumAsJsonObject(boolean writePublicFieldsOnly)
writePublicFieldsOnly
- boolean, only write out the public fields when writing enums as objectspublic WriteOptionsBuilder closeStream(boolean closeStream)
closeStream
- boolean set to 'true' to have JsonIo close the OutputStream when it is finished writinging
to it. The default is 'true'. If false, the OutputStream will not be closed, allowing
you to continue writing further. Example, NDJSON that has new line eliminated JSON
objects repeated.public WriteOptionsBuilder setCustomWrittenClasses(Map<Class<?>,JsonWriter.JsonClassWriter> customWrittenClasses)
customWrittenClasses
- Map of Class to JsonWriter.JsonClassWriter. Establish the passed in Map as the
established Map of custom writers to be used when writing JSON. Using this method
more than once, will set the custom writers to only the values from the Set in
the last call made.public WriteOptionsBuilder addCustomWrittenClasses(Map<Class<?>,JsonWriter.JsonClassWriter> customWrittenClasses)
customWrittenClasses
- Map of Class to JsonWriter.JsonClassWriter. Adds all custom writers into the custom
writers map.public WriteOptionsBuilder addCustomWrittenClass(Class<?> clazz, JsonWriter.JsonClassWriter customWriter)
clazz
- Class to add a custom writer for.customWriter
- JsonClassWriter to use when the passed in Class is encountered during serialization.public WriteOptionsBuilder addNotCustomWrittenClass(Class<?> notCustomClass)
notCustomClass
- Class to add to the not-customized list.public WriteOptionsBuilder setNotCustomWrittenClasses(Collection<Class<?>> notCustomClasses)
notCustomClasses
- initialize the list of classes on the non-customized list. All prior associations
will be dropped and this Collection will establish the new list.public WriteOptionsBuilder addIncludedField(Class<?> clazz, String includedFieldName)
clazz
- Class to add a single field to be included in the written JSON.includedFieldName
- String name of field to include in written JSON.public WriteOptionsBuilder addIncludedFields(Class<?> clazz, Collection<String> includedFieldNames)
clazz
- Class to add a Collection of fields to be included in written JSON.includedFieldNames
- Collection of String name of fields to include in written JSON.public WriteOptionsBuilder addIncludedFields(Map<Class<?>,Collection<String>> includedFieldNames)
includedFieldNames
- Map of Class's mapped to Collection of String field names to include in the written JSON.public WriteOptionsBuilder addExcludedField(Class<?> clazz, String excludedFieldName)
clazz
- Class to add a single field to be excluded.excludedFieldName
- String name of field to exclude from written JSON.public WriteOptionsBuilder addExcludedFields(Class<?> clazz, Collection<String> excludedFields)
clazz
- Class to add a Collection of fields to be excluded in written JSON.excludedFields
- Collection of String name of fields to exclude in written JSON.public WriteOptionsBuilder addExcludedFields(Map<Class<?>,Collection<String>> excludedFieldNames)
excludedFieldNames
- Map of Class's mapped to Collection of String field names to exclude from written JSON.public WriteOptionsBuilder isoDateFormat()
public WriteOptionsBuilder isoDateTimeFormat()
public WriteOptionsBuilder longDateFormat()
public WriteOptionsBuilder dateTimeFormat(String format)
public WriteOptionsBuilder setFilteredMethodNames(Collection<String> methodNames)
methodNames
- Replaces the collection of methodNames that are not to be considered as accessors.public WriteOptionsBuilder addFilteredMethodNames(Collection<String> methodNames)
methodNames
- Adds to the collection of methodNames that are not to be considered as accessors.public WriteOptionsBuilder addFilteredMethodName(String methodName)
methodName
- Adds to the collection of methodNames that are not to be considered as accessors.public WriteOptionsBuilder addNonStandardMappings(Map<Class<?>,Map<String,String>> nonStandardMappings)
nonStandardMappings
- Adds to the collection of methodNames that are not to be considered as accessors.public WriteOptionsBuilder addNonStandardMapping(Class<?> c, String fieldName, String methodName)
methodName
- Adds to the collection of methodNames that are not to be considered as accessors.public WriteOptionsBuilder setNonReferenceableClasses(Collection<Class<?>> classes)
classes
- Replaces the collection of classes to treat as non-referenceable with the given class.public WriteOptionsBuilder addNonReferenceableClasses(Collection<Class<?>> classes)
classes
- classes to add to be considered a non-referenceable object. Just like an "int" for example, any
class added here will never use an @id/@ref pair. The downside, is that when read,
each instance, even if the same as another, will use memory.public WriteOptionsBuilder addNonReferenceableClass(Class<?> clazz)
clazz
- class to add to be considered a non-referenceable object. Just like an "int" for example, any
class added here will never use an @id/@ref pair. The downside, is that when read,
each instance, even if the same as another, will use memory.public WriteOptionsBuilder addCustomOption(String key, Object value)
key
- String name of the custom optionvalue
- Object value of the custom optionpublic WriteOptions build()
public boolean addFilter(FieldFilter filter)
public boolean removeFilter(FieldFilter filter)
Copyright © 2024. All rights reserved.