org.pentaho.reporting.libraries.formula.operators
Class NotEqualOperator

java.lang.Object
  extended by org.pentaho.reporting.libraries.formula.operators.NotEqualOperator
All Implemented Interfaces:
Serializable, InfixOperator

public class NotEqualOperator
extends Object
implements InfixOperator

Creation-Date: 31.10.2006, 16:34:11

Author:
Thomas Morgner
See Also:
Serialized Form

Constructor Summary
NotEqualOperator()
           
 
Method Summary
 TypeValuePair evaluate(FormulaContext context, TypeValuePair value1, TypeValuePair value2)
          Evaluates the comptuation for both parameters.
 int getLevel()
           
 boolean isAssociative()
          Defines, whether the operation is associative.
 boolean isLeftOperation()
          Defines the bind-direction of the operator.
 String toString()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

NotEqualOperator

public NotEqualOperator()
Method Detail

evaluate

public TypeValuePair evaluate(FormulaContext context,
                              TypeValuePair value1,
                              TypeValuePair value2)
                       throws EvaluationException
Description copied from interface: InfixOperator
Evaluates the comptuation for both parameters. This method must never return null.

Specified by:
evaluate in interface InfixOperator
Returns:
Throws:
EvaluationException

getLevel

public int getLevel()
Specified by:
getLevel in interface InfixOperator

toString

public String toString()
Overrides:
toString in class Object

isLeftOperation

public boolean isLeftOperation()
Defines the bind-direction of the operator. That direction defines, in which direction a sequence of equal operators is resolved.

Specified by:
isLeftOperation in interface InfixOperator
Returns:
true, if the operation is left-binding, false if right-binding

isAssociative

public boolean isAssociative()
Defines, whether the operation is associative. For associative operations, the evaluation order does not matter, if the operation appears more than once in an expression, and therefore we can optimize them a lot better than non-associative operations (ie. merge constant parts and precompute them once).

Specified by:
isAssociative in interface InfixOperator
Returns:
true, if the operation is associative, false otherwise