Class DefaultFormattedTemporalSerde<T extends java.time.temporal.TemporalAccessor>

  • Type Parameters:
    T - The temporal type
    All Implemented Interfaces:
    io.micronaut.serde.Deserializer<T>, io.micronaut.serde.Serde<T>, io.micronaut.serde.Serializer<T>, TemporalSerde<T>, io.micronaut.serde.util.NullableDeserializer<T>, io.micronaut.serde.util.NullableSerde<T>
    Direct Known Subclasses:
    InstantSerde, LocalDateSerde, LocalDateTimeSerde, LocalTimeSerde, OffsetDateTimeSerde, ZonedDateTimeSerde

    public abstract class DefaultFormattedTemporalSerde<T extends java.time.temporal.TemporalAccessor>
    extends java.lang.Object
    implements TemporalSerde<T>
    Super class that can be used for the default date/time formatting.
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface io.micronaut.serde.Deserializer

        io.micronaut.serde.Deserializer.DecoderContext
      • Nested classes/interfaces inherited from interface io.micronaut.serde.Serializer

        io.micronaut.serde.Serializer.EncoderContext
    • Field Summary

      • Fields inherited from interface io.micronaut.serde.support.serdes.TemporalSerde

        UTC
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected DefaultFormattedTemporalSerde​(io.micronaut.serde.config.SerdeConfiguration configuration)
      Allows configuring a default time format for temporal date/time types.
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      T deserializeNonNull​(io.micronaut.serde.Decoder decoder, io.micronaut.serde.Deserializer.DecoderContext decoderContext, io.micronaut.core.type.Argument<? super T> type)  
      protected abstract T deserializeNonNullWithoutFormat​(io.micronaut.serde.Decoder decoder, io.micronaut.serde.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 java.time.format.DateTimeFormatter getDefaultFormatter()  
      void serialize​(io.micronaut.serde.Encoder encoder, io.micronaut.serde.Serializer.EncoderContext context, io.micronaut.core.type.Argument<? extends T> type, T value)  
      protected abstract void serializeWithoutFormat​(io.micronaut.serde.Encoder encoder, io.micronaut.serde.Serializer.EncoderContext context, T value, io.micronaut.core.type.Argument<? extends T> type)
      Serializes the given value using the passed Encoder.
      • 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

        getDefaultValue
      • Methods inherited from interface io.micronaut.serde.util.NullableDeserializer

        allowNull, deserialize
      • Methods inherited from interface io.micronaut.serde.Serializer

        isAbsent, isEmpty
    • Constructor Detail

      • DefaultFormattedTemporalSerde

        protected DefaultFormattedTemporalSerde​(@NonNull
                                                io.micronaut.serde.config.SerdeConfiguration configuration)
        Allows configuring a default time format for temporal date/time types.
        Parameters:
        configuration - The configuration
    • Method Detail

      • getDefaultFormatter

        @NonNull
        protected abstract java.time.format.DateTimeFormatter getDefaultFormatter()
        Returns:
        The default formatter.
      • serialize

        public final void serialize​(io.micronaut.serde.Encoder encoder,
                                    io.micronaut.serde.Serializer.EncoderContext context,
                                    io.micronaut.core.type.Argument<? extends T> type,
                                    T value)
                             throws java.io.IOException
        Specified by:
        serialize in interface io.micronaut.serde.Serializer<T extends java.time.temporal.TemporalAccessor>
        Throws:
        java.io.IOException
      • deserializeNonNull

        public final T deserializeNonNull​(io.micronaut.serde.Decoder decoder,
                                          io.micronaut.serde.Deserializer.DecoderContext decoderContext,
                                          io.micronaut.core.type.Argument<? super T> type)
                                   throws java.io.IOException
        Specified by:
        deserializeNonNull in interface io.micronaut.serde.util.NullableDeserializer<T extends java.time.temporal.TemporalAccessor>
        Throws:
        java.io.IOException
      • serializeWithoutFormat

        protected abstract void serializeWithoutFormat​(io.micronaut.serde.Encoder encoder,
                                                       io.micronaut.serde.Serializer.EncoderContext context,
                                                       T value,
                                                       io.micronaut.core.type.Argument<? extends T> type)
                                                throws java.io.IOException
        Serializes the given value using the passed Encoder.
        Parameters:
        encoder - The encoder to use
        context - The encoder context, never null
        value - The value, can be null
        type - Models the generic type of the value
        Throws:
        java.io.IOException - If an error occurs during serialization
      • deserializeNonNullWithoutFormat

        protected abstract T deserializeNonNullWithoutFormat​(io.micronaut.serde.Decoder decoder,
                                                             io.micronaut.serde.Deserializer.DecoderContext decoderContext,
                                                             io.micronaut.core.type.Argument<? super T> type)
                                                      throws java.io.IOException
        A method that is invoked when the value is known not to be null.
        Parameters:
        decoder - The decoder
        decoderContext - The decoder context
        type - The type
        Returns:
        The value
        Throws:
        java.io.IOException - if something goes wrong during deserialization