Package jakarta.json.bind
Class JsonbConfig
java.lang.Object
jakarta.json.bind.JsonbConfig
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.
- Since:
- JSON Binding 1.0
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
Property used to specify custom mapping adapters for generic types.static final String
Property used to specify custom binary data strategy.static final String
Property used to specify required creator parameters.static final String
Property used to specify custom date format globally.static final String
Property used to specify custom deserializers.static final String
The Jsonb serializationtoJson()
methods will default to this property for encoding of output JSON data.static final String
Property used to specify whether or not the serialized JSON data is formatted with line feeds and indentation.static final String
Property used to specify locale globally.static final String
Property used to specify null values serialization behavior.static final String
Property used to specify custom naming strategy.static final String
Property used to specify custom order strategy.static final String
Property used to specify custom visibility strategy.static final String
Property used to specify custom serializers.static final String
Property used to specify strict I-JSON serialization compliance. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiongetAsMap()
Return all configuration properties as an unmodifiable map.getProperty
(String name) Return value of particular configuration property.final JsonbConfig
setProperty
(String name, Object value) Set the particular configuration property to a new value.final JsonbConfig
withAdapters
(JsonbAdapter... adapters) Property used to specify custom mapping adapters.final JsonbConfig
withBinaryDataStrategy
(String binaryDataStrategy) Property used to specify custom binary data strategy.final JsonbConfig
withCreatorParametersRequired
(boolean requiredParameters) Property used to specify whether all creator parameters should be treated as required.final JsonbConfig
withDateFormat
(String dateFormat, Locale locale) Property used to specify custom date format.final JsonbConfig
withDeserializers
(JsonbDeserializer... deserializers) Property used to specify custom deserializers.final JsonbConfig
withEncoding
(String encoding) The binding operations will default to this property for encoding of JSON data.final JsonbConfig
withFormatting
(Boolean formatted) Property used to specify whether or not the serialized JSON data is formatted with linefeeds and indentation.final JsonbConfig
withLocale
(Locale locale) Property used to specify custom locale.final JsonbConfig
withNullValues
(Boolean serializeNullValues) Property used to specify whether null values should be serialized to JSON document or skipped.final JsonbConfig
withPropertyNamingStrategy
(PropertyNamingStrategy propertyNamingStrategy) Property used to specify custom naming strategy.final JsonbConfig
withPropertyNamingStrategy
(String propertyNamingStrategy) Property used to specify custom naming strategy.final JsonbConfig
withPropertyOrderStrategy
(String propertyOrderStrategy) Property used to specify property order strategy.final JsonbConfig
withPropertyVisibilityStrategy
(PropertyVisibilityStrategy propertyVisibilityStrategy) Property used to specify custom property visibility strategy.final JsonbConfig
withSerializers
(JsonbSerializer... serializers) Property used to specify custom serializers.final JsonbConfig
withStrictIJSON
(Boolean enabled) Property used to specify whether strict I-JSON serialization compliance should be enforced.
-
Field Details
-
FORMATTING
Property used to specify whether or not the serialized JSON data is formatted with line feeds and indentation.- See Also:
-
ENCODING
The Jsonb serializationtoJson()
methods will default to this property for encoding of output JSON data. Default value is 'UTF-8'. The Jsonb deserializationfromJson()
methods will default to this property encoding of input JSON data if the encoding cannot be detected automatically.- See Also:
-
PROPERTY_NAMING_STRATEGY
Property used to specify custom naming strategy.- See Also:
-
PROPERTY_ORDER_STRATEGY
Property used to specify custom order strategy.- See Also:
-
NULL_VALUES
Property used to specify null values serialization behavior.- See Also:
-
STRICT_IJSON
Property used to specify strict I-JSON serialization compliance.- See Also:
-
PROPERTY_VISIBILITY_STRATEGY
Property used to specify custom visibility strategy.- See Also:
-
ADAPTERS
Property used to specify custom mapping adapters for generic types.- See Also:
-
SERIALIZERS
Property used to specify custom serializers.- See Also:
-
DESERIALIZERS
Property used to specify custom deserializers.- See Also:
-
BINARY_DATA_STRATEGY
Property used to specify custom binary data strategy.- See Also:
-
DATE_FORMAT
Property used to specify custom date format globally.- See Also:
-
LOCALE
Property used to specify locale globally.- See Also:
-
CREATOR_PARAMETERS_REQUIRED
Property used to specify required creator parameters.- See Also:
-
-
Constructor Details
-
JsonbConfig
public JsonbConfig()
-
-
Method Details
-
setProperty
Set the particular configuration property to a new value. The method can only be used to set one of the standard JSON Binding properties defined in this class or a provider specific property.- Parameters:
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 set- Returns:
- This JsonbConfig instance.
- Throws:
NullPointerException
- if the name parameter is null.
-
getProperty
Return value of particular configuration property. The method can only be used to retrieve one of the standard JSON Binding properties defined in this class or a provider specific property. Attempting to get an undefined property will result in an empty Optional value. See Supported Properties.- Parameters:
name
- The name of the property to retrieve- Returns:
- The value of the requested property
- Throws:
NullPointerException
- if the name parameter is null.
-
getAsMap
Return all configuration properties as an unmodifiable map.- Returns:
- All configuration properties as an unmodifiable map
-
withFormatting
Property used to specify whether or not the serialized JSON data is formatted with linefeeds and indentation. Configures value ofFORMATTING
property.- Parameters:
formatted
- True means serialized data is formatted, false (default) means no formatting.- Returns:
- This JsonbConfig instance.
-
withNullValues
Property used to specify whether null values should be serialized to JSON document or skipped. Configures value ofNULL_VALUES
property.- Parameters:
serializeNullValues
- True means that null values will be serialized into JSON document, otherwise they will be effectively skipped.- Returns:
- This JsonbConfig instance.
-
withEncoding
The binding operations will default to this property for encoding of JSON data. For input data (fromJson), selected encoding is used if the encoding cannot be detected automatically. Default value is 'UTF-8'. Configures value ofENCODING
property.- Parameters:
encoding
- Valid character encoding as defined in the RFC 7159 and supported by Java Platform.- Returns:
- This JsonbConfig instance.
-
withStrictIJSON
Property used to specify whether strict I-JSON serialization compliance should be enforced. Configures value ofSTRICT_IJSON
property.- Parameters:
enabled
- True means data is serialized in strict compliance according to RFC 7493.- Returns:
- This JsonbConfig instance.
-
withPropertyNamingStrategy
Property used to specify custom naming strategy. Configures value ofPROPERTY_NAMING_STRATEGY
property.- Parameters:
propertyNamingStrategy
- Custom naming strategy which affects serialization and deserialization.- Returns:
- This JsonbConfig instance.
-
withPropertyNamingStrategy
Property used to specify custom naming strategy. Configures value ofPROPERTY_NAMING_STRATEGY
property.- Parameters:
propertyNamingStrategy
- Predefined naming strategy which affects serialization and deserialization.- Returns:
- This JsonbConfig instance.
-
withPropertyOrderStrategy
Property used to specify property order strategy. Configures values ofPROPERTY_ORDER_STRATEGY
property.- Parameters:
propertyOrderStrategy
- Predefined property order strategy which affects serialization.- Returns:
- This JsonbConfig instance.
-
withPropertyVisibilityStrategy
public final JsonbConfig withPropertyVisibilityStrategy(PropertyVisibilityStrategy propertyVisibilityStrategy) Property used to specify custom property visibility strategy. Configures value ofPROPERTY_VISIBILITY_STRATEGY
property.- Parameters:
propertyVisibilityStrategy
- Custom property visibility strategy which affects serialization and deserialization.- Returns:
- This JsonbConfig instance.
-
withAdapters
Property used to specify custom mapping adapters. Configures value ofADAPTERS
property. Calling withAdapters more than once will merge the adapters with previous value.- Parameters:
adapters
- Custom mapping adapters which affects serialization and deserialization.- Returns:
- This JsonbConfig instance.
-
withSerializers
Property used to specify custom serializers. Configures value ofSERIALIZERS
property. Calling withSerializers more than once will merge the serializers with previous value.- Parameters:
serializers
- Custom serializers which affects serialization.- Returns:
- This JsonbConfig instance.
-
withDeserializers
Property used to specify custom deserializers. Configures value ofDESERIALIZERS
property. Calling withDeserializers more than once will merge the deserializers with previous value.- Parameters:
deserializers
- Custom deserializers which affects deserialization.- Returns:
- This JsonbConfig instance.
-
withBinaryDataStrategy
Property used to specify custom binary data strategy. Configures value ofBINARY_DATA_STRATEGY
property.- Parameters:
binaryDataStrategy
- Custom binary data strategy which affects serialization and deserialization.- Returns:
- This JsonbConfig instance.
-
withDateFormat
Property used to specify custom date format. This format will be used by default for all date classes serialization and deserialization. Configures values ofDATE_FORMAT
andLOCALE
properties.- Parameters:
dateFormat
- Custom date format as specified inDateTimeFormatter
.locale
- Locale, if null is specifiedLocale.getDefault()
will be used.- Returns:
- This JsonbConfig instance.
-
withLocale
Property used to specify custom locale. Configures value ofLOCALE
property.- Parameters:
locale
- Locale, must not be null.- Returns:
- This JsonbConfig instance.
-
withCreatorParametersRequired
Property used to specify whether all creator parameters should be treated as required.
Default value isfalse
.- Parameters:
requiredParameters
- Whether creator parameters are required- Returns:
- This JsonbConfig instance.
-