org.apache.hadoop.hbase.coprocessor

Class ColumnInterpreter<T,S,P extends com.google.protobuf.Message,Q extends com.google.protobuf.Message,R extends com.google.protobuf.Message>

    • Constructor Detail

      • ColumnInterpreter

        public ColumnInterpreter()
    • Method Detail

      • getValue

        public abstract T getValue(byte[] colFamily,
                 byte[] colQualifier,
                 Cell c)
                            throws IOException
        Parameters:
        colFamily -
        colQualifier -
        c -
        Returns:
        value of type T
        Throws:
        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,
                          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

Copyright © 2007-2016 The Apache Software Foundation. All Rights Reserved.