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
Modifier and Type
Field
Description
`static final LocalDateTimeCodec`
`INSTANCE`
default instance
`static final DateTimeFormatter`
`MARIADB_LOCAL_DATE_TIME`
formatter
`static final DateTimeFormatter`
`TIMESTAMP_FORMAT`
timestamp with fractional part formatter
`static final DateTimeFormatter`
`TIMESTAMP_FORMAT_NO_FRACTIONAL`
timestamp without fractional part formatter

## Constructor Summary

Constructors
Constructor
Description
`LocalDateTimeCodec()`

## Method Summary

Modifier and Type
Method
Description
`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 Details

### 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 Details

### LocalDateTimeCodec

public LocalDateTimeCodec()

## Method Details

### 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