Class ReaderCodec

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

public class ReaderCodec extends Object implements Codec<Reader>
Reader codec
  • Field Details

    • INSTANCE

      public static final ReaderCodec INSTANCE
      default instance
  • Constructor Details

    • ReaderCodec

      public ReaderCodec()
  • Method Details

    • 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
      Specified by:
      canDecode in interface Codec<Reader>
      Parameters:
      column - server datatype
      type - java return class
      Returns:
      true if codec can decode it
    • className

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

      public Reader decodeText(org.mariadb.jdbc.client.ReadableByteBuf buf, MutableInt length, org.mariadb.jdbc.client.ColumnDecoder column, Calendar cal, org.mariadb.jdbc.client.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<Reader>
      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
    • decodeBinary

      public Reader decodeBinary(org.mariadb.jdbc.client.ReadableByteBuf buf, MutableInt length, org.mariadb.jdbc.client.ColumnDecoder column, Calendar cal, org.mariadb.jdbc.client.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<Reader>
      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
    • canEncode

      public boolean canEncode(Object value)
      Description copied from interface: Codec
      Can Codec encode the java object type
      Specified by:
      canEncode in interface Codec<Reader>
      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 val, Calendar cal, Long maxLen) throws IOException
      Description copied from interface: Codec
      Text encode value to writer
      Specified by:
      encodeText in interface Codec<Reader>
      Parameters:
      encoder - writer
      context - connection context
      val - value to encode
      cal - calendar
      maxLen - maximum value length
      Throws:
      IOException - if any socket error occurs
    • encodeBinary

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

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

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

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

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