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 LocalDateTimeCodecINSTANCEdefault instancestatic DateTimeFormatterMARIADB_LOCAL_DATE_TIMEformatterstatic DateTimeFormatterTIMESTAMP_FORMATtimestamp with fractional part formatterstatic DateTimeFormatterTIMESTAMP_FORMAT_NO_FRACTIONALtimestamp without fractional part formatter
-
Constructor Summary
Constructors Constructor Description LocalDateTimeCodec()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancanDecode(org.mariadb.jdbc.client.ColumnDecoder column, Class<?> type)If codec can decode this a server datatype to a java class typebooleancanEncode(Object value)Can Codec encode the java object typeStringclassName()Codec native typeLocalDateTimedecodeBinary(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 typeLocalDateTimedecodeText(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 typevoidencodeBinary(Writer encoder, Object value, Calendar cal, Long maxLength)Binary encode value to writervoidencodeText(Writer encoder, org.mariadb.jdbc.client.Context context, Object value, Calendar cal, Long maxLen)Text encode value to writerintgetBinaryEncodeType()Return server encoding data typestatic 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
-
-
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:CodecCodec native type- Specified by:
classNamein interfaceCodec<LocalDateTime>- Returns:
- code native return type
-
canDecode
public boolean canDecode(org.mariadb.jdbc.client.ColumnDecoder column, Class<?> type)Description copied from interface:CodecIf codec can decode this a server datatype to a java class type- Specified by:
canDecodein interfaceCodec<LocalDateTime>- Parameters:
column- server datatypetype- java return class- Returns:
- true if codec can decode it
-
canEncode
public boolean canEncode(Object value)
Description copied from interface:CodecCan Codec encode the java object type- Specified by:
canEncodein interfaceCodec<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:CodecDecode from a mysql packet text encoded a value to codec java type- Specified by:
decodeTextin interfaceCodec<LocalDateTime>- Parameters:
buf- mysql packet bufferlength- encoded value lengthcolumn- server column metadatacal- 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:CodecDecode from a mysql packet binary encoded a value to codec java type- Specified by:
decodeBinaryin interfaceCodec<LocalDateTime>- Parameters:
buf- mysql packet bufferlength- encoded value lengthcolumn- server column metadatacal- 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:CodecText encode value to writer- Specified by:
encodeTextin interfaceCodec<LocalDateTime>- Parameters:
encoder- writercontext- connection contextvalue- value to encodecal- calendarmaxLen- 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:CodecBinary encode value to writer- Specified by:
encodeBinaryin interfaceCodec<LocalDateTime>- Parameters:
encoder- writervalue- value to encodecal- calendarmaxLength- maximum value length- Throws:
IOException- if any socket error occurs
-
getBinaryEncodeType
public int getBinaryEncodeType()
Description copied from interface:CodecReturn server encoding data type- Specified by:
getBinaryEncodeTypein interfaceCodec<LocalDateTime>- Returns:
- server encoding data type
-
-