Package org.mariadb.jdbc.plugin.codec
Class UtilDateCodec
- java.lang.Object
-
- org.mariadb.jdbc.plugin.codec.UtilDateCodec
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.util.EnumSet<DataType>COMPATIBLE_TYPESstatic UtilDateCodecINSTANCEdefault instance
-
Constructor Summary
Constructors Constructor Description UtilDateCodec()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancanDecode(ColumnDecoder column, java.lang.Class<?> type)If codec can decode this a server datatype to a java class typebooleancanEncode(java.lang.Object value)Can Codec encode the java object typejava.lang.StringclassName()Codec native typejava.util.DatedecodeBinary(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.util.DatedecodeText(ReadableByteBuf buf, MutableInt length, ColumnDecoder column, java.util.Calendar cal, Context context)Decode from a mysql packet text encoded a value to codec java typevoidencodeBinary(Writer encoder, Context context, java.util.Date value, java.util.Calendar providedCal, java.lang.Long maxLength)Binary encode value to writerprotected static voidencodeBinaryDate(Writer encoder, Context context, java.util.Date value, java.util.Calendar providedCal, java.lang.Long maxLength)Shared binary encoding for date/timestamp values.voidencodeText(Writer encoder, Context context, java.util.Date val, java.util.Calendar providedCal, java.lang.Long maxLen)Text encode value to writerprotected static voidencodeTextDate(Writer encoder, Context context, java.util.Date val, java.util.Calendar providedCal, java.lang.Long maxLen)Shared text encoding for date/timestamp values.intgetApproximateTextProtocolLength(java.util.Date value, java.lang.Long length)Get approximate text length, or -1 if unknownintgetBinaryEncodeType()Return server encoding data typeprotected static intgetMicroseconds(java.util.Date val)Get microseconds from a java.util.Date value.-
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 UtilDateCodec INSTANCE
default instance
-
COMPATIBLE_TYPES
protected static final java.util.EnumSet<DataType> COMPATIBLE_TYPES
-
-
Method Detail
-
className
public java.lang.String className()
Description copied from interface:CodecCodec native type
-
canDecode
public boolean canDecode(ColumnDecoder column, java.lang.Class<?> type)
Description copied from interface:CodecIf codec can decode this a server datatype to a java class type
-
canEncode
public boolean canEncode(java.lang.Object value)
Description copied from interface:CodecCan Codec encode the java object type
-
getMicroseconds
protected static int getMicroseconds(java.util.Date val)
Get microseconds from a java.util.Date value.- Parameters:
val- date value- Returns:
- microseconds
-
decodeText
public java.util.Date decodeText(ReadableByteBuf buf, MutableInt length, ColumnDecoder column, java.util.Calendar cal, Context context) throws java.sql.SQLDataException
Description copied from interface:CodecDecode from a mysql packet text encoded a value to codec java type- Specified by:
decodeTextin interfaceCodec<java.util.Date>- 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.util.Date decodeBinary(ReadableByteBuf buf, MutableInt length, ColumnDecoder column, java.util.Calendar cal, Context context) throws java.sql.SQLDataException
Description copied from interface:CodecDecode from a mysql packet binary encoded a value to codec java type- Specified by:
decodeBinaryin interfaceCodec<java.util.Date>- 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
-
encodeTextDate
protected static void encodeTextDate(Writer encoder, Context context, java.util.Date val, java.util.Calendar providedCal, java.lang.Long maxLen) throws java.io.IOException
Shared text encoding for date/timestamp values.- Parameters:
encoder- writercontext- connection contextval- date valueprovidedCal- calendarmaxLen- max length- Throws:
java.io.IOException- if socket error
-
encodeBinaryDate
protected static void encodeBinaryDate(Writer encoder, Context context, java.util.Date value, java.util.Calendar providedCal, java.lang.Long maxLength) throws java.io.IOException
Shared binary encoding for date/timestamp values.- Parameters:
encoder- writercontext- connection contextvalue- date valueprovidedCal- calendarmaxLength- max length- Throws:
java.io.IOException- if socket error
-
encodeText
public void encodeText(Writer encoder, Context context, java.util.Date val, java.util.Calendar providedCal, java.lang.Long maxLen) throws java.io.IOException
Description copied from interface:CodecText encode value to writer- Specified by:
encodeTextin interfaceCodec<java.util.Date>- Parameters:
encoder- writercontext- connection contextval- value to encodeprovidedCal- calendarmaxLen- maximum value length- Throws:
java.io.IOException- if any socket error occurs
-
getApproximateTextProtocolLength
public int getApproximateTextProtocolLength(java.util.Date value, java.lang.Long length)Description copied from interface:CodecGet approximate text length, or -1 if unknown- Specified by:
getApproximateTextProtocolLengthin interfaceCodec<java.util.Date>- Parameters:
value- parameter objectlength- max length- Returns:
- max length if known, -1 if unknown
-
encodeBinary
public void encodeBinary(Writer encoder, Context context, java.util.Date value, java.util.Calendar providedCal, java.lang.Long maxLength) throws java.io.IOException
Description copied from interface:CodecBinary encode value to writer- Specified by:
encodeBinaryin interfaceCodec<java.util.Date>- Parameters:
encoder- writercontext- connection contextvalue- value to encodeprovidedCal- calendarmaxLength- maximum value length- Throws:
java.io.IOException- if any socket error occurs
-
getBinaryEncodeType
public int getBinaryEncodeType()
Description copied from interface:CodecReturn server encoding data type- Specified by:
getBinaryEncodeTypein interfaceCodec<java.util.Date>- Returns:
- server encoding data type
-
-