Package org.drools.core.reteoo.builder
Class PatternBuilder
- java.lang.Object
-
- org.drools.core.reteoo.builder.PatternBuilder
-
- All Implemented Interfaces:
ReteooComponentBuilder
public class PatternBuilder extends Object implements ReteooComponentBuilder
A builder for patterns
-
-
Constructor Summary
Constructors Constructor Description PatternBuilder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
attachAlphaNodes(BuildContext context, BuildUtils utils, Pattern pattern, List<AlphaNodeFieldConstraint> alphaConstraints)
void
build(BuildContext context, BuildUtils utils, RuleConditionElement rce)
Builds and attach if needed the given RuleConditionalElementprotected void
buildAlphaNodeChain(BuildContext context, BuildUtils utils, Pattern pattern, List<AlphaNodeFieldConstraint> alphaConstraints)
protected void
linkAlphaConstraint(AlphaNodeFieldConstraint constraint, List<AlphaNodeFieldConstraint> alphaConstraints)
protected void
linkBetaConstraint(BetaNodeFieldConstraint constraint, List<BetaNodeFieldConstraint> betaConstraints)
boolean
requiresLeftActivation(BuildUtils utils, RuleConditionElement rce)
A boolean function that indicates if the builder requires a previous left (tuple) activation in order to corretly build the given component.
-
-
-
Method Detail
-
build
public void build(BuildContext context, BuildUtils utils, RuleConditionElement rce)
Description copied from interface:ReteooComponentBuilder
Builds and attach if needed the given RuleConditionalElement- Specified by:
build
in interfaceReteooComponentBuilder
- Parameters:
context
- current build context
-
linkBetaConstraint
protected void linkBetaConstraint(BetaNodeFieldConstraint constraint, List<BetaNodeFieldConstraint> betaConstraints)
-
linkAlphaConstraint
protected void linkAlphaConstraint(AlphaNodeFieldConstraint constraint, List<AlphaNodeFieldConstraint> alphaConstraints)
-
attachAlphaNodes
public void attachAlphaNodes(BuildContext context, BuildUtils utils, Pattern pattern, List<AlphaNodeFieldConstraint> alphaConstraints) throws InvalidPatternException
- Throws:
InvalidPatternException
-
buildAlphaNodeChain
protected void buildAlphaNodeChain(BuildContext context, BuildUtils utils, Pattern pattern, List<AlphaNodeFieldConstraint> alphaConstraints)
-
requiresLeftActivation
public boolean requiresLeftActivation(BuildUtils utils, RuleConditionElement rce)
Description copied from interface:ReteooComponentBuilder
A boolean function that indicates if the builder requires a previous left (tuple) activation in order to corretly build the given component. In other words, if it returns true and no previous TupleSource is already created, an InitialFact pattern must be added with appropriate left input adapter for the network to be correctly built. For instance, NOT / EXISTS / ACCUMULATE are examples of builders that must return true for this method, while PATTERN must return false.- Specified by:
requiresLeftActivation
in interfaceReteooComponentBuilder
rce
- the element to be built- Returns:
- true if a tuple source is required, false otherwise.
-
-