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, org.optaplanner.core.api.function.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, org.optaplanner.core.api.function.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(org.optaplanner.core.api.function.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(org.optaplanner.core.api.function.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, org.optaplanner.constraint.streams.common.bi.DefaultBiJoiner<LeftJoinVar_, A> joiner, org.optaplanner.core.impl.score.stream.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, org.optaplanner.constraint.streams.common.quad.DefaultQuadJoiner<LeftJoinVarA_, LeftJoinVarB_, LeftJoinVarC_, A> joiner, org.optaplanner.core.impl.score.stream.JoinerType joinerType, int mappingIndex) <LeftJoinVarA_,LeftJoinVarB_>
PatternVariable<A,PatternVar_, Child_> filterForJoin(org.drools.model.Variable<LeftJoinVarA_> leftJoinVarA, org.drools.model.Variable<LeftJoinVarB_> leftJoinVarB, org.optaplanner.constraint.streams.common.tri.DefaultTriJoiner<LeftJoinVarA_, LeftJoinVarB_, A> joiner, org.optaplanner.core.impl.score.stream.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
-
filter
<LeftJoinVarA_,LeftJoinVarB_, Child_ filterLeftJoinVarC_> (org.optaplanner.core.api.function.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, org.optaplanner.constraint.streams.common.bi.DefaultBiJoiner<LeftJoinVar_, A> joiner, org.optaplanner.core.impl.score.stream.JoinerType joinerType, int mappingIndex) -
filterForJoin
<LeftJoinVarA_,LeftJoinVarB_> PatternVariable<A,PatternVar_, filterForJoinChild_> (org.drools.model.Variable<LeftJoinVarA_> leftJoinVarA, org.drools.model.Variable<LeftJoinVarB_> leftJoinVarB, org.optaplanner.constraint.streams.common.tri.DefaultTriJoiner<LeftJoinVarA_, LeftJoinVarB_, A> joiner, org.optaplanner.core.impl.score.stream.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, org.optaplanner.constraint.streams.common.quad.DefaultQuadJoiner<LeftJoinVarA_, LeftJoinVarB_, LeftJoinVarC_, A> joiner, org.optaplanner.core.impl.score.stream.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 DroolsNullPointerExceptionat 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, org.optaplanner.core.api.function.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, org.optaplanner.core.api.function.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()
-