Package org.mariadb.jdbc.plugin.codec

## Class LocalDateTimeCodec

- java.lang.Object
- - org.mariadb.jdbc.plugin.codec.LocalDateTimeCodec

All Implemented Interfaces:
  `Codec<LocalDateTime>`

    public class LocalDateTimeCodec
    extends Object
    implements Codec<LocalDateTime>

LocalDateTime codec

### Field Summary

Fields
`static LocalDateTimeCodec` `INSTANCE` default instance
`static DateTimeFormatter` `MARIADB_LOCAL_DATE_TIME` formatter
`static DateTimeFormatter` `TIMESTAMP_FORMAT` timestamp with fractional part formatter
`static DateTimeFormatter` `TIMESTAMP_FORMAT_NO_FRACTIONAL` timestamp without fractional part formatter

### Constructor Summary

Constructors
`LocalDateTimeCodec()`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`boolean` `canDecode​(org.mariadb.jdbc.client.ColumnDecoder column, Class<?> type)` If codec can decode this a server datatype to a java class type
`boolean` `canEncode​(Object value)` Can Codec encode the java object type
`String` `className()` Codec native type
`LocalDateTime` `decodeBinary​(org.mariadb.jdbc.client.ReadableByteBuf buf, MutableInt length, org.mariadb.jdbc.client.ColumnDecoder column, Calendar cal)` Decode from a mysql packet binary encoded a value to codec java type
`LocalDateTime` `decodeText​(org.mariadb.jdbc.client.ReadableByteBuf buf, MutableInt length, org.mariadb.jdbc.client.ColumnDecoder column, Calendar cal)` Decode from a mysql packet text encoded a value to codec java type
`void` `encodeBinary​(Writer encoder, Object value, Calendar cal, Long maxLength)` Binary encode value to writer
`void` `encodeText​(Writer encoder, org.mariadb.jdbc.client.Context context, Object value, Calendar cal, Long maxLen)` Text encode value to writer
`int` `getBinaryEncodeType()` Return server encoding data type
`static int[]` `parseTimestamp​(String raw)` Parse timestamp to date/month/year int array

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.mariadb.jdbc.plugin.Codec

`canEncodeLongData, encodeData, encodeLongData`

### Field Detail

#### INSTANCE

    public static final LocalDateTimeCodec INSTANCE

default instance

#### TIMESTAMP_FORMAT

    public static final DateTimeFormatter TIMESTAMP_FORMAT

timestamp with fractional part formatter

#### TIMESTAMP_FORMAT_NO_FRACTIONAL

    public static final DateTimeFormatter TIMESTAMP_FORMAT_NO_FRACTIONAL

timestamp without fractional part formatter

#### MARIADB_LOCAL_DATE_TIME

    public static final DateTimeFormatter MARIADB_LOCAL_DATE_TIME

formatter

### Constructor Detail

#### LocalDateTimeCodec

    public LocalDateTimeCodec()

### Method Detail

#### parseTimestamp

    public static int[] parseTimestamp​(String raw)
                                throws DateTimeException

Parse timestamp to date/month/year int array

Parameters:
  `raw` - string data
Returns:
  date/month/year int array
Throws:
  `DateTimeException` - if wrong format

#### className

    public String className()

Description copied from interface: `Codec`
Codec native type

Specified by:
  `className` in interface `Codec<LocalDateTime>`
Returns:
  code native return type

#### canDecode

    public boolean canDecode​(org.mariadb.jdbc.client.ColumnDecoder column,
                             Class<?> type)

Description copied from interface: `Codec`
If codec can decode this a server datatype to a java class type

Specified by:
  `canDecode` in interface `Codec<LocalDateTime>`
Parameters:
  `column` - server datatype
  `type` - java return class
Returns:
  true if codec can decode it

#### canEncode

    public boolean canEncode​(Object value)

Description copied from interface: `Codec`
Can Codec encode the java object type

Specified by:
  `canEncode` in interface `Codec<LocalDateTime>`
Parameters:
  `value` - java object type
Returns:
  true if codec can encode java type

#### decodeText

    public LocalDateTime decodeText​(org.mariadb.jdbc.client.ReadableByteBuf buf,
                                    MutableInt length,
                                    org.mariadb.jdbc.client.ColumnDecoder column,
                                    Calendar cal)
                             throws SQLDataException

Description copied from interface: `Codec`
Decode from a mysql packet text encoded a value to codec java type

Specified by:
  `decodeText` in interface `Codec<LocalDateTime>`
Parameters:
  `buf` - mysql packet buffer
  `length` - encoded value length
  `column` - server column metadata
  `cal` - calendar
Returns:
  decoded value
Throws:
  `SQLDataException` - if unexpected error occurs during decoding

#### decodeBinary

    public LocalDateTime decodeBinary​(org.mariadb.jdbc.client.ReadableByteBuf buf,
                                      MutableInt length,
                                      org.mariadb.jdbc.client.ColumnDecoder column,
                                      Calendar cal)
                               throws SQLDataException

Description copied from interface: `Codec`
Decode from a mysql packet binary encoded a value to codec java type

Specified by:
  `decodeBinary` in interface `Codec<LocalDateTime>`
Parameters:
  `buf` - mysql packet buffer
  `length` - encoded value length
  `column` - server column metadata
  `cal` - calendar
Returns:
  decoded value
Throws:
  `SQLDataException` - if unexpected error occurs during decoding

#### encodeText

    public void encodeText​(Writer encoder,
                           org.mariadb.jdbc.client.Context context,
                           Object value,
                           Calendar cal,
                           Long maxLen)
                    throws IOException

Description copied from interface: `Codec`
Text encode value to writer

Specified by:
  `encodeText` in interface `Codec<LocalDateTime>`
Parameters:
  `encoder` - writer
  `context` - connection context
  `value` - value to encode
  `cal` - calendar
  `maxLen` - maximum value length
Throws:
  `IOException` - if any socket error occurs

#### encodeBinary

    public void encodeBinary​(Writer encoder,
                             Object value,
                             Calendar cal,
                             Long maxLength)
                      throws IOException

Description copied from interface: `Codec`
Binary encode value to writer

Specified by:
  `encodeBinary` in interface `Codec<LocalDateTime>`
Parameters:
  `encoder` - writer
  `value` - value to encode
  `cal` - calendar
  `maxLength` - maximum value length
Throws:
  `IOException` - if any socket error occurs

#### getBinaryEncodeType

    public int getBinaryEncodeType()

Description copied from interface: `Codec`
Return server encoding data type

Specified by:
  `getBinaryEncodeType` in interface `Codec<LocalDateTime>`
Returns:
  server encoding data type