Package org.mariadb.jdbc.plugin.codec
Class BlobCodec
- java.lang.Object
-
- org.mariadb.jdbc.plugin.codec.BlobCodec
-
-
Constructor Summary
Constructors Constructor Description BlobCodec()
-
Method Summary
All Methods Instance Methods Concrete Methods 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 typeboolean
canEncode(Object value)
Can Codec encode the java object typeboolean
canEncodeLongData()
Indicate if can encode long dataString
className()
Codec native typeBlob
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 typeBlob
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 typevoid
encodeBinary(Writer encoder, Object value, Calendar cal, Long maxLength)
Binary encode value to writerbyte[]
encodeData(Blob value, Long maxLength)
binary encoding value to a byte[]void
encodeLongData(Writer encoder, Blob value, Long maxLength)
binary encoding value to a long data packetvoid
encodeText(Writer encoder, org.mariadb.jdbc.client.Context context, Object value, Calendar cal, Long maxLength)
Text encode value to writerint
getBinaryEncodeType()
Return server encoding data type
-
-
-
Field Detail
-
INSTANCE
public static final BlobCodec INSTANCE
default instance
-
-
Method Detail
-
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
-
canEncode
public boolean canEncode(Object value)
Description copied from interface:Codec
Can Codec encode the java object type
-
decodeText
public Blob 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 interfaceCodec<Blob>
- 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 Blob 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 interfaceCodec<Blob>
- 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 maxLength) throws IOException, SQLException
Description copied from interface:Codec
Text encode value to writer- Specified by:
encodeText
in interfaceCodec<Blob>
- Parameters:
encoder
- writercontext
- connection contextvalue
- value to encodecal
- calendarmaxLength
- maximum value length- Throws:
IOException
- if any socket error occursSQLException
- if encoding error occurs
-
encodeBinary
public void encodeBinary(Writer encoder, Object value, Calendar cal, Long maxLength) throws IOException, SQLException
Description copied from interface:Codec
Binary encode value to writer- Specified by:
encodeBinary
in interfaceCodec<Blob>
- Parameters:
encoder
- writervalue
- value to encodecal
- calendarmaxLength
- maximum value length- Throws:
IOException
- if any socket error occursSQLException
- if encoding error occurs
-
encodeLongData
public void encodeLongData(Writer encoder, Blob value, Long maxLength) throws IOException, SQLException
Description copied from interface:Codec
binary encoding value to a long data packet- Specified by:
encodeLongData
in interfaceCodec<Blob>
- Parameters:
encoder
- writervalue
- value to encodemaxLength
- maximum length value- Throws:
IOException
- if any socket error occursSQLException
- if encoding error occurs
-
encodeData
public byte[] encodeData(Blob value, Long maxLength) throws IOException, SQLException
Description copied from interface:Codec
binary encoding value to a byte[]- Specified by:
encodeData
in interfaceCodec<Blob>
- Parameters:
value
- value to encodemaxLength
- maximum length value- Returns:
- encoded value
- Throws:
IOException
- if any socket error occursSQLException
- if encoding error occurs
-
getBinaryEncodeType
public int getBinaryEncodeType()
Description copied from interface:Codec
Return server encoding data type- Specified by:
getBinaryEncodeType
in interfaceCodec<Blob>
- Returns:
- server encoding data type
-
canEncodeLongData
public boolean canEncodeLongData()
Description copied from interface:Codec
Indicate if can encode long data- Specified by:
canEncodeLongData
in interfaceCodec<Blob>
- Returns:
- true if possible
-
-