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
JsonbtoJson()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
JsonbserializationtoJson()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
JsonbdeserializationfromJson()methods will default to this property encoding of input JSON data if the encoding cannot be detected.
- Since:
- JSON Binding 1.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringProperty used to specify custom mapping adapters for generic types.static final StringProperty used to specify custom binary data strategy.static final StringProperty used to specify required creator parameters.static final StringProperty used to specify custom date format globally.static final StringProperty used to specify custom deserializers.static final StringThe Jsonb serializationtoJson()methods will default to this property for encoding of output JSON data.static final StringProperty used to specify whether or not the serialized JSON data is formatted with line feeds and indentation.static final StringProperty used to specify locale globally.static final StringProperty used to specify null values serialization behavior.static final StringProperty used to specify custom naming strategy.static final StringProperty used to specify custom order strategy.static final StringProperty used to specify custom visibility strategy.static final StringProperty used to specify custom serializers.static final StringProperty used to specify strict I-JSON serialization compliance. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetAsMap()Return all configuration properties as an unmodifiable map.getProperty(String name) Return value of particular configuration property.final JsonbConfigsetProperty(String name, Object value) Set the particular configuration property to a new value.final JsonbConfigwithAdapters(JsonbAdapter... adapters) Property used to specify custom mapping adapters.final JsonbConfigwithBinaryDataStrategy(String binaryDataStrategy) Property used to specify custom binary data strategy.final JsonbConfigwithCreatorParametersRequired(boolean requiredParameters) Property used to specify whether all creator parameters should be treated as required.final JsonbConfigwithDateFormat(String dateFormat, Locale locale) Property used to specify custom date format.final JsonbConfigwithDeserializers(JsonbDeserializer... deserializers) Property used to specify custom deserializers.final JsonbConfigwithEncoding(String encoding) The binding operations will default to this property for encoding of JSON data.final JsonbConfigwithFormatting(Boolean formatted) Property used to specify whether or not the serialized JSON data is formatted with linefeeds and indentation.final JsonbConfigwithLocale(Locale locale) Property used to specify custom locale.final JsonbConfigwithNullValues(Boolean serializeNullValues) Property used to specify whether null values should be serialized to JSON document or skipped.final JsonbConfigwithPropertyNamingStrategy(PropertyNamingStrategy propertyNamingStrategy) Property used to specify custom naming strategy.final JsonbConfigwithPropertyNamingStrategy(String propertyNamingStrategy) Property used to specify custom naming strategy.final JsonbConfigwithPropertyOrderStrategy(String propertyOrderStrategy) Property used to specify property order strategy.final JsonbConfigwithPropertyVisibilityStrategy(PropertyVisibilityStrategy propertyVisibilityStrategy) Property used to specify custom property visibility strategy.final JsonbConfigwithSerializers(JsonbSerializer... serializers) Property used to specify custom serializers.final JsonbConfigwithStrictIJSON(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 ofFORMATTINGproperty.- 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_VALUESproperty.- 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 ofENCODINGproperty.- 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_IJSONproperty.- 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_STRATEGYproperty.- 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_STRATEGYproperty.- 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_STRATEGYproperty.- 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_STRATEGYproperty.- 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 ofADAPTERSproperty. 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 ofSERIALIZERSproperty. 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 ofDESERIALIZERSproperty. 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_STRATEGYproperty.- 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_FORMATandLOCALEproperties.- 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 ofLOCALEproperty.- 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.
-