Package org.mariadb.jdbc.plugin.codec
Class LocalDateTimeCodec
- java.lang.Object
-
- org.mariadb.jdbc.plugin.codec.LocalDateTimeCodec
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.EnumSet<DataType>
COMPATIBLE_TYPES
static LocalDateTimeCodec
INSTANCE
default instancestatic java.time.format.DateTimeFormatter
MARIADB_LOCAL_DATE_TIME
formatterstatic java.time.format.DateTimeFormatter
TIMESTAMP_FORMAT
timestamp with fractional part formatterstatic java.time.format.DateTimeFormatter
TIMESTAMP_FORMAT_NO_FRACTIONAL
timestamp 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 boolean
canDecode(ColumnDecoder column, java.lang.Class<?> type)
If codec can decode this a server datatype to a java class typeboolean
canEncode(java.lang.Object value)
Can Codec encode the java object typejava.lang.String
className()
Codec native typejava.time.LocalDateTime
decodeBinary(ReadableByteBuf buf, MutableInt length, ColumnDecoder column, java.util.Calendar cal, Context context)
Decode from a mysql packet binary encoded a value to codec java typejava.time.LocalDateTime
decodeText(ReadableByteBuf buf, MutableInt length, ColumnDecoder column, java.util.Calendar cal, Context context)
Decode from a mysql packet text encoded a value to codec java typevoid
encodeBinary(Writer encoder, Context context, java.lang.Object value, java.util.Calendar cal, java.lang.Long maxLength)
Binary encode value to writervoid
encodeText(Writer encoder, Context context, java.lang.Object value, java.util.Calendar cal, java.lang.Long maxLen)
Text encode value to writerint
getBinaryEncodeType()
Return server encoding data typestatic int[]
parseTimestamp(java.lang.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 java.time.format.DateTimeFormatter TIMESTAMP_FORMAT
timestamp with fractional part formatter
-
TIMESTAMP_FORMAT_NO_FRACTIONAL
public static final java.time.format.DateTimeFormatter TIMESTAMP_FORMAT_NO_FRACTIONAL
timestamp without fractional part formatter
-
MARIADB_LOCAL_DATE_TIME
public static final java.time.format.DateTimeFormatter MARIADB_LOCAL_DATE_TIME
formatter
-
COMPATIBLE_TYPES
private static final java.util.EnumSet<DataType> COMPATIBLE_TYPES
-
-
Method Detail
-
parseTimestamp
public static int[] parseTimestamp(java.lang.String raw) throws java.time.DateTimeException
Parse timestamp to date/month/year int array- Parameters:
raw
- string data- Returns:
- date/month/year int array
- Throws:
java.time.DateTimeException
- if wrong format
-
className
public java.lang.String className()
Description copied from interface:Codec
Codec native type
-
canDecode
public boolean canDecode(ColumnDecoder column, java.lang.Class<?> type)
Description copied from interface:Codec
If codec can decode this a server datatype to a java class type
-
canEncode
public boolean canEncode(java.lang.Object value)
Description copied from interface:Codec
Can Codec encode the java object type
-
decodeText
public java.time.LocalDateTime decodeText(ReadableByteBuf buf, MutableInt length, ColumnDecoder column, java.util.Calendar cal, Context context) throws java.sql.SQLDataException
Description copied from interface:Codec
Decode from a mysql packet text encoded a value to codec java type- Specified by:
decodeText
in interfaceCodec<java.time.LocalDateTime>
- Parameters:
buf
- mysql packet bufferlength
- encoded value lengthcolumn
- server column metadatacal
- calendarcontext
- connection context- Returns:
- decoded value
- Throws:
java.sql.SQLDataException
- if unexpected error occurs during decoding
-
decodeBinary
public java.time.LocalDateTime decodeBinary(ReadableByteBuf buf, MutableInt length, ColumnDecoder column, java.util.Calendar cal, Context context) throws java.sql.SQLDataException
Description copied from interface:Codec
Decode from a mysql packet binary encoded a value to codec java type- Specified by:
decodeBinary
in interfaceCodec<java.time.LocalDateTime>
- Parameters:
buf
- mysql packet bufferlength
- encoded value lengthcolumn
- server column metadatacal
- calendarcontext
- connection context- Returns:
- decoded value
- Throws:
java.sql.SQLDataException
- if unexpected error occurs during decoding
-
encodeText
public void encodeText(Writer encoder, Context context, java.lang.Object value, java.util.Calendar cal, java.lang.Long maxLen) throws java.io.IOException
Description copied from interface:Codec
Text encode value to writer- Specified by:
encodeText
in interfaceCodec<java.time.LocalDateTime>
- Parameters:
encoder
- writercontext
- connection contextvalue
- value to encodecal
- calendarmaxLen
- maximum value length- Throws:
java.io.IOException
- if any socket error occurs
-
encodeBinary
public void encodeBinary(Writer encoder, Context context, java.lang.Object value, java.util.Calendar cal, java.lang.Long maxLength) throws java.io.IOException
Description copied from interface:Codec
Binary encode value to writer- Specified by:
encodeBinary
in interfaceCodec<java.time.LocalDateTime>
- Parameters:
encoder
- writercontext
- connection contextvalue
- value to encodecal
- calendarmaxLength
- maximum value length- Throws:
java.io.IOException
- if any socket error occurs
-
getBinaryEncodeType
public int getBinaryEncodeType()
Description copied from interface:Codec
Return server encoding data type- Specified by:
getBinaryEncodeType
in interfaceCodec<java.time.LocalDateTime>
- Returns:
- server encoding data type
-
-