Package org.mariadb.jdbc.plugin.codec
Class ClobCodec
- java.lang.Object
-
- org.mariadb.jdbc.plugin.codec.ClobCodec
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.EnumSet<DataType>
COMPATIBLE_TYPES
static ClobCodec
INSTANCE
Default instance
-
Constructor Summary
Constructors Constructor Description ClobCodec()
-
Method Summary
All 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 typeboolean
canEncodeLongData()
Indicate if can encode long datajava.lang.String
className()
Codec native typejava.sql.Clob
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.sql.Clob
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 writerbyte[]
encodeData(java.sql.Clob value, java.lang.Long maxLength)
binary encoding value to a byte[]void
encodeLongData(Writer encoder, java.sql.Clob value, java.lang.Long maxLength)
binary encoding value to a long data packetvoid
encodeText(Writer encoder, Context context, java.lang.Object value, java.util.Calendar cal, java.lang.Long maxLength)
Text encode value to writerint
getBinaryEncodeType()
Return server encoding data typeprivate java.sql.Clob
getClob(ReadableByteBuf buf, MutableInt length, ColumnDecoder column)
-
-
-
Method Detail
-
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.sql.Clob 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.sql.Clob>
- 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
-
getClob
private java.sql.Clob getClob(ReadableByteBuf buf, MutableInt length, ColumnDecoder column) throws java.sql.SQLDataException
- Throws:
java.sql.SQLDataException
-
decodeBinary
public java.sql.Clob 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.sql.Clob>
- 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:Codec
Text encode value to writer- Specified by:
encodeText
in interfaceCodec<java.sql.Clob>
- 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:Codec
Binary encode value to writer- Specified by:
encodeBinary
in interfaceCodec<java.sql.Clob>
- 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.Clob value, java.lang.Long maxLength) throws java.io.IOException, java.sql.SQLException
Description copied from interface:Codec
binary encoding value to a long data packet- Specified by:
encodeLongData
in interfaceCodec<java.sql.Clob>
- 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.Clob value, java.lang.Long maxLength) throws java.io.IOException, java.sql.SQLException
Description copied from interface:Codec
binary encoding value to a byte[]- Specified by:
encodeData
in interfaceCodec<java.sql.Clob>
- 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
-
canEncodeLongData
public boolean canEncodeLongData()
Description copied from interface:Codec
Indicate if can encode long data- Specified by:
canEncodeLongData
in interfaceCodec<java.sql.Clob>
- Returns:
- true if possible
-
getBinaryEncodeType
public int getBinaryEncodeType()
Description copied from interface:Codec
Return server encoding data type- Specified by:
getBinaryEncodeType
in interfaceCodec<java.sql.Clob>
- Returns:
- server encoding data type
-
-