Class LocalDateTimeCodec

  • All Implemented Interfaces:
    Codec<java.time.LocalDateTime>, Decoder<java.time.LocalDateTime>, Encoder<java.time.LocalDateTime>


    public class LocalDateTimeCodec
    extends java.lang.Object
    LocalDateTime Codec.

    Encodes and decodes LocalDateTime objects to and from DateTime. Data is stored to millisecond accuracy.

    Converts the LocalDateTime values to and from ZoneOffset.UTC.

    Note: Requires Java 8 or greater.

    Since:
    3.7
    MongoDB documentation
    reference/bson-types
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.time.LocalDateTime decode​(BsonReader reader, DecoderContext decoderContext)
      Decodes a BSON value from the given reader into an instance of the type parameter T.
      void encode​(BsonWriter writer, java.time.LocalDateTime value, EncoderContext encoderContext)
      Encode an instance of the type parameter T into a BSON value.
      java.lang.Class<java.time.LocalDateTime> getEncoderClass​()
      Returns the Class instance that this encodes.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • LocalDateTimeCodec

        public LocalDateTimeCodec​()
    • Method Detail

      • decode

        public java.time.LocalDateTime decode​(BsonReader reader,
                                              DecoderContext decoderContext)
        Description copied from interface: Decoder
        Decodes a BSON value from the given reader into an instance of the type parameter T.
        Parameters:
        reader - the BSON reader
        decoderContext - the decoder context
        Returns:
        an instance of the type parameter T.
      • encode

        public void encode​(BsonWriter writer,
                           java.time.LocalDateTime value,
                           EncoderContext encoderContext)
        Encode an instance of the type parameter T into a BSON value.

        Converts the LocalDateTime to ZoneOffset.UTC via ChronoLocalDateTime.toInstant(ZoneOffset).

        Parameters:
        writer - the BSON writer to encode into
        value - the value to encode
        encoderContext - the encoder context
        Throws:
        CodecConfigurationException - if the LocalDateTime cannot be converted to a valid Bson DateTime.
      • getEncoderClass

        public java.lang.Class<java.time.LocalDateTime> getEncoderClass​()
        Description copied from interface: Encoder
        Returns the Class instance that this encodes. This is necessary because Java does not reify generic types.
        Returns:
        the Class instance that this encodes.