com.bea.p13n.expression

com.bea.p13n.expression  Package

This package provides interfaces and classes for constructing and executing runtime interpreted expression trees. Expression trees can contain variables, common operators, Java literals and arbitrary method calls. This package also provides various services such as validation for validating an expression, unification for unifying an expression, and evaluation for evaluating an expression. These service can be constructed and used through the ExpressionFactory.

The expression package includes the following classes of operators:

Note: There is a special Expression class called ProxyExpression that acts as a proxy to an embedded expression.

Interface Summary

Evaluator

An interface that is implemented by the classes that can evaluate an Expression.

Executor

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

Expression

An interface implemented by all simple and complex expressions.

ExpressionList

Simple wrapper interface for List for storing sub-components of an expression.

Optimizer

The Optimizer interface is implemented by the class that can optimize an Expression.

ProxyExpression

An interface implemented by the class that need to act as a proxy to the original expression.

UnificationList

An interface for a class that maps variable names to the variable values.

Unifier

An interface implemented by classes that can unify (replace occurrences of a variable with a value) an expression.

Validator

An interface that is implemented by a class that can validate various types of expressions.

Class Summary

ExpressionFactory

A factory class to create instances of the various implementation classes in the expression package.

Exception Summary

ComparisonException

An Exception class for Comparison related exceptions.

ExpressionException

Base class for all Exceptions in the expression package.

IntrospectionException

Exception class for Java reflection introspection errors.

InvalidExpressionException

Exception class to signal Expression validation errors.

MethodCallException

Exception class for MethodCall related exceptions.

UnboundVariableException

An Exception class to signal that a variable in an expression has not been unified with a value.