Skip navigation links
Hortonworks Data Platform 2.6.3
org.apache.hadoop.hbase.coprocessor

Class ColumnInterpreter<T,S,P extends Message,Q extends Message,R extends Message>

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method and Description
      abstract S add(S l1, S l2) 
      abstract T castToCellType(S response)
      The response message comes as type S.
      abstract S castToReturnType(T o)
      provides casting opportunity between the data types.
      abstract int compare(T l1, T l2)
      This takes care if either of arguments are null.
      abstract double divideForAvg(S o, java.lang.Long l)
      used for computing average of data values.
      abstract T getCellValueFromProto(Q q)
      This method gets the PB message corresponding to the cell type
      abstract T getMaxValue()
      returns the maximum value for this type T
      abstract T getMinValue() 
      abstract S getPromotedValueFromProto(R r)
      This method gets the promoted type from the proto message
      abstract Q getProtoForCellType(T t)
      This method gets the PB message corresponding to the cell type
      abstract R getProtoForPromotedType(S s)
      This method gets the PB message corresponding to the promoted type
      abstract P getRequestData()
      This method should return any additional data that is needed on the server side to construct the ColumnInterpreter.
      abstract T getValue(byte[] colFamily, byte[] colQualifier, Cell c) 
      abstract S increment(S o) 
      abstract void initialize(P msg)
      This method should initialize any field(s) of the ColumnInterpreter with a parsing of the passed message bytes (used on the server side).
      abstract S multiply(S o1, S o2) 
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ColumnInterpreter

        public ColumnInterpreter()
    • Method Detail

      • getValue

        public abstract T getValue(byte[] colFamily,
                                   byte[] colQualifier,
                                   Cell c)
                            throws java.io.IOException
        Parameters:
        colFamily -
        colQualifier -
        c -
        Returns:
        value of type T
        Throws:
        java.io.IOException
      • add

        public abstract S add(S l1,
                              S l2)
        Parameters:
        l1 -
        l2 -
        Returns:
        sum or non null value among (if either of them is null); otherwise returns a null.
      • getMaxValue

        public abstract T getMaxValue()
        returns the maximum value for this type T
        Returns:
        max
      • getMinValue

        public abstract T getMinValue()
      • multiply

        public abstract S multiply(S o1,
                                   S o2)
        Parameters:
        o1 -
        o2 -
        Returns:
        multiplication
      • increment

        public abstract S increment(S o)
        Parameters:
        o -
        Returns:
        increment
      • castToReturnType

        public abstract S castToReturnType(T o)
        provides casting opportunity between the data types.
        Parameters:
        o -
        Returns:
        cast
      • compare

        public abstract int compare(T l1,
                                    T l2)
        This takes care if either of arguments are null. returns 0 if they are equal or both are null;
        • >0 if l1 > l2 or l1 is not null and l2 is null.
        • < 0 if l1 < l2 or l1 is null and l2 is not null.
      • divideForAvg

        public abstract double divideForAvg(S o,
                                            java.lang.Long l)
        used for computing average of data values. Not providing the divide method that takes two values as it is not needed as of now.
        Parameters:
        o -
        l -
        Returns:
        Average
      • getRequestData

        public abstract P getRequestData()
        This method should return any additional data that is needed on the server side to construct the ColumnInterpreter. The server will pass this to the initialize(P) method. If there is no ColumnInterpreter specific data (for e.g., LongColumnInterpreter) then null should be returned.
        Returns:
        the PB message
      • initialize

        public abstract void initialize(P msg)
        This method should initialize any field(s) of the ColumnInterpreter with a parsing of the passed message bytes (used on the server side).
        Parameters:
        msg -
      • getProtoForCellType

        public abstract Q getProtoForCellType(T t)
        This method gets the PB message corresponding to the cell type
        Parameters:
        t -
        Returns:
        the PB message for the cell-type instance
      • getCellValueFromProto

        public abstract T getCellValueFromProto(Q q)
        This method gets the PB message corresponding to the cell type
        Parameters:
        q -
        Returns:
        the cell-type instance from the PB message
      • getProtoForPromotedType

        public abstract R getProtoForPromotedType(S s)
        This method gets the PB message corresponding to the promoted type
        Parameters:
        s -
        Returns:
        the PB message for the promoted-type instance
      • getPromotedValueFromProto

        public abstract S getPromotedValueFromProto(R r)
        This method gets the promoted type from the proto message
        Parameters:
        r -
        Returns:
        the promoted-type instance from the PB message
      • castToCellType

        public abstract T castToCellType(S response)
        The response message comes as type S. This will convert/cast it to T. In some sense, performs the opposite of castToReturnType(Object)
        Parameters:
        response -
        Returns:
        cast
Hortonworks Data Platform 2.6.3