Interface Codec<T>

    • Method Detail

      • className

        java.lang.String className()
        Codec native type
        Returns:
        code native return type
      • canDecode

        boolean canDecode​(ColumnDecoder column,
                          java.lang.Class<?> type)
        If codec can decode this a server datatype to a java class type
        Parameters:
        column - server datatype
        type - java return class
        Returns:
        true if codec can decode it
      • canEncode

        boolean canEncode​(java.lang.Object value)
        Can Codec encode the java object type
        Parameters:
        value - java object type
        Returns:
        true if codec can encode java type
      • decodeText

        T decodeText​(ReadableByteBuf buffer,
                     MutableInt fieldLength,
                     ColumnDecoder column,
                     java.util.Calendar cal,
                     Context context)
              throws java.sql.SQLDataException
        Decode from a mysql packet text encoded a value to codec java type
        Parameters:
        buffer - mysql packet buffer
        fieldLength - encoded value length
        column - server column metadata
        cal - calendar
        context - connection context
        Returns:
        decoded value
        Throws:
        java.sql.SQLDataException - if unexpected error occurs during decoding
      • decodeBinary

        T decodeBinary​(ReadableByteBuf buffer,
                       MutableInt fieldLength,
                       ColumnDecoder column,
                       java.util.Calendar cal,
                       Context context)
                throws java.sql.SQLDataException
        Decode from a mysql packet binary encoded a value to codec java type
        Parameters:
        buffer - mysql packet buffer
        fieldLength - encoded value length
        column - server column metadata
        cal - calendar
        context - connection context
        Returns:
        decoded value
        Throws:
        java.sql.SQLDataException - if unexpected error occurs during decoding
      • encodeText

        void encodeText​(Writer encoder,
                        Context context,
                        java.lang.Object value,
                        java.util.Calendar cal,
                        java.lang.Long length)
                 throws java.io.IOException,
                        java.sql.SQLException
        Text encode value to writer
        Parameters:
        encoder - writer
        context - connection context
        value - value to encode
        cal - calendar
        length - maximum value length
        Throws:
        java.io.IOException - if any socket error occurs
        java.sql.SQLException - if encoding error occurs
      • encodeBinary

        void encodeBinary​(Writer encoder,
                          Context context,
                          java.lang.Object value,
                          java.util.Calendar cal,
                          java.lang.Long length)
                   throws java.io.IOException,
                          java.sql.SQLException
        Binary encode value to writer
        Parameters:
        encoder - writer
        context - connection context
        value - value to encode
        cal - calendar
        length - maximum value length
        Throws:
        java.io.IOException - if any socket error occurs
        java.sql.SQLException - if encoding error occurs
      • canEncodeLongData

        default boolean canEncodeLongData()
        Indicate if can encode long data
        Returns:
        true if possible
      • encodeLongData

        default void encodeLongData​(Writer encoder,
                                    T value,
                                    java.lang.Long length)
                             throws java.io.IOException,
                                    java.sql.SQLException
        binary encoding value to a long data packet
        Parameters:
        encoder - writer
        value - value to encode
        length - maximum length value
        Throws:
        java.io.IOException - if any socket error occurs
        java.sql.SQLException - if encoding error occurs
      • encodeData

        default byte[] encodeData​(T value,
                                  java.lang.Long length)
                           throws java.io.IOException,
                                  java.sql.SQLException
        binary encoding value to a byte[]
        Parameters:
        value - value to encode
        length - maximum length value
        Returns:
        encoded value
        Throws:
        java.io.IOException - if any socket error occurs
        java.sql.SQLException - if encoding error occurs
      • getBinaryEncodeType

        int getBinaryEncodeType()
        Return server encoding data type
        Returns:
        server encoding data type