## org.apache.poi.ss.formula.eval
Class RelationalOperationEval

    java.lang.Object
      org.apache.poi.ss.formula.functions.Fixed2ArgFunction
          org.apache.poi.ss.formula.eval.RelationalOperationEval

All Implemented Interfaces:
  Function, Function2Arg

    public abstract class RelationalOperationEval

extends Fixed2ArgFunction

Base class for all comparison operator evaluators

Author:
  Amol S. Deshmukh < amolweb at ya hoo dot com >

Field Summary
`static Function` `EqualEval`
`static Function` `GreaterEqualEval`
`static Function` `GreaterThanEval`
`static Function` `LessEqualEval`
`static Function` `LessThanEval`
`static Function` `NotEqualEval`

Constructor Summary
`RelationalOperationEval()`

Method Summary
`protected abstract boolean` `convertComparisonResult(int cmpResult)` Converts a standard compare result (-1, 0, 1) to `true` or `false` according to subclass' comparison type.
`ValueEval` `evaluate(int srcRowIndex, int srcColumnIndex, ValueEval arg0, ValueEval arg1)` This is a description of how the relational operators apply in MS Excel.

Methods inherited from class org.apache.poi.ss.formula.functions.Fixed2ArgFunction
`evaluate`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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

Copyright 2012 The Apache Software Foundation or its licensors, as applicable.