Package org.mariadb.jdbc.plugin.codec
Class BlobCodec
- java.lang.Object
-
- org.mariadb.jdbc.plugin.codec.BlobCodec
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.EnumSet<DataType>COMPATIBLE_TYPESstatic BlobCodecINSTANCEdefault instance
-
Constructor Summary
Constructors Constructor Description BlobCodec()
-
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 typebooleancanEncodeLongData()Indicate if can encode long datajava.lang.StringclassName()Codec native typejava.sql.BlobdecodeBinary(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.sql.BlobdecodeText(ReadableByteBuf buf, MutableInt length, ColumnDecoder column, java.util.Calendar cal, Context context)Decode from a mysql packet text encoded a value to codec java typeprivate byte[]encode(java.io.InputStream is, java.lang.Long maxLength)voidencodeBinary(Writer encoder, Context context, java.lang.Object value, java.util.Calendar cal, java.lang.Long maxLength)Binary encode value to writerbyte[]encodeData(java.sql.Blob value, java.lang.Long maxLength)binary encoding value to a byte[]voidencodeLongData(Writer encoder, java.sql.Blob value, java.lang.Long maxLength)binary encoding value to a long data packetvoidencodeText(Writer encoder, Context context, java.lang.Object value, java.util.Calendar cal, java.lang.Long maxLength)Text encode value to writerintgetBinaryEncodeType()Return server encoding data type
-
-
-
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 java.sql.Blob 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.sql.Blob>- 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.sql.Blob 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.sql.Blob>- 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 maxLength) throws java.io.IOException, java.sql.SQLException
Description copied from interface:CodecText encode value to writer- Specified by:
encodeTextin interfaceCodec<java.sql.Blob>- Parameters:
encoder- writercontext- connection contextvalue- value to encodecal- calendarmaxLength- maximum value length- Throws:
java.io.IOException- if any socket error occursjava.sql.SQLException- if encoding 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, java.sql.SQLException
Description copied from interface:CodecBinary encode value to writer- Specified by:
encodeBinaryin interfaceCodec<java.sql.Blob>- Parameters:
encoder- writercontext- connection contextvalue- value to encodecal- calendarmaxLength- maximum value length- Throws:
java.io.IOException- if any socket error occursjava.sql.SQLException- if encoding error occurs
-
encodeLongData
public void encodeLongData(Writer encoder, java.sql.Blob value, java.lang.Long maxLength) throws java.io.IOException, java.sql.SQLException
Description copied from interface:Codecbinary encoding value to a long data packet- Specified by:
encodeLongDatain interfaceCodec<java.sql.Blob>- Parameters:
encoder- writervalue- value to encodemaxLength- maximum length value- Throws:
java.io.IOException- if any socket error occursjava.sql.SQLException- if encoding error occurs
-
encodeData
public byte[] encodeData(java.sql.Blob value, java.lang.Long maxLength) throws java.io.IOException, java.sql.SQLExceptionDescription copied from interface:Codecbinary encoding value to a byte[]- Specified by:
encodeDatain interfaceCodec<java.sql.Blob>- Parameters:
value- value to encodemaxLength- maximum length value- Returns:
- encoded value
- Throws:
java.io.IOException- if any socket error occursjava.sql.SQLException- if encoding error occurs
-
encode
private byte[] encode(java.io.InputStream is, java.lang.Long maxLength) throws java.io.IOException- Throws:
java.io.IOException
-
getBinaryEncodeType
public int getBinaryEncodeType()
Description copied from interface:CodecReturn server encoding data type- Specified by:
getBinaryEncodeTypein interfaceCodec<java.sql.Blob>- Returns:
- server encoding data type
-
canEncodeLongData
public boolean canEncodeLongData()
Description copied from interface:CodecIndicate if can encode long data- Specified by:
canEncodeLongDatain interfaceCodec<java.sql.Blob>- Returns:
- true if possible
-
-