Interface PatternVariable<A,PatternVar_,Child_ extends PatternVariable<A,PatternVar_,Child_>>
public interface PatternVariable<A,PatternVar_,Child_ extends PatternVariable<A,PatternVar_,Child_>>
-
Method Summary
Modifier and TypeMethodDescriptionaddDependentExpression
(org.drools.model.view.ViewItem<?> expression) <BoundVar_>
Child_Bind a new variable.<BoundVar_,
LeftJoinVar_>
Child_bind
(org.drools.model.Variable<BoundVar_> boundVariable, org.drools.model.Variable<LeftJoinVar_> leftJoinVariable, BiFunction<A, LeftJoinVar_, BoundVar_> bindingFunction) This must only be used in patterns that will eventually end up in accumulate() or groupBy().<BoundVar_,
LeftJoinVarA_, LeftJoinVarB_, LeftJoinVarC_>
Child_bind
(org.drools.model.Variable<BoundVar_> boundVariable, org.drools.model.Variable<LeftJoinVarA_> leftJoinVariableA, org.drools.model.Variable<LeftJoinVarB_> leftJoinVariableB, org.drools.model.Variable<LeftJoinVarC_> leftJoinVariableC, QuadFunction<A, LeftJoinVarA_, LeftJoinVarB_, LeftJoinVarC_, BoundVar_> bindingFunction) As defined bybind(Variable, Variable, BiFunction)
.<BoundVar_,
LeftJoinVarA_, LeftJoinVarB_>
Child_bind
(org.drools.model.Variable<BoundVar_> boundVariable, org.drools.model.Variable<LeftJoinVarA_> leftJoinVariableA, org.drools.model.Variable<LeftJoinVarB_> leftJoinVariableB, TriFunction<A, LeftJoinVarA_, LeftJoinVarB_, BoundVar_> bindingFunction) As defined bybind(Variable, Variable, BiFunction)
.List<org.drools.model.view.ViewItem<?>>
build()
<LeftJoinVar_>
Child_filter
(BiPredicate<LeftJoinVar_, A> predicate, org.drools.model.Variable<LeftJoinVar_> leftJoinVariable) <LeftJoinVarA_,
LeftJoinVarB_, LeftJoinVarC_>
Child_filter
(QuadPredicate<LeftJoinVarA_, LeftJoinVarB_, LeftJoinVarC_, A> predicate, org.drools.model.Variable<LeftJoinVarA_> leftJoinVariableA, org.drools.model.Variable<LeftJoinVarB_> leftJoinVariableB, org.drools.model.Variable<LeftJoinVarC_> leftJoinVariableC) <LeftJoinVarA_,
LeftJoinVarB_>
Child_filter
(TriPredicate<LeftJoinVarA_, LeftJoinVarB_, A> predicate, org.drools.model.Variable<LeftJoinVarA_> leftJoinVariableA, org.drools.model.Variable<LeftJoinVarB_> leftJoinVariableB) <LeftJoinVar_>
PatternVariable<A,PatternVar_, Child_> filterForJoin
(org.drools.model.Variable<LeftJoinVar_> leftJoinVar, DefaultBiJoiner<LeftJoinVar_, A> joiner, JoinerType joinerType, int mappingIndex) <LeftJoinVarA_,
LeftJoinVarB_, LeftJoinVarC_>
PatternVariable<A,PatternVar_, Child_> filterForJoin
(org.drools.model.Variable<LeftJoinVarA_> leftJoinVarA, org.drools.model.Variable<LeftJoinVarB_> leftJoinVarB, org.drools.model.Variable<LeftJoinVarC_> leftJoinVarC, DefaultQuadJoiner<LeftJoinVarA_, LeftJoinVarB_, LeftJoinVarC_, A> joiner, JoinerType joinerType, int mappingIndex) <LeftJoinVarA_,
LeftJoinVarB_>
PatternVariable<A,PatternVar_, Child_> filterForJoin
(org.drools.model.Variable<LeftJoinVarA_> leftJoinVarA, org.drools.model.Variable<LeftJoinVarB_> leftJoinVarB, DefaultTriJoiner<LeftJoinVarA_, LeftJoinVarB_, A> joiner, JoinerType joinerType, int mappingIndex) List<org.drools.model.view.ViewItem<?>>
List<org.drools.model.view.ViewItem<?>>
org.drools.model.Variable<A>
-
Method Details
-
getPrimaryVariable
org.drools.model.Variable<A> getPrimaryVariable() -
getPrerequisiteExpressions
List<org.drools.model.view.ViewItem<?>> getPrerequisiteExpressions() -
getDependentExpressions
List<org.drools.model.view.ViewItem<?>> getDependentExpressions() -
filter
-
filter
<LeftJoinVar_> Child_ filter(BiPredicate<LeftJoinVar_, A> predicate, org.drools.model.Variable<LeftJoinVar_> leftJoinVariable) -
filter
<LeftJoinVarA_,LeftJoinVarB_> Child_ filter(TriPredicate<LeftJoinVarA_, LeftJoinVarB_, A> predicate, org.drools.model.Variable<LeftJoinVarA_> leftJoinVariableA, org.drools.model.Variable<LeftJoinVarB_> leftJoinVariableB) -
filter
<LeftJoinVarA_,LeftJoinVarB_, Child_ filterLeftJoinVarC_> (QuadPredicate<LeftJoinVarA_, LeftJoinVarB_, LeftJoinVarC_, A> predicate, org.drools.model.Variable<LeftJoinVarA_> leftJoinVariableA, org.drools.model.Variable<LeftJoinVarB_> leftJoinVariableB, org.drools.model.Variable<LeftJoinVarC_> leftJoinVariableC) -
filterForJoin
<LeftJoinVar_> PatternVariable<A,PatternVar_, filterForJoinChild_> (org.drools.model.Variable<LeftJoinVar_> leftJoinVar, DefaultBiJoiner<LeftJoinVar_, A> joiner, JoinerType joinerType, int mappingIndex) -
filterForJoin
<LeftJoinVarA_,LeftJoinVarB_> PatternVariable<A,PatternVar_, filterForJoinChild_> (org.drools.model.Variable<LeftJoinVarA_> leftJoinVarA, org.drools.model.Variable<LeftJoinVarB_> leftJoinVarB, DefaultTriJoiner<LeftJoinVarA_, LeftJoinVarB_, A> joiner, JoinerType joinerType, int mappingIndex) -
filterForJoin
<LeftJoinVarA_,LeftJoinVarB_, PatternVariable<A,LeftJoinVarC_> PatternVar_, filterForJoinChild_> (org.drools.model.Variable<LeftJoinVarA_> leftJoinVarA, org.drools.model.Variable<LeftJoinVarB_> leftJoinVarB, org.drools.model.Variable<LeftJoinVarC_> leftJoinVarC, DefaultQuadJoiner<LeftJoinVarA_, LeftJoinVarB_, LeftJoinVarC_, A> joiner, JoinerType joinerType, int mappingIndex) -
bind
<BoundVar_> Child_ bind(org.drools.model.Variable<BoundVar_> boundVariable, Function<A, BoundVar_> bindingFunction) Bind a new variable. This call is safe for use outside accumulate() and groupBy(), unlikebind(Variable, Variable, BiFunction)
etc.- Type Parameters:
BoundVar_
- generic type of the bound variable- Parameters:
boundVariable
- the new variablebindingFunction
- the function to apply to create the bound variable- Returns:
- never null
-
bind
<BoundVar_,LeftJoinVar_> Child_ bind(org.drools.model.Variable<BoundVar_> boundVariable, org.drools.model.Variable<LeftJoinVar_> leftJoinVariable, BiFunction<A, LeftJoinVar_, BoundVar_> bindingFunction) This must only be used in patterns that will eventually end up in accumulate() or groupBy(). Drools does not support binding 2+ variables outside of accumulate() or groupBy(). Disobeying will result in DroolsNullPointerException
at runtime.- Type Parameters:
BoundVar_
- generic type of the bound variableLeftJoinVar_
- generic type of the join variable- Parameters:
boundVariable
- the new variableleftJoinVariable
- the variable to use when creating the bound variablebindingFunction
- the function to apply to create the bound variable- Returns:
- never null
-
bind
<BoundVar_,LeftJoinVarA_, Child_ bindLeftJoinVarB_> (org.drools.model.Variable<BoundVar_> boundVariable, org.drools.model.Variable<LeftJoinVarA_> leftJoinVariableA, org.drools.model.Variable<LeftJoinVarB_> leftJoinVariableB, TriFunction<A, LeftJoinVarA_, LeftJoinVarB_, BoundVar_> bindingFunction) As defined bybind(Variable, Variable, BiFunction)
.- Type Parameters:
BoundVar_
- generic type of the bound variableLeftJoinVarA_
- generic type of the first join variableLeftJoinVarB_
- generic type of the second join variable- Parameters:
boundVariable
- the new variableleftJoinVariableA
- the first variable to use when creating the bound variableleftJoinVariableB
- the second variable to use when creating the bound variablebindingFunction
- the function to apply to create the bound variable- Returns:
- never null
-
bind
<BoundVar_,LeftJoinVarA_, Child_ bindLeftJoinVarB_, LeftJoinVarC_> (org.drools.model.Variable<BoundVar_> boundVariable, org.drools.model.Variable<LeftJoinVarA_> leftJoinVariableA, org.drools.model.Variable<LeftJoinVarB_> leftJoinVariableB, org.drools.model.Variable<LeftJoinVarC_> leftJoinVariableC, QuadFunction<A, LeftJoinVarA_, LeftJoinVarB_, LeftJoinVarC_, BoundVar_> bindingFunction) As defined bybind(Variable, Variable, BiFunction)
.- Type Parameters:
BoundVar_
- generic type of the bound variableLeftJoinVarA_
- generic type of the first join variableLeftJoinVarB_
- generic type of the second join variableLeftJoinVarC_
- generic type of the third join variable- Parameters:
boundVariable
- the new variableleftJoinVariableA
- the first variable to use when creating the bound variableleftJoinVariableB
- the second variable to use when creating the bound variableleftJoinVariableC
- the third variable to use when creating the bound variablebindingFunction
- the function to apply to create the bound variable- Returns:
- never null
-
addDependentExpression
-
build
List<org.drools.model.view.ViewItem<?>> build()
-