public class JsonbConfig extends Object
This object is not thread safe. Implementations are expected to make a defensive copy of the object before applying the configuration.All JSON Binding providers are required to support the following set of properties. Some providers may support additional properties.
jsonb.to.json.formatted
- java.lang.Boolean- Controls whether or not the
Jsonb
toJson()
methods will format the resulting JSON data with line breaks and indentation. A true value for this property indicates human readable indented data, while a false value indicates unformatted data. Default value is false (unformatted) if this property is not specified.
jsonb.to.json.encoding
- java.lang.String- The
Jsonb
serializationtoJson()
methods will default to this property for encoding of output JSON data. Default value is 'UTF-8' if this property is not specified.
jsonb.from.json.encoding
- java.lang.String- The
Jsonb
deserializationfromJson()
methods will default to this property encoding of input JSON data if the encoding cannot be detected.
Modifier and Type | Field and Description |
---|---|
static String |
ADAPTERS
Property used to specify custom mapping adapters for generic types.
|
static String |
BINARY_DATA_STRATEGY
Property used to specify custom binary data strategy.
|
static String |
DATE_FORMAT
Property used to specify custom date format globally.
|
static String |
DESERIALIZERS
Property used to specify custom deserializers.
|
static String |
ENCODING
The Jsonb serialization
toJson() methods will default to this property
for encoding of output JSON data. |
static String |
FORMATTING
Property used to specify whether or not the serialized
JSON data is formatted with line feeds and indentation.
|
static String |
LOCALE
Property used to specify locale globally.
|
static String |
NULL_VALUES
Property used to specify null values serialization behavior.
|
static String |
PROPERTY_NAMING_STRATEGY
Property used to specify custom naming strategy.
|
static String |
PROPERTY_ORDER_STRATEGY
Property used to specify custom order strategy.
|
static String |
PROPERTY_VISIBILITY_STRATEGY
Property used to specify custom visibility strategy.
|
static String |
SERIALIZERS
Property used to specify custom serializers.
|
static String |
STRICT_IJSON
Property used to specify strict I-JSON serialization compliance.
|
Constructor and Description |
---|
JsonbConfig() |
Modifier and Type | Method and Description |
---|---|
Map<String,Object> |
getAsMap()
Return all configuration properties as an unmodifiable map.
|
Optional<Object> |
getProperty(String name)
Return value of particular configuration property.
|
JsonbConfig |
setProperty(String name,
Object value)
Set the particular configuration property to a new value.
|
JsonbConfig |
withAdapters(JsonbAdapter... adapters)
Property used to specify custom mapping adapters.
|
JsonbConfig |
withBinaryDataStrategy(String binaryDataStrategy)
Property used to specify custom binary data strategy.
|
JsonbConfig |
withDateFormat(String dateFormat,
Locale locale)
Property used to specify custom date format.
|
JsonbConfig |
withDeserializers(JsonbDeserializer... deserializers)
Property used to specify custom deserializers.
|
JsonbConfig |
withEncoding(String encoding)
The binding operations will default to this property
for encoding of JSON data.
|
JsonbConfig |
withFormatting(Boolean formatted)
Property used to specify whether or not the serialized JSON data is formatted
with linefeeds and indentation.
|
JsonbConfig |
withLocale(Locale locale)
Property used to specify custom locale.
|
JsonbConfig |
withNullValues(Boolean serializeNullValues)
Property used to specify whether null values should be serialized to JSON document or skipped.
|
JsonbConfig |
withPropertyNamingStrategy(PropertyNamingStrategy propertyNamingStrategy)
Property used to specify custom naming strategy.
|
JsonbConfig |
withPropertyNamingStrategy(String propertyNamingStrategy)
Property used to specify custom naming strategy.
|
JsonbConfig |
withPropertyOrderStrategy(String propertyOrderStrategy)
Property used to specify property order strategy.
|
JsonbConfig |
withPropertyVisibilityStrategy(PropertyVisibilityStrategy propertyVisibilityStrategy)
Property used to specify custom property visibility strategy.
|
JsonbConfig |
withSerializers(JsonbSerializer... serializers)
Property used to specify custom serializers.
|
JsonbConfig |
withStrictIJSON(Boolean enabled)
Property used to specify whether strict I-JSON serialization compliance should be enforced.
|
public static final String FORMATTING
public static final String ENCODING
toJson()
methods will default to this property
for encoding of output JSON data. Default value is 'UTF-8'.
The Jsonb deserialization fromJson()
methods will default to this
property encoding of input JSON data if the encoding cannot be detected
automatically.public static final String PROPERTY_NAMING_STRATEGY
public static final String PROPERTY_ORDER_STRATEGY
public static final String NULL_VALUES
public static final String STRICT_IJSON
public static final String PROPERTY_VISIBILITY_STRATEGY
public static final String ADAPTERS
public static final String SERIALIZERS
public static final String DESERIALIZERS
public static final String BINARY_DATA_STRATEGY
public static final String DATE_FORMAT
public static final String LOCALE
public final JsonbConfig setProperty(String name, Object value)
name
- The name of the property to be set. This value can either
be specified using one of the constant fields or a user supplied
string.value
- The value of the property to be setNullPointerException
- if the name parameter is null.public final Optional<Object> getProperty(String name)
name
- The name of the property to retrieveNullPointerException
- if the name parameter is null.public final Map<String,Object> getAsMap()
public final JsonbConfig withFormatting(Boolean formatted)
FORMATTING
property.formatted
- True means serialized data is formatted, false (default)
means no formatting.public final JsonbConfig withNullValues(Boolean serializeNullValues)
NULL_VALUES
property.serializeNullValues
- True means that null values will be serialized into JSON document,
otherwise they will be effectively skipped.public final JsonbConfig withEncoding(String encoding)
ENCODING
property.encoding
- Valid character encoding as defined in the
RFC 7159 and supported by
Java Platform.public final JsonbConfig withStrictIJSON(Boolean enabled)
STRICT_IJSON
property.enabled
- True means data is serialized in strict compliance according to RFC 7493.public final JsonbConfig withPropertyNamingStrategy(PropertyNamingStrategy propertyNamingStrategy)
PROPERTY_NAMING_STRATEGY
property.propertyNamingStrategy
- Custom naming strategy which affects serialization and deserialization.public final JsonbConfig withPropertyNamingStrategy(String propertyNamingStrategy)
PROPERTY_NAMING_STRATEGY
property.propertyNamingStrategy
- Predefined naming strategy which affects serialization and deserialization.public final JsonbConfig withPropertyOrderStrategy(String propertyOrderStrategy)
PROPERTY_ORDER_STRATEGY
property.propertyOrderStrategy
- Predefined property order strategy which affects serialization.public final JsonbConfig withPropertyVisibilityStrategy(PropertyVisibilityStrategy propertyVisibilityStrategy)
PROPERTY_VISIBILITY_STRATEGY
property.propertyVisibilityStrategy
- Custom property visibility strategy which affects serialization and deserialization.public final JsonbConfig withAdapters(JsonbAdapter... adapters)
ADAPTERS
property.
Calling withAdapters more than once will merge the adapters with previous value.adapters
- Custom mapping adapters which affects serialization and deserialization.public final JsonbConfig withSerializers(JsonbSerializer... serializers)
SERIALIZERS
property.
Calling withSerializers more than once will merge the serializers with previous value.serializers
- Custom serializers which affects serialization.public final JsonbConfig withDeserializers(JsonbDeserializer... deserializers)
DESERIALIZERS
property.
Calling withDeserializers more than once will merge the deserializers with previous value.deserializers
- Custom deserializers which affects deserialization.public final JsonbConfig withBinaryDataStrategy(String binaryDataStrategy)
BINARY_DATA_STRATEGY
property.binaryDataStrategy
- Custom binary data strategy which affects serialization and deserialization.public final JsonbConfig withDateFormat(String dateFormat, Locale locale)
DATE_FORMAT
and LOCALE
properties.dateFormat
- Custom date format as specified in DateTimeFormatter
.locale
- Locale, if null is specified Locale.getDefault()
will be used.public final JsonbConfig withLocale(Locale locale)
LOCALE
property.locale
- Locale, must not be null.Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.