net.christopherschultz.evaluator.function
Class ShortCircuitOr

java.lang.Object
  extended by net.christopherschultz.evaluator.function.ShortCircuitOr
All Implemented Interfaces:
Function

public class ShortCircuitOr
extends Object
implements Function

Implements a short-circuit boolean OR operation for an arbitrary number of arguments.

In a short-circuit boolean operation, arguments are evaluated in a left-to-right fashion, stopping at the fist argument that fails to meet the criteria. For example, an AND operation would immediately return FALSE at the first FALSE argument that was encountered. Likewise, an OR operation would immediately return TRUE at the first TRUE argument that was encountered.

If a null is encountered before the operation can determine a value (possibly by short-circuiting), then null is returned.

Version:
$Revision: 1.5 $ $Date: 2008-06-20 22:58:48 $
Author:
Chris Schultz

Constructor Summary
ShortCircuitOr()
          Creates a new ShortCircuitOr object.
 
Method Summary
 Object call(EvaluationContext ec, String functionName, List argumentExpressions)
          Invokes the function with the specified argument expressions in the specified evaluation context.
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ShortCircuitOr

public ShortCircuitOr()
Creates a new ShortCircuitOr object.

Method Detail

call

public Object call(EvaluationContext ec,
                   String functionName,
                   List argumentExpressions)
            throws EvaluationException
Description copied from interface: Function
Invokes the function with the specified argument expressions in the specified evaluation context.

Specified by:
call in interface Function
Parameters:
ec - The EvaluationContext in which this function is being called.
functionName - The name of the function being called.
argumentExpressions - The expressions which, when evaluated, result in the arguments to the function.
Returns:
The result of the function.
Throws:
EvaluationException - If there is a problem evaluating any of the arguments' expressions, or if there is an error during function execution.

toString

public String toString()
Overrides:
toString in class Object