Package org.mariadb.jdbc.plugin.codec
Class ByteArrayCodec
- java.lang.Object
-
- org.mariadb.jdbc.plugin.codec.ByteArrayCodec
-
-
Field Summary
Fields Modifier and Type Field Description static byte[]BINARY_PREFIXbinary prefixprivate static java.util.EnumSet<DataType>COMPATIBLE_TYPESstatic ByteArrayCodecINSTANCEdefault instance
-
Constructor Summary
Constructors Constructor Description ByteArrayCodec()
-
Method Summary
All 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 typebyte[]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 typebyte[]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 typevoidencodeBinary(Writer encoder, Context context, byte[] value, java.util.Calendar cal, java.lang.Long maxLength)Binary encode value to writervoidencodeText(Writer encoder, Context context, byte[] value, java.util.Calendar cal, java.lang.Long maxLength)Text encode value to writerintgetApproximateTextProtocolLength(byte[] value, java.lang.Long length)Get approximate text length, or -1 if unknownintgetBinaryEncodeType()Return server encoding data typeprivate byte[]getBytes(ReadableByteBuf buf, MutableInt length, ColumnDecoder column)-
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
-
BINARY_PREFIX
public static final byte[] BINARY_PREFIX
binary prefix
-
INSTANCE
public static final ByteArrayCodec INSTANCE
default instance
-
COMPATIBLE_TYPES
private 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
-
decodeText
public byte[] 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<byte[]>- 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
-
getBytes
private byte[] getBytes(ReadableByteBuf buf, MutableInt length, ColumnDecoder column) throws java.sql.SQLDataException
- Throws:
java.sql.SQLDataException
-
decodeBinary
public byte[] 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<byte[]>- 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, byte[] value, java.util.Calendar cal, java.lang.Long maxLength) throws java.io.IOException
Description copied from interface:CodecText encode value to writer- Specified by:
encodeTextin interfaceCodec<byte[]>- Parameters:
encoder- writercontext- connection contextvalue- value to encodecal- calendarmaxLength- maximum value length- Throws:
java.io.IOException- if any socket error occurs
-
getApproximateTextProtocolLength
public int getApproximateTextProtocolLength(byte[] value, java.lang.Long length)Description copied from interface:CodecGet approximate text length, or -1 if unknown- Specified by:
getApproximateTextProtocolLengthin interfaceCodec<byte[]>- Parameters:
value- parameter objectlength- max length- Returns:
- max length if known, -1 if unknown
-
encodeBinary
public void encodeBinary(Writer encoder, Context context, byte[] value, java.util.Calendar cal, java.lang.Long maxLength) throws java.io.IOException
Description copied from interface:CodecBinary encode value to writer- Specified by:
encodeBinaryin interfaceCodec<byte[]>- 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:CodecReturn server encoding data type- Specified by:
getBinaryEncodeTypein interfaceCodec<byte[]>- Returns:
- server encoding data type
-
-