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:
Eval, 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()
           
 int getType()
           
 
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

getNumberOfOperands

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

getType

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


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