Class AbstractDateSerializer<T>
java.lang.Object
org.eclipse.yasson.internal.serializer.types.TypeSerializer<T>
org.eclipse.yasson.internal.serializer.types.AbstractDateSerializer<T>
- All Implemented Interfaces:
ModelSerializer
- Direct Known Subclasses:
CalendarSerializer, DateSerializer, InstantSerializer, LocalDateSerializer, LocalDateTimeSerializer, LocalTimeSerializer, MonthDayTypeSerializer, OffsetDateTimeSerializer, OffsetTimeSerializer, SqlTimestampSerializer, XmlGregorianCalendarSerializer, YearMonthTypeSerializer, ZonedDateTimeSerializer
Base for all date related serializers.
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) static final ZoneIdprivate final BiConsumer<T, jakarta.json.stream.JsonGenerator> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract StringformatDefault(T value, Locale locale) Format with default formatter for a given java.time date object.protected StringformatStrictIJson(T value) Format date object as strict IJson date format.protected StringformatWithFormatter(T value, DateTimeFormatter formatter) Format date object with given formatter.private JsonbDateFormattergetJsonbDateFormatter(JsonbConfigProperties properties, Customization customization) protected DateTimeFormattergetZonedFormatter(DateTimeFormatter formatter) Append UTC zone in case zone is not set on formatter.(package private) voidserializeKey(T key, jakarta.json.stream.JsonGenerator generator, SerializationContextImpl context) (package private) voidserializeValue(T value, jakarta.json.stream.JsonGenerator generator, SerializationContextImpl context) protected abstract InstantConvert java.time object to epoch milliseconds instant.protected TemporalAccessortoTemporalAccessor(T value) Convert date object toTemporalAccessorOnly for legacy dates.valueSerializer(TypeSerializerBuilder serializerBuilder) Methods inherited from class TypeSerializer
serialize
-
Field Details
-
UTC
-
toStringSerializer
-
valueWriter
-
-
Constructor Details
-
AbstractDateSerializer
AbstractDateSerializer(TypeSerializerBuilder serializerBuilder)
-
-
Method Details
-
valueSerializer
-
getJsonbDateFormatter
private JsonbDateFormatter getJsonbDateFormatter(JsonbConfigProperties properties, Customization customization) -
toTemporalAccessor
Convert date object toTemporalAccessorOnly for legacy dates.- Parameters:
value- date object- Returns:
- converted
TemporalAccessor
-
toInstant
-
formatDefault
Format with default formatter for a given java.time date object. Different default formatter for each date object type is used.- Parameters:
value- date objectlocale- locale from annotation / default not null- Returns:
- formatted date obj as string
-
formatWithFormatter
Format date object with given formatter.- Parameters:
value- date object to formatformatter- formatter to format with- Returns:
- formatted result
-
formatStrictIJson
-
getZonedFormatter
Append UTC zone in case zone is not set on formatter.- Parameters:
formatter- formatter- Returns:
- zoned formatter
-
serializeValue
void serializeValue(T value, jakarta.json.stream.JsonGenerator generator, SerializationContextImpl context) - Specified by:
serializeValuein classTypeSerializer<T>
-
serializeKey
void serializeKey(T key, jakarta.json.stream.JsonGenerator generator, SerializationContextImpl context) - Overrides:
serializeKeyin classTypeSerializer<T>
-