Class ClobCodec

java.lang.Object
org.mariadb.jdbc.plugin.codec.ClobCodec
All Implemented Interfaces:
Codec<Clob>

public class ClobCodec extends Object implements Codec<Clob>
Clob codec
  • Field Details

    • INSTANCE

      public static final ClobCodec INSTANCE
      Default instance
    • COMPATIBLE_TYPES

      private static final EnumSet<DataType> COMPATIBLE_TYPES
  • Constructor Details

    • ClobCodec

      public ClobCodec()
  • Method Details

    • className

      public String className()
      Description copied from interface: Codec
      Codec native type
      Specified by:
      className in interface Codec<Clob>
      Returns:
      code native return type
    • canDecode

      public boolean canDecode(ColumnDecoder column, Class<?> type)
      Description copied from interface: Codec
      If codec can decode this a server datatype to a java class type
      Specified by:
      canDecode in interface Codec<Clob>
      Parameters:
      column - server datatype
      type - java return class
      Returns:
      true if codec can decode it
    • canEncode

      public boolean canEncode(Object value)
      Description copied from interface: Codec
      Can Codec encode the java object type
      Specified by:
      canEncode in interface Codec<Clob>
      Parameters:
      value - java object type
      Returns:
      true if codec can encode java type
    • decodeText

      public Clob decodeText(ReadableByteBuf buf, MutableInt length, ColumnDecoder column, Calendar cal, Context context) throws SQLDataException
      Description copied from interface: Codec
      Decode from a mysql packet text encoded a value to codec java type
      Specified by:
      decodeText in interface Codec<Clob>
      Parameters:
      buf - mysql packet buffer
      length - encoded value length
      column - server column metadata
      cal - calendar
      context - connection context
      Returns:
      decoded value
      Throws:
      SQLDataException - if unexpected error occurs during decoding
    • getClob

      private Clob getClob(ReadableByteBuf buf, MutableInt length, ColumnDecoder column) throws SQLDataException
      Throws:
      SQLDataException
    • decodeBinary

      public Clob decodeBinary(ReadableByteBuf buf, MutableInt length, ColumnDecoder column, Calendar cal, Context context) throws SQLDataException
      Description copied from interface: Codec
      Decode from a mysql packet binary encoded a value to codec java type
      Specified by:
      decodeBinary in interface Codec<Clob>
      Parameters:
      buf - mysql packet buffer
      length - encoded value length
      column - server column metadata
      cal - calendar
      context - connection context
      Returns:
      decoded value
      Throws:
      SQLDataException - if unexpected error occurs during decoding
    • encodeText

      public void encodeText(Writer encoder, 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 interface Codec<Clob>
      Parameters:
      encoder - writer
      context - connection context
      value - value to encode
      cal - calendar
      maxLength - maximum value length
      Throws:
      IOException - if any socket error occurs
      SQLException - if encoding error occurs
    • encodeBinary

      public void encodeBinary(Writer encoder, Context context, Object value, Calendar cal, Long maxLength) throws IOException, SQLException
      Description copied from interface: Codec
      Binary encode value to writer
      Specified by:
      encodeBinary in interface Codec<Clob>
      Parameters:
      encoder - writer
      context - connection context
      value - value to encode
      cal - calendar
      maxLength - maximum value length
      Throws:
      IOException - if any socket error occurs
      SQLException - if encoding error occurs
    • encodeLongData

      public void encodeLongData(Writer encoder, Clob value, Long maxLength) throws IOException, SQLException
      Description copied from interface: Codec
      binary encoding value to a long data packet
      Specified by:
      encodeLongData in interface Codec<Clob>
      Parameters:
      encoder - writer
      value - value to encode
      maxLength - maximum length value
      Throws:
      IOException - if any socket error occurs
      SQLException - if encoding error occurs
    • encodeData

      public byte[] encodeData(Clob value, Long maxLength) throws IOException, SQLException
      Description copied from interface: Codec
      binary encoding value to a byte[]
      Specified by:
      encodeData in interface Codec<Clob>
      Parameters:
      value - value to encode
      maxLength - maximum length value
      Returns:
      encoded value
      Throws:
      IOException - if any socket error occurs
      SQLException - if encoding error occurs
    • canEncodeLongData

      public boolean canEncodeLongData()
      Description copied from interface: Codec
      Indicate if can encode long data
      Specified by:
      canEncodeLongData in interface Codec<Clob>
      Returns:
      true if possible
    • getBinaryEncodeType

      public int getBinaryEncodeType()
      Description copied from interface: Codec
      Return server encoding data type
      Specified by:
      getBinaryEncodeType in interface Codec<Clob>
      Returns:
      server encoding data type