net.sourceforge.hiveevents
Class ConstraintEvaluator

java.lang.Object
  extended by net.sourceforge.hiveevents.ConstraintEvaluator

public class ConstraintEvaluator
extends java.lang.Object

Utility class to evaluate an OCL (Object Constraint Language) expression.

Author:
Jean-Francois Poilpret

Constructor Summary
ConstraintEvaluator(java.lang.String constraint, java.util.Map<java.lang.String,java.lang.Class> variableClasses)
          Build a new evaluator for a constraint expression.
 
Method Summary
 boolean evaluate(java.util.Map<java.lang.String,java.lang.Object> variables)
          Evaluates the constraint expression with actual values for all variables.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ConstraintEvaluator

public ConstraintEvaluator(java.lang.String constraint,
                           java.util.Map<java.lang.String,java.lang.Class> variableClasses)
Build a new evaluator for a constraint expression. The expression is immediately parsed and it its AST (abstract syntax tree) calculated for later evaluation with actual variable values.

Each instance is thread-safe and can thus be used by simultaneous threads to evaluate the same expression with different variable values.

Parameters:
constraint - the expression to be evaluated later
variableClasses - the classes of all variables appearing in constraint indexed by name (used for reflection checks)
Method Detail

evaluate

public boolean evaluate(java.util.Map<java.lang.String,java.lang.Object> variables)
Evaluates the constraint expression with actual values for all variables.

Parameters:
variables - values for all variables, indexed by name
Returns:
the result of the expression evaluation