Class TriLeftHandSide<A,B,C>
- java.lang.Object
-
- org.optaplanner.core.impl.score.stream.drools.common.TriLeftHandSide<A,B,C>
-
- Type Parameters:
A- generic type of the first resulting variableB- generic type of the second resulting variableC- generic type of the third resulting variable
public final class TriLeftHandSide<A,B,C> extends Object
Represents the left hand side of a Drools rule, the result of which are three variables. For more, seeUniLeftHandSideandBiLeftHandSide.
-
-
Field Summary
Fields Modifier and Type Field Description protected DroolsVariableFactoryvariableFactory
-
Constructor Summary
Constructors Modifier Constructor Description protectedTriLeftHandSide(PatternVariable<A,?,?> patternVariableA, PatternVariable<B,?,?> patternVariableB, PatternVariable<C,?,?> patternVariableC, DroolsVariableFactory variableFactory)protectedTriLeftHandSide(TriLeftHandSide<A,B,C> leftHandSide, PatternVariable<C,?,?> patternVariable)protectedTriLeftHandSide(org.optaplanner.core.impl.score.stream.drools.common.TriRuleContext<A,B,C> ruleContext, PatternVariable<A,?,?> patternVariableA, PatternVariable<B,?,?> patternVariableB, PatternVariable<C,?,?> patternVariableC, DroolsVariableFactory variableFactory)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description <D> TriLeftHandSide<A,B,C>andExists(Class<D> dClass, QuadJoiner<A,B,C,D>[] joiners)TriLeftHandSide<A,B,C>andFilter(TriPredicate<A,B,C> predicate)<NewA> UniLeftHandSide<NewA>andGroupBy(TriFunction<A,B,C,NewA> keyMapping)<NewA,NewB>
BiLeftHandSide<NewA,NewB>andGroupBy(TriFunction<A,B,C,NewA> keyMappingA, TriFunction<A,B,C,NewB> keyMappingB)<NewA,NewB,NewC>
TriLeftHandSide<NewA,NewB,NewC>andGroupBy(TriFunction<A,B,C,NewA> keyMappingA, TriFunction<A,B,C,NewB> keyMappingB, TriConstraintCollector<A,B,C,?,NewC> collectorC)<NewA,NewB,NewC,NewD>
QuadLeftHandSide<NewA,NewB,NewC,NewD>andGroupBy(TriFunction<A,B,C,NewA> keyMappingA, TriFunction<A,B,C,NewB> keyMappingB, TriConstraintCollector<A,B,C,?,NewC> collectorC, TriConstraintCollector<A,B,C,?,NewD> collectorD)<NewA,NewB>
BiLeftHandSide<NewA,NewB>andGroupBy(TriFunction<A,B,C,NewA> keyMappingA, TriConstraintCollector<A,B,C,?,NewB> collectorB)<NewA,NewB,NewC>
TriLeftHandSide<NewA,NewB,NewC>andGroupBy(TriFunction<A,B,C,NewA> keyMappingA, TriConstraintCollector<A,B,C,?,NewB> collectorB, TriConstraintCollector<A,B,C,?,NewC> collectorC)<NewA,NewB,NewC,NewD>
QuadLeftHandSide<NewA,NewB,NewC,NewD>andGroupBy(TriFunction<A,B,C,NewA> keyMappingA, TriConstraintCollector<A,B,C,?,NewB> collectorB, TriConstraintCollector<A,B,C,?,NewC> collectorC, TriConstraintCollector<A,B,C,?,NewD> collectorD)<NewA> UniLeftHandSide<NewA>andGroupBy(TriConstraintCollector<A,B,C,?,NewA> collector)<NewA,NewB>
BiLeftHandSide<NewA,NewB>andGroupBy(TriConstraintCollector<A,B,C,?,NewA> collectorA, TriConstraintCollector<A,B,C,?,NewB> collectorB)<NewA,NewB,NewC>
TriLeftHandSide<NewA,NewB,NewC>andGroupBy(TriConstraintCollector<A,B,C,?,NewA> collectorA, TriConstraintCollector<A,B,C,?,NewB> collectorB, TriConstraintCollector<A,B,C,?,NewC> collectorC)<NewA,NewB,NewC,NewD>
QuadLeftHandSide<NewA,NewB,NewC,NewD>andGroupBy(TriConstraintCollector<A,B,C,?,NewA> collectorA, TriConstraintCollector<A,B,C,?,NewB> collectorB, TriConstraintCollector<A,B,C,?,NewC> collectorC, TriConstraintCollector<A,B,C,?,NewD> collectorD)<D> QuadLeftHandSide<A,B,C,D>andJoin(UniLeftHandSide<D> right, QuadJoiner<A,B,C,D> joiner)<D> TriLeftHandSide<A,B,C>andNotExists(Class<D> dClass, QuadJoiner<A,B,C,D>[] joiners)<Solution_>
RuleBuilder<Solution_>andTerminate()<Solution_>
RuleBuilder<Solution_>andTerminate(ToIntTriFunction<A,B,C> matchWeighter)<Solution_>
RuleBuilder<Solution_>andTerminate(ToLongTriFunction<A,B,C> matchWeighter)<Solution_>
RuleBuilder<Solution_>andTerminate(TriFunction<A,B,C,BigDecimal> matchWeighter)protected static org.drools.model.Index.ConstraintTypegetConstraintType(JoinerType type)protected PatternVariable<A,?,?>getPatternVariableA()protected PatternVariable<B,?,?>getPatternVariableB()protected PatternVariable<C,?,?>getPatternVariableC()protected static org.drools.model.view.ViewItem<?>joinViewItemsWithLogicalAnd(PatternVariable<?,?,?>... patternVariables)
-
-
-
Field Detail
-
variableFactory
protected final DroolsVariableFactory variableFactory
-
-
Constructor Detail
-
TriLeftHandSide
protected TriLeftHandSide(PatternVariable<A,?,?> patternVariableA, PatternVariable<B,?,?> patternVariableB, PatternVariable<C,?,?> patternVariableC, DroolsVariableFactory variableFactory)
-
TriLeftHandSide
protected TriLeftHandSide(org.optaplanner.core.impl.score.stream.drools.common.TriRuleContext<A,B,C> ruleContext, PatternVariable<A,?,?> patternVariableA, PatternVariable<B,?,?> patternVariableB, PatternVariable<C,?,?> patternVariableC, DroolsVariableFactory variableFactory)
-
TriLeftHandSide
protected TriLeftHandSide(TriLeftHandSide<A,B,C> leftHandSide, PatternVariable<C,?,?> patternVariable)
-
-
Method Detail
-
getPatternVariableA
protected PatternVariable<A,?,?> getPatternVariableA()
-
getPatternVariableB
protected PatternVariable<B,?,?> getPatternVariableB()
-
getPatternVariableC
protected PatternVariable<C,?,?> getPatternVariableC()
-
andFilter
public TriLeftHandSide<A,B,C> andFilter(TriPredicate<A,B,C> predicate)
-
andExists
public <D> TriLeftHandSide<A,B,C> andExists(Class<D> dClass, QuadJoiner<A,B,C,D>[] joiners)
-
andNotExists
public <D> TriLeftHandSide<A,B,C> andNotExists(Class<D> dClass, QuadJoiner<A,B,C,D>[] joiners)
-
andJoin
public <D> QuadLeftHandSide<A,B,C,D> andJoin(UniLeftHandSide<D> right, QuadJoiner<A,B,C,D> joiner)
-
andGroupBy
public <NewA> UniLeftHandSide<NewA> andGroupBy(TriConstraintCollector<A,B,C,?,NewA> collector)
-
andGroupBy
public <NewA,NewB> BiLeftHandSide<NewA,NewB> andGroupBy(TriConstraintCollector<A,B,C,?,NewA> collectorA, TriConstraintCollector<A,B,C,?,NewB> collectorB)
-
andGroupBy
public <NewA,NewB,NewC> TriLeftHandSide<NewA,NewB,NewC> andGroupBy(TriConstraintCollector<A,B,C,?,NewA> collectorA, TriConstraintCollector<A,B,C,?,NewB> collectorB, TriConstraintCollector<A,B,C,?,NewC> collectorC)
-
andGroupBy
public <NewA,NewB,NewC,NewD> QuadLeftHandSide<NewA,NewB,NewC,NewD> andGroupBy(TriConstraintCollector<A,B,C,?,NewA> collectorA, TriConstraintCollector<A,B,C,?,NewB> collectorB, TriConstraintCollector<A,B,C,?,NewC> collectorC, TriConstraintCollector<A,B,C,?,NewD> collectorD)
-
andGroupBy
public <NewA> UniLeftHandSide<NewA> andGroupBy(TriFunction<A,B,C,NewA> keyMapping)
-
andGroupBy
public <NewA,NewB> BiLeftHandSide<NewA,NewB> andGroupBy(TriFunction<A,B,C,NewA> keyMappingA, TriConstraintCollector<A,B,C,?,NewB> collectorB)
-
andGroupBy
public <NewA,NewB,NewC> TriLeftHandSide<NewA,NewB,NewC> andGroupBy(TriFunction<A,B,C,NewA> keyMappingA, TriConstraintCollector<A,B,C,?,NewB> collectorB, TriConstraintCollector<A,B,C,?,NewC> collectorC)
-
andGroupBy
public <NewA,NewB,NewC,NewD> QuadLeftHandSide<NewA,NewB,NewC,NewD> andGroupBy(TriFunction<A,B,C,NewA> keyMappingA, TriConstraintCollector<A,B,C,?,NewB> collectorB, TriConstraintCollector<A,B,C,?,NewC> collectorC, TriConstraintCollector<A,B,C,?,NewD> collectorD)
-
andGroupBy
public <NewA,NewB> BiLeftHandSide<NewA,NewB> andGroupBy(TriFunction<A,B,C,NewA> keyMappingA, TriFunction<A,B,C,NewB> keyMappingB)
-
andGroupBy
public <NewA,NewB,NewC> TriLeftHandSide<NewA,NewB,NewC> andGroupBy(TriFunction<A,B,C,NewA> keyMappingA, TriFunction<A,B,C,NewB> keyMappingB, TriConstraintCollector<A,B,C,?,NewC> collectorC)
-
andGroupBy
public <NewA,NewB,NewC,NewD> QuadLeftHandSide<NewA,NewB,NewC,NewD> andGroupBy(TriFunction<A,B,C,NewA> keyMappingA, TriFunction<A,B,C,NewB> keyMappingB, TriConstraintCollector<A,B,C,?,NewC> collectorC, TriConstraintCollector<A,B,C,?,NewD> collectorD)
-
andTerminate
public <Solution_> RuleBuilder<Solution_> andTerminate()
-
andTerminate
public <Solution_> RuleBuilder<Solution_> andTerminate(ToIntTriFunction<A,B,C> matchWeighter)
-
andTerminate
public <Solution_> RuleBuilder<Solution_> andTerminate(ToLongTriFunction<A,B,C> matchWeighter)
-
andTerminate
public <Solution_> RuleBuilder<Solution_> andTerminate(TriFunction<A,B,C,BigDecimal> matchWeighter)
-
getConstraintType
protected static org.drools.model.Index.ConstraintType getConstraintType(JoinerType type)
-
joinViewItemsWithLogicalAnd
protected static org.drools.model.view.ViewItem<?> joinViewItemsWithLogicalAnd(PatternVariable<?,?,?>... patternVariables)
-
-