java.lang.Object
org.eclipse.yasson.internal.JsonbConfigProperties
Resolved properties from JSONB config.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final String
private final JsonbDateFormatter
private final boolean
private final Class<?>
private final boolean
private final boolean
private final jakarta.json.bind.JsonbConfig
private final Locale
private final boolean
private final jakarta.json.bind.serializer.JsonbSerializer<Object>
private final jakarta.json.bind.config.PropertyNamingStrategy
private final PropertyOrdering
private final jakarta.json.bind.config.PropertyVisibilityStrategy
private final boolean
private final boolean
private final boolean
-
Constructor Summary
ConstructorsConstructorDescriptionJsonbConfigProperties
(jakarta.json.bind.JsonbConfig jsonbConfig) Creates new resolved JSONB config. -
Method Summary
Modifier and TypeMethodDescriptionChecks for binary data strategy to use.Gets instantiated shared config date formatter.boolean
Gets unknown properties flag fromJsonbConfig
.boolean
Gets nullable fromJsonbConfig
.private <T> T
getConfigProperty
(String propertyName, Class<T> propertyType, T defaultValue) Class<?>
DefaultMap
implementation to use, based on order strategy.private String
Converts string locale toLocale
.jakarta.json.bind.serializer.JsonbSerializer<Object>
jakarta.json.bind.config.PropertyNamingStrategy
Gets property naming strategy.Gets property ordering component.private String
jakarta.json.bind.config.PropertyVisibilityStrategy
Gets property visibility strategy.User type mapping for map interface to implementation classes.boolean
private String
private boolean
private Locale
Gets locale fromJsonbConfig
.private boolean
private JsonbDateFormatter
initDateFormatter
(Locale locale) private boolean
private boolean
private jakarta.json.bind.serializer.JsonbSerializer<Object>
private Consumer<List<PropertyModel>>
private jakarta.json.bind.config.PropertyNamingStrategy
private jakarta.json.bind.config.PropertyVisibilityStrategy
private boolean
private boolean
private boolean
boolean
boolean
Whether the MapToEntriesArraySerializer is selected when a null key is detected in a map.boolean
If strict IJSON patterns should be used.boolean
Makes parsing dates defaulting to zero hour, minute and second.
-
Field Details
-
PROPERTY_ORDER_STRATEGY_MAPS
-
jsonbConfig
private final jakarta.json.bind.JsonbConfig jsonbConfig -
propertyVisibilityStrategy
private final jakarta.json.bind.config.PropertyVisibilityStrategy propertyVisibilityStrategy -
propertyNamingStrategy
private final jakarta.json.bind.config.PropertyNamingStrategy propertyNamingStrategy -
propertyOrdering
-
dateFormatter
-
locale
-
binaryDataStrategy
-
nullable
private final boolean nullable -
failOnUnknownProperties
private final boolean failOnUnknownProperties -
strictIJson
private final boolean strictIJson -
zeroTimeDefaulting
private final boolean zeroTimeDefaulting -
requiredCreatorParameters
private final boolean requiredCreatorParameters -
dateInMillisecondsAsString
private final boolean dateInMillisecondsAsString -
userTypeMapping
-
defaultMapImplType
-
nullSerializer
-
eagerInitClasses
-
forceMapArraySerializerForNullKeys
private final boolean forceMapArraySerializerForNullKeys
-
-
Constructor Details
-
JsonbConfigProperties
public JsonbConfigProperties(jakarta.json.bind.JsonbConfig jsonbConfig) Creates new resolved JSONB config.- Parameters:
jsonbConfig
- jsonb config
-
-
Method Details
-
initDefaultMapImplType
-
initZeroTimeDefaultingForJavaTime
private boolean initZeroTimeDefaultingForJavaTime() -
initUserTypeMapping
-
initDateFormatter
-
getGlobalConfigJsonbDateFormat
-
initOrderStrategy
-
getPropertyOrderStrategy
-
initPropertyNamingStrategy
private jakarta.json.bind.config.PropertyNamingStrategy initPropertyNamingStrategy() -
initPropertyVisibilityStrategy
private jakarta.json.bind.config.PropertyVisibilityStrategy initPropertyVisibilityStrategy() -
initBinaryDataStrategy
-
initConfigNullable
private boolean initConfigNullable() -
initConfigFailOnUnknownProperties
private boolean initConfigFailOnUnknownProperties() -
initRequiredCreatorParameters
private boolean initRequiredCreatorParameters() -
initDateInMillisecondsAsString
private boolean initDateInMillisecondsAsString() -
initNullSerializer
-
initEagerInitClasses
-
initForceMapArraySerializerForNullKeys
private boolean initForceMapArraySerializerForNullKeys() -
getConfigNullable
public boolean getConfigNullable()Gets nullable fromJsonbConfig
. If true null values are serialized to json.- Returns:
- Configured nullable
-
getConfigFailOnUnknownProperties
public boolean getConfigFailOnUnknownProperties()Gets unknown properties flag fromJsonbConfig
. If false,JsonbException
is not thrown for deserialization, when json key cannot be mapped to class property.- Returns:
JsonbException
is risen on unknown property. Default is true even if not set in json config.
-
getConfigProperty
-
getBinaryDataStrategy
Checks for binary data strategy to use.- Returns:
- Binary data strategy.
-
getLocale
Converts string locale toLocale
.- Parameters:
locale
- Locale to convert.- Returns:
Locale
instance.
-
initConfigLocale
Gets locale fromJsonbConfig
.- Returns:
- Configured locale.
-
initStrictJson
private boolean initStrictJson() -
getPropertyVisibilityStrategy
public jakarta.json.bind.config.PropertyVisibilityStrategy getPropertyVisibilityStrategy()Gets property visibility strategy.- Returns:
- Property visibility strategy.
-
getPropertyNamingStrategy
public jakarta.json.bind.config.PropertyNamingStrategy getPropertyNamingStrategy()Gets property naming strategy.- Returns:
- Property naming strategy.
-
getConfigDateFormatter
Gets instantiated shared config date formatter.- Returns:
- Date formatter.
-
getPropertyOrdering
Gets property ordering component.- Returns:
- Component for ordering properties.
-
isStrictIJson
public boolean isStrictIJson()If strict IJSON patterns should be used.- Returns:
- if IJSON is enabled
-
getUserTypeMapping
User type mapping for map interface to implementation classes.- Returns:
- User type mapping.
-
isZeroTimeDefaulting
public boolean isZeroTimeDefaulting()Makes parsing dates defaulting to zero hour, minute and second. This will made available to parse patterns like yyyy.MM.dd to
Date
,Calendar
,Instant
LocalDate
or evenZonedDateTime
.If time zone is not set in the pattern than UTC time zone is used. So for example json value 2018.01.01 becomes 2018.01.01 00:00:00 UTC when parsed to instant
Instant
.- Returns:
- true if time should be defaulted to zero.
-
getDefaultMapImplType
DefaultMap
implementation to use, based on order strategy.- Returns:
- map impl type
-
getNullSerializer
-
hasRequiredCreatorParameters
public boolean hasRequiredCreatorParameters() -
getEagerInitClasses
-
isForceMapArraySerializerForNullKeys
public boolean isForceMapArraySerializerForNullKeys()Whether the MapToEntriesArraySerializer is selected when a null key is detected in a map.- Returns:
- false or true
-
isDateInMillisecondsAsString
public boolean isDateInMillisecondsAsString()
-