Package org.mariadb.jdbc.plugin.codec
Class StreamCodec
- java.lang.Object
-
- org.mariadb.jdbc.plugin.codec.StreamCodec
-
- All Implemented Interfaces:
Codec<InputStream>
public class StreamCodec extends Object implements Codec<InputStream>
InputStream codec
-
-
Field Summary
Fields Modifier and Type Field Description static StreamCodecINSTANCEdefault instance
-
Constructor Summary
Constructors Constructor Description StreamCodec()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancanDecode(org.mariadb.jdbc.client.ColumnDecoder column, Class<?> type)If codec can decode this a server datatype to a java class typebooleancanEncode(Object value)Can Codec encode the java object typebooleancanEncodeLongData()Indicate if can encode long dataStringclassName()Codec native typeInputStreamdecodeBinary(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 typeInputStreamdecodeText(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 typevoidencodeBinary(Writer encoder, Object value, Calendar cal, Long maxLength)Binary encode value to writerbyte[]encodeData(InputStream value, Long maxLength)binary encoding value to a byte[]voidencodeLongData(Writer encoder, InputStream value, Long maxLength)binary encoding value to a long data packetvoidencodeText(Writer encoder, org.mariadb.jdbc.client.Context context, Object value, Calendar cal, Long maxLen)Text encode value to writerintgetBinaryEncodeType()Return server encoding data type
-
-
-
Field Detail
-
INSTANCE
public static final StreamCodec INSTANCE
default instance
-
-
Method Detail
-
className
public String className()
Description copied from interface:CodecCodec native type- Specified by:
classNamein interfaceCodec<InputStream>- Returns:
- code native return type
-
canDecode
public boolean canDecode(org.mariadb.jdbc.client.ColumnDecoder column, Class<?> type)Description copied from interface:CodecIf codec can decode this a server datatype to a java class type- Specified by:
canDecodein interfaceCodec<InputStream>- Parameters:
column- server datatypetype- java return class- Returns:
- true if codec can decode it
-
decodeText
public InputStream decodeText(org.mariadb.jdbc.client.ReadableByteBuf buf, MutableInt length, org.mariadb.jdbc.client.ColumnDecoder column, Calendar cal) throws SQLDataException
Description copied from interface:CodecDecode from a mysql packet text encoded a value to codec java type- Specified by:
decodeTextin interfaceCodec<InputStream>- 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 InputStream decodeBinary(org.mariadb.jdbc.client.ReadableByteBuf buf, MutableInt length, org.mariadb.jdbc.client.ColumnDecoder column, Calendar cal) throws SQLDataException
Description copied from interface:CodecDecode from a mysql packet binary encoded a value to codec java type- Specified by:
decodeBinaryin interfaceCodec<InputStream>- Parameters:
buf- mysql packet bufferlength- encoded value lengthcolumn- server column metadatacal- calendar- Returns:
- decoded value
- Throws:
SQLDataException- if unexpected error occurs during decoding
-
canEncode
public boolean canEncode(Object value)
Description copied from interface:CodecCan Codec encode the java object type- Specified by:
canEncodein interfaceCodec<InputStream>- Parameters:
value- java object type- Returns:
- true if codec can encode java type
-
encodeText
public void encodeText(Writer encoder, org.mariadb.jdbc.client.Context context, Object value, Calendar cal, Long maxLen) throws IOException
Description copied from interface:CodecText encode value to writer- Specified by:
encodeTextin interfaceCodec<InputStream>- Parameters:
encoder- writercontext- connection contextvalue- value to encodecal- calendarmaxLen- maximum value length- Throws:
IOException- if any socket error occurs
-
encodeBinary
public void encodeBinary(Writer encoder, Object value, Calendar cal, Long maxLength) throws IOException
Description copied from interface:CodecBinary encode value to writer- Specified by:
encodeBinaryin interfaceCodec<InputStream>- Parameters:
encoder- writervalue- value to encodecal- calendarmaxLength- maximum value length- Throws:
IOException- if any socket error occurs
-
encodeLongData
public void encodeLongData(Writer encoder, InputStream value, Long maxLength) throws IOException
Description copied from interface:Codecbinary encoding value to a long data packet- Specified by:
encodeLongDatain interfaceCodec<InputStream>- Parameters:
encoder- writervalue- value to encodemaxLength- maximum length value- Throws:
IOException- if any socket error occurs
-
encodeData
public byte[] encodeData(InputStream value, Long maxLength) throws IOException
Description copied from interface:Codecbinary encoding value to a byte[]- Specified by:
encodeDatain interfaceCodec<InputStream>- Parameters:
value- value to encodemaxLength- maximum length value- Returns:
- encoded value
- Throws:
IOException- if any socket error occurs
-
getBinaryEncodeType
public int getBinaryEncodeType()
Description copied from interface:CodecReturn server encoding data type- Specified by:
getBinaryEncodeTypein interfaceCodec<InputStream>- Returns:
- server encoding data type
-
canEncodeLongData
public boolean canEncodeLongData()
Description copied from interface:CodecIndicate if can encode long data- Specified by:
canEncodeLongDatain interfaceCodec<InputStream>- Returns:
- true if possible
-
-