Executor Interface

com.bea.p13n.expression
Executor Interface

public interface Executor

The Executor interface is implemented by a class that can perform the Unification-Validation-Evaluation cycle on an Expression.

Method Summary

public Object
execute(Expression expression, Unifier unifier, Validator validator, Evaluator evaluator)
Executes the supplied expression in a stateless/stateful mode depending on the supplied evaluator.

Method Detail

execute(Expression, Unifier, Validator, Evaluator) Method

public Object execute(Expression expression, 
                      Unifier unifier, 
                      Validator validator, 
                      Evaluator evaluator)
throws IllegalArgumentException, ExpressionException
Executes the supplied expression in a stateless/stateful mode depending on the supplied evaluator.
 The algorithm, for execution is as follows.
 UNIFICATION
 1. Unify the supplied expression if the supplied unifier is not null,
    otherwise ignore unification.
   
 VALIDATION
 2. Validate the supplied expression if the supplied validator is not null, 
    otherwise ignore validation.

 EVALUATION
 3. If the supplied evaluator is not null, then the supplied expression is evaluated 
    in the stateful or stateless mode depending on the type of the supplied evaluator.

    3a. If the supplied evaluator is null then throw IllegalArgumentException.

 4. Return the result.

 Note: IF STATELESS EVALUATOR IS PASSED THEN UNIFIER SHOULD BE NULL.
 

Parameters

expression
An Expression to be evaluated.
unifier
The Unifier that can unify the supplied expression.
validator
The Validator that can validate the supplied expression.
evaluator
The Evaluator that can evaluate/execute the supplied expression.

Returns

The result of executing the supplied expression.

Exceptions

IllegalArgumentException
If the supplied evaluator is null.
ExpressionException
If an error occurs during the execution of the supplied expression.

Related Topics

Expression
Unifier
Validator
Evaluator