See: Description
Interface | Description |
---|---|
ExpressionChildrenMatcher |
An
ExpressionChildrenMatcher describes how to match the children of a PlannerExpression (i.e., the
references returned by the PlannerExpression.getPlannerExpressionChildren() method). |
ExpressionMatcher<T extends Bindable> |
A
ExpressionMatcher is an expression that can be matched against a
PlannerExpression tree, while binding certain expressions/references in the tree to expression matcher objects. |
Class | Description |
---|---|
AllChildrenMatcher |
An expression children matcher that tries to match all children to a single
ExpressionMatcher . |
AnyChildMatcher |
An expression children matcher that tries to match any child to the given
ExpressionMatcher , producing a
stream of bindings that is the concatenation of the (possibly empty) streams of bindings from attempting to match each
child to the given matcher. |
AnyChildWithRestMatcher<T extends PlannerExpression> |
An expression matcher that tries to match any child to the given
ExpressionMatcher while providing a
ReferenceMatcher binding to all other children. |
ListChildrenMatcher |
A matcher for a children that tries to match each child to a specified matcher.
|
PlannerBindings |
A map-like structure that supports a map from a binding to a collection of
Bindable s, such as
PlannerExpression s and ExpressionRef s. |
PlannerBindings.Builder |
A mutable builder for a set of
PlannerBindings which can be used to incrementally build up a set of
bindings without repeatedly calling PlannerBindings.mergedWith(PlannerBindings) , which is less efficient. |
ReferenceMatcher<T extends PlannerExpression> |
An expression matcher that matches against any reference at all.
|
TypeMatcher<T extends PlannerExpression> |
A matcher that is specified by the class of its expression: to match any of several types of expressions, they must all
implement a common interface (which itself extends
PlannerExpression ). |
The Cascades
planner is based on a system of rules, each of which is
defined by a matcher expression and a method that is applied when an expression matches a given matcher expression.
A matcher is represented by an implementation of the ExpressionMatcher
interface and is responsible for inspecting the structure of a planner expression, determining
whether it matches an expression, and providing bindings to access particular substructures of the expression during
the execution of the rule. These bindings are exposed by the PlannerBindings
class.