Class RelationalOperationEval

    • Field Detail

      • EqualEval

        public static final Function EqualEval
      • GreaterEqualEval

        public static final Function GreaterEqualEval
      • GreaterThanEval

        public static final Function GreaterThanEval
      • LessEqualEval

        public static final Function LessEqualEval
      • LessThanEval

        public static final Function LessThanEval
      • NotEqualEval

        public static final Function NotEqualEval
    • Constructor Detail

      • RelationalOperationEval

        public RelationalOperationEval()
    • Method Detail

      • convertComparisonResult

        protected abstract boolean convertComparisonResult​(int cmpResult)
        Converts a standard compare result (-1, 0, 1) to true or false according to subclass' comparison type.
      • evaluate

        public ValueEval evaluate​(int srcRowIndex,
                                  int srcColumnIndex,
                                  ValueEval arg0,
                                  ValueEval arg1)
        This is a description of how the relational operators apply in MS Excel. Use this as a guideline when testing/implementing the evaluate methods for the relational operators Evals.
         Bool.TRUE > any number.
         Bool > any string. ALWAYS
         Bool.TRUE > Bool.FALSE
         Bool.FALSE == Blank
        
         Strings are never converted to numbers or booleans
         String > any number. ALWAYS
         Non-empty String > Blank
         Empty String == Blank
         String are sorted dictionary wise
        
         Blank > Negative numbers
         Blank == 0
         Blank < Positive numbers
         
        Specified by:
        evaluate in interface Function2Arg
      • evaluateArray

        public ValueEval evaluateArray​(ValueEval[] args,
                                       int srcRowIndex,
                                       int srcColumnIndex)
        Specified by:
        evaluateArray in interface ArrayFunction
        Parameters:
        args - the evaluated function arguments. Empty values are represented with BlankEval or MissingArgEval, never null.
        srcRowIndex - row index of the cell containing the formula under evaluation
        srcColumnIndex - column index of the cell containing the formula under evaluation
        Returns:
        The evaluated result, possibly an ErrorEval, never null. Note - Excel uses the error code #NUM! instead of IEEE NaN, so when numeric functions evaluate to Double.NaN be sure to translate the result to ErrorEval.NUM_ERROR.