Class AbstractDateTimeDeserializer<T>
java.lang.Object
org.eclipse.yasson.internal.serializer.AbstractValueTypeDeserializer<T>
org.eclipse.yasson.internal.serializer.AbstractDateTimeDeserializer<T>
- Type Parameters:
T- date type
- All Implemented Interfaces:
javax.json.bind.serializer.JsonbDeserializer<T>
- Direct Known Subclasses:
CalendarTypeDeserializer,DateTypeDeserializer,InstantTypeDeserializer,LocalDateTimeTypeDeserializer,LocalDateTypeDeserializer,LocalTimeTypeDeserializer,OffsetDateTimeTypeDeserializer,OffsetTimeTypeDeserializer,SqlDateTypeDeserializer,SqlTimestampTypeDeserializer,XMLGregorianCalendarTypeDeserializer,ZonedDateTimeTypeDeserializer
Abstract class for converting date objects from java.time.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionAbstractDateTimeDeserializer(Class<T> clazz, Customization customization) Creates an instance. -
Method Summary
Modifier and TypeMethodDescriptiondeserialize(String jsonValue, Unmarshaller unmarshaller, Type rtType) Convert string value to object.protected abstract TfromInstant(Instant instant) Construct date object from an instant containing epoch millisecond.protected JsonbDateFormattergetJsonbDateFormatter(JsonbContext context) Returns registered deserialization jsonb date formatter.protected DateTimeFormattergetZonedFormatter(DateTimeFormatter formatter) Append UTC zone in case zone is not set on formatter.protected abstract TparseDefault(String jsonValue, Locale locale) Parse java.time date object with default formatter.protected abstract TparseWithFormatter(String jsonValue, DateTimeFormatter formatter) Parse java.time date object with provided formatter.Methods inherited from class org.eclipse.yasson.internal.serializer.AbstractValueTypeDeserializer
deserialize, getCustomization, getPropertyType
-
Field Details
-
UTC
Default zone id.
-
-
Constructor Details
-
AbstractDateTimeDeserializer
Creates an instance.- Parameters:
clazz- Class to create deserializer for.customization- Model customization.
-
-
Method Details
-
deserialize
Description copied from class:AbstractValueTypeDeserializerConvert string value to object.- Overrides:
deserializein classAbstractValueTypeDeserializer<T>- Parameters:
jsonValue- Json value.unmarshaller- Unmarshaller instance.rtType- Runtime type.- Returns:
- Deserialized object.
-
getJsonbDateFormatter
Returns registered deserialization jsonb date formatter.- Parameters:
context- context- Returns:
- date formatter
-
getZonedFormatter
Append UTC zone in case zone is not set on formatter.- Parameters:
formatter- formatter- Returns:
- zoned formatter
-
fromInstant
Construct date object from an instant containing epoch millisecond. If date object supports zone offset / zone id, system default is used and warning is logged.- Parameters:
instant- instant to construct from- Returns:
- date object
-
parseDefault
Parse java.time date object with default formatter. Different default formatter for each date object type is used.- Parameters:
jsonValue- string value to parse fromlocale- annotated locale or default- Returns:
- parsed date object
-
parseWithFormatter
Parse java.time date object with provided formatter.- Parameters:
jsonValue- string value to parse fromformatter- a formatter to use- Returns:
- parsed date object
-