Class DefaultFormattedTemporalSerde<T extends TemporalAccessor>
java.lang.Object
io.micronaut.serde.support.serdes.DefaultFormattedTemporalSerde<T>
- Type Parameters:
T
- The temporal type
- All Implemented Interfaces:
Deserializer<T>
,Serde<T>
,Serializer<T>
,TemporalSerde<T>
- Direct Known Subclasses:
InstantSerde
,LocalDateSerde
,LocalDateTimeSerde
,LocalTimeSerde
,OffsetDateTimeSerde
,ZonedDateTimeSerde
public abstract class DefaultFormattedTemporalSerde<T extends TemporalAccessor>
extends Object
implements TemporalSerde<T>
Super class that can be used for the default date/time formatting.
- Author:
- gkrocher
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.micronaut.serde.Deserializer
Deserializer.DecoderContext
Nested classes/interfaces inherited from interface io.micronaut.serde.Serializer
Serializer.EncoderContext
-
Field Summary
Fields inherited from interface io.micronaut.serde.support.serdes.TemporalSerde
UTC
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
DefaultFormattedTemporalSerde
(SerdeConfiguration configuration) Allows configuring a default time format for temporal date/time types. -
Method Summary
Modifier and TypeMethodDescriptionfinal T
deserialize
(Decoder decoder, Deserializer.DecoderContext decoderContext, io.micronaut.core.type.Argument<? super T> type) Deserializes from the current state of theDecoder
an object of typeDeserializer
.protected abstract T
deserializeNonNullWithoutFormat
(Decoder decoder, Deserializer.DecoderContext decoderContext, io.micronaut.core.type.Argument<? super T> type) A method that is invoked when the value is known not to be null.protected abstract DateTimeFormatter
final void
serialize
(Encoder encoder, Serializer.EncoderContext context, io.micronaut.core.type.Argument<? extends T> type, T value) Serializes the given value using the passedEncoder
.protected abstract void
serializeWithoutFormat
(Encoder encoder, Serializer.EncoderContext context, T value, io.micronaut.core.type.Argument<? extends T> type) Serializes the given value using the passedEncoder
.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface io.micronaut.serde.Deserializer
allowNull, getDefaultValue
Methods inherited from interface io.micronaut.serde.Serializer
isAbsent, isEmpty
Methods inherited from interface io.micronaut.serde.support.serdes.TemporalSerde
createSpecific, createSpecific, query
-
Constructor Details
-
DefaultFormattedTemporalSerde
Allows configuring a default time format for temporal date/time types.- Parameters:
configuration
- The configuration
-
-
Method Details
-
getDefaultFormatter
- Returns:
- The default formatter.
-
serialize
public final void serialize(Encoder encoder, Serializer.EncoderContext context, io.micronaut.core.type.Argument<? extends T> type, T value) throws IOException Description copied from interface:Serializer
Serializes the given value using the passedEncoder
.- Specified by:
serialize
in interfaceSerializer<T extends TemporalAccessor>
- Parameters:
encoder
- The encoder to usecontext
- The encoder context, nevernull
type
- Models the generic type of the valuevalue
- The value, can benull
- Throws:
IOException
- If an error occurs during serialization
-
deserialize
public final T deserialize(Decoder decoder, Deserializer.DecoderContext decoderContext, io.micronaut.core.type.Argument<? super T> type) throws IOException Description copied from interface:Deserializer
Deserializes from the current state of theDecoder
an object of typeDeserializer
.- Specified by:
deserialize
in interfaceDeserializer<T extends TemporalAccessor>
- Parameters:
decoder
- The decoder, nevernull
decoderContext
- The decoder context, nevernull
type
- The generic type to be deserialized- Returns:
- The deserialized object or
null
only ifDeserializer.allowNull()
returnstrue
- Throws:
IOException
- If an error occurs during deserialization of the object
-
serializeWithoutFormat
protected abstract void serializeWithoutFormat(Encoder encoder, Serializer.EncoderContext context, T value, io.micronaut.core.type.Argument<? extends T> type) throws IOException Serializes the given value using the passedEncoder
.- Parameters:
encoder
- The encoder to usecontext
- The encoder context, nevernull
value
- The value, can benull
type
- Models the generic type of the value- Throws:
IOException
- If an error occurs during serialization
-
deserializeNonNullWithoutFormat
protected abstract T deserializeNonNullWithoutFormat(Decoder decoder, Deserializer.DecoderContext decoderContext, io.micronaut.core.type.Argument<? super T> type) throws IOException A method that is invoked when the value is known not to be null.- Parameters:
decoder
- The decoderdecoderContext
- The decoder contexttype
- The type- Returns:
- The value
- Throws:
IOException
- if something goes wrong during deserialization
-