org.apache.poi.hssf.record.formula.eval
Class RelationalOperationEval

java.lang.Object
  extended by org.apache.poi.hssf.record.formula.eval.RelationalOperationEval
All Implemented Interfaces:
OperationEval
Direct Known Subclasses:
EqualEval, GreaterEqualEval, GreaterThanEval, LessEqualEval, LessThanEval, NotEqualEval

public abstract class RelationalOperationEval
extends java.lang.Object
implements OperationEval

Base class for all comparison operator evaluators

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

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.
 Eval evaluate(Eval[] operands, int srcRow, short srcCol)
          This is a description of how the relational operators apply in MS Excel.
 int getNumberOfOperands()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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 final Eval evaluate(Eval[] operands,
                           int srcRow,
                           short srcCol)
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 OperationEval
Parameters:
operands - the evaluated operation arguments. Elements of this array typically implement ValueEval. Empty values are represented with BlankEval or MissingArgEval, never null.
srcRow - row index of the cell containing the formula under evaluation
srcCol - column index of the cell containing the formula under evaluation
Returns:
The evaluated result, possibly an ErrorEval, never null.

getNumberOfOperands

public final int getNumberOfOperands()
Specified by:
getNumberOfOperands in interface OperationEval


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