Package jakarta.json.bind
Class JsonbConfig
- java.lang.Object
-
- jakarta.json.bind.JsonbConfig
-
public class JsonbConfig extends Object
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
Fields Modifier and Type Field 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
CREATOR_PARAMETERS_REQUIRED
Property used to specify required creator parameters.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 serializationtoJson()
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 Summary
Constructors Constructor Description JsonbConfig()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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
withCreatorParametersRequired(boolean requiredParameters)
Property used to specify whether all creator parameters should be treated as required.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.
-
-
-
Field Detail
-
FORMATTING
public static final String FORMATTING
Property used to specify whether or not the serialized JSON data is formatted with line feeds and indentation.- See Also:
- Constant Field Values
-
ENCODING
public static final String 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:
- Constant Field Values
-
PROPERTY_NAMING_STRATEGY
public static final String PROPERTY_NAMING_STRATEGY
Property used to specify custom naming strategy.- See Also:
- Constant Field Values
-
PROPERTY_ORDER_STRATEGY
public static final String PROPERTY_ORDER_STRATEGY
Property used to specify custom order strategy.- See Also:
- Constant Field Values
-
NULL_VALUES
public static final String NULL_VALUES
Property used to specify null values serialization behavior.- See Also:
- Constant Field Values
-
STRICT_IJSON
public static final String STRICT_IJSON
Property used to specify strict I-JSON serialization compliance.- See Also:
- Constant Field Values
-
PROPERTY_VISIBILITY_STRATEGY
public static final String PROPERTY_VISIBILITY_STRATEGY
Property used to specify custom visibility strategy.- See Also:
- Constant Field Values
-
ADAPTERS
public static final String ADAPTERS
Property used to specify custom mapping adapters for generic types.- See Also:
- Constant Field Values
-
SERIALIZERS
public static final String SERIALIZERS
Property used to specify custom serializers.- See Also:
- Constant Field Values
-
DESERIALIZERS
public static final String DESERIALIZERS
Property used to specify custom deserializers.- See Also:
- Constant Field Values
-
BINARY_DATA_STRATEGY
public static final String BINARY_DATA_STRATEGY
Property used to specify custom binary data strategy.- See Also:
- Constant Field Values
-
DATE_FORMAT
public static final String DATE_FORMAT
Property used to specify custom date format globally.- See Also:
- Constant Field Values
-
LOCALE
public static final String LOCALE
Property used to specify locale globally.- See Also:
- Constant Field Values
-
CREATOR_PARAMETERS_REQUIRED
public static final String CREATOR_PARAMETERS_REQUIRED
Property used to specify required creator parameters.- See Also:
- Constant Field Values
-
-
Method Detail
-
setProperty
public final JsonbConfig setProperty(String name, Object value)
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
public final Optional<Object> getProperty(String name)
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
public final Map<String,Object> getAsMap()
Return all configuration properties as an unmodifiable map.- Returns:
- All configuration properties as an unmodifiable map
-
withFormatting
public final JsonbConfig withFormatting(Boolean formatted)
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
public final JsonbConfig withNullValues(Boolean serializeNullValues)
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
public final JsonbConfig withEncoding(String encoding)
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
public final JsonbConfig withStrictIJSON(Boolean enabled)
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
public final JsonbConfig withPropertyNamingStrategy(PropertyNamingStrategy propertyNamingStrategy)
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
public final JsonbConfig withPropertyNamingStrategy(String propertyNamingStrategy)
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
public final JsonbConfig withPropertyOrderStrategy(String propertyOrderStrategy)
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
public final JsonbConfig withAdapters(JsonbAdapter... adapters)
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
public final JsonbConfig withSerializers(JsonbSerializer... serializers)
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
public final JsonbConfig withDeserializers(JsonbDeserializer... deserializers)
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
public final JsonbConfig withBinaryDataStrategy(String binaryDataStrategy)
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
public final JsonbConfig withDateFormat(String dateFormat, Locale locale)
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
public final JsonbConfig withLocale(Locale locale)
Property used to specify custom locale. Configures value ofLOCALE
property.- Parameters:
locale
- Locale, must not be null.- Returns:
- This JsonbConfig instance.
-
withCreatorParametersRequired
public final JsonbConfig withCreatorParametersRequired(boolean requiredParameters)
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.
-
-