Class QuadLeftHandSide<A,B,C,D>
- java.lang.Object
-
- org.optaplanner.core.impl.score.stream.drools.common.QuadLeftHandSide<A,B,C,D>
-
- Type Parameters:
A
- generic type of the first resulting variableB
- generic type of the second resulting variableC
- generic type of the third resulting variableD
- generic type of the fourth resulting variable
public final class QuadLeftHandSide<A,B,C,D> extends Object
Represents the left hand side of a Drools rule, the result of which are four variables. For more, seeUniLeftHandSide
andBiLeftHandSide
.
-
-
Field Summary
Fields Modifier and Type Field Description protected DroolsVariableFactory
variableFactory
-
Constructor Summary
Constructors Modifier Constructor Description protected
QuadLeftHandSide(org.optaplanner.core.impl.score.stream.drools.common.PatternVariable<A> patternVariableA, org.optaplanner.core.impl.score.stream.drools.common.PatternVariable<B> patternVariableB, org.optaplanner.core.impl.score.stream.drools.common.PatternVariable<C> patternVariableC, org.optaplanner.core.impl.score.stream.drools.common.PatternVariable<D> patternVariableD, DroolsVariableFactory variableFactory)
protected
QuadLeftHandSide(QuadLeftHandSide<A,B,C,D> leftHandSide, org.optaplanner.core.impl.score.stream.drools.common.PatternVariable<D> patternVariable)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description <E> QuadLeftHandSide<A,B,C,D>
andExists(Class<E> dClass, PentaJoiner<A,B,C,D,E>[] joiners)
QuadLeftHandSide<A,B,C,D>
andFilter(QuadPredicate<A,B,C,D> predicate)
<NewA> UniLeftHandSide<NewA>
andGroupBy(QuadFunction<A,B,C,D,NewA> keyMapping)
<NewA,NewB>
BiLeftHandSide<NewA,NewB>andGroupBy(QuadFunction<A,B,C,D,NewA> keyMappingA, QuadFunction<A,B,C,D,NewB> keyMappingB)
<NewA,NewB,NewC>
TriLeftHandSide<NewA,NewB,NewC>andGroupBy(QuadFunction<A,B,C,D,NewA> keyMappingA, QuadFunction<A,B,C,D,NewB> keyMappingB, QuadConstraintCollector<A,B,C,D,?,NewC> collectorC)
<NewA,NewB,NewC,NewD>
QuadLeftHandSide<NewA,NewB,NewC,NewD>andGroupBy(QuadFunction<A,B,C,D,NewA> keyMappingA, QuadFunction<A,B,C,D,NewB> keyMappingB, QuadConstraintCollector<A,B,C,D,?,NewC> collectorC, QuadConstraintCollector<A,B,C,D,?,NewD> collectorD)
<NewA,NewB>
BiLeftHandSide<NewA,NewB>andGroupBy(QuadFunction<A,B,C,D,NewA> keyMappingA, QuadConstraintCollector<A,B,C,D,?,NewB> collectorB)
<NewA,NewB,NewC>
TriLeftHandSide<NewA,NewB,NewC>andGroupBy(QuadFunction<A,B,C,D,NewA> keyMappingA, QuadConstraintCollector<A,B,C,D,?,NewB> collectorB, QuadConstraintCollector<A,B,C,D,?,NewC> collectorC)
<NewA,NewB,NewC,NewD>
QuadLeftHandSide<NewA,NewB,NewC,NewD>andGroupBy(QuadFunction<A,B,C,D,NewA> keyMappingA, QuadConstraintCollector<A,B,C,D,?,NewB> collectorB, QuadConstraintCollector<A,B,C,D,?,NewC> collectorC, QuadConstraintCollector<A,B,C,D,?,NewD> collectorD)
<NewA> UniLeftHandSide<NewA>
andGroupBy(QuadConstraintCollector<A,B,C,D,?,NewA> collector)
<NewA,NewB>
BiLeftHandSide<NewA,NewB>andGroupBy(QuadConstraintCollector<A,B,C,D,?,NewA> collectorA, QuadConstraintCollector<A,B,C,D,?,NewB> collectorB)
<NewA,NewB,NewC>
TriLeftHandSide<NewA,NewB,NewC>andGroupBy(QuadConstraintCollector<A,B,C,D,?,NewA> collectorA, QuadConstraintCollector<A,B,C,D,?,NewB> collectorB, QuadConstraintCollector<A,B,C,D,?,NewC> collectorC)
<NewA,NewB,NewC,NewD>
QuadLeftHandSide<NewA,NewB,NewC,NewD>andGroupBy(QuadConstraintCollector<A,B,C,D,?,NewA> collectorA, QuadConstraintCollector<A,B,C,D,?,NewB> collectorB, QuadConstraintCollector<A,B,C,D,?,NewC> collectorC, QuadConstraintCollector<A,B,C,D,?,NewD> collectorD)
<E> QuadLeftHandSide<A,B,C,D>
andNotExists(Class<E> dClass, PentaJoiner<A,B,C,D,E>[] joiners)
org.optaplanner.core.impl.score.stream.drools.common.AbstractQuadConstraintConsequence<A,B,C,D>
andTerminate()
org.optaplanner.core.impl.score.stream.drools.common.AbstractQuadConstraintConsequence<A,B,C,D>
andTerminate(QuadFunction<A,B,C,D,BigDecimal> matchWeighter)
org.optaplanner.core.impl.score.stream.drools.common.AbstractQuadConstraintConsequence<A,B,C,D>
andTerminate(ToIntQuadFunction<A,B,C,D> matchWeighter)
org.optaplanner.core.impl.score.stream.drools.common.AbstractQuadConstraintConsequence<A,B,C,D>
andTerminate(ToLongQuadFunction<A,B,C,D> matchWeighter)
List<org.drools.model.view.ViewItem<?>>
get()
protected static org.drools.model.Index.ConstraintType
getConstraintType(JoinerType type)
org.drools.model.Variable[]
getVariables()
protected static org.drools.model.view.ViewItem<?>
joinViewItemsWithLogicalAnd(org.optaplanner.core.impl.score.stream.drools.common.PatternVariable<?>... patternVariables)
-
-
-
Field Detail
-
variableFactory
protected final DroolsVariableFactory variableFactory
-
-
Constructor Detail
-
QuadLeftHandSide
protected QuadLeftHandSide(org.optaplanner.core.impl.score.stream.drools.common.PatternVariable<A> patternVariableA, org.optaplanner.core.impl.score.stream.drools.common.PatternVariable<B> patternVariableB, org.optaplanner.core.impl.score.stream.drools.common.PatternVariable<C> patternVariableC, org.optaplanner.core.impl.score.stream.drools.common.PatternVariable<D> patternVariableD, DroolsVariableFactory variableFactory)
-
-
Method Detail
-
andFilter
public QuadLeftHandSide<A,B,C,D> andFilter(QuadPredicate<A,B,C,D> predicate)
-
andExists
public <E> QuadLeftHandSide<A,B,C,D> andExists(Class<E> dClass, PentaJoiner<A,B,C,D,E>[] joiners)
-
andNotExists
public <E> QuadLeftHandSide<A,B,C,D> andNotExists(Class<E> dClass, PentaJoiner<A,B,C,D,E>[] joiners)
-
andGroupBy
public <NewA> UniLeftHandSide<NewA> andGroupBy(QuadFunction<A,B,C,D,NewA> keyMapping)
-
andGroupBy
public <NewA> UniLeftHandSide<NewA> andGroupBy(QuadConstraintCollector<A,B,C,D,?,NewA> collector)
-
andGroupBy
public <NewA,NewB> BiLeftHandSide<NewA,NewB> andGroupBy(QuadConstraintCollector<A,B,C,D,?,NewA> collectorA, QuadConstraintCollector<A,B,C,D,?,NewB> collectorB)
-
andGroupBy
public <NewA,NewB,NewC> TriLeftHandSide<NewA,NewB,NewC> andGroupBy(QuadConstraintCollector<A,B,C,D,?,NewA> collectorA, QuadConstraintCollector<A,B,C,D,?,NewB> collectorB, QuadConstraintCollector<A,B,C,D,?,NewC> collectorC)
-
andGroupBy
public <NewA,NewB,NewC,NewD> QuadLeftHandSide<NewA,NewB,NewC,NewD> andGroupBy(QuadConstraintCollector<A,B,C,D,?,NewA> collectorA, QuadConstraintCollector<A,B,C,D,?,NewB> collectorB, QuadConstraintCollector<A,B,C,D,?,NewC> collectorC, QuadConstraintCollector<A,B,C,D,?,NewD> collectorD)
-
andGroupBy
public <NewA,NewB> BiLeftHandSide<NewA,NewB> andGroupBy(QuadFunction<A,B,C,D,NewA> keyMappingA, QuadConstraintCollector<A,B,C,D,?,NewB> collectorB)
-
andGroupBy
public <NewA,NewB,NewC> TriLeftHandSide<NewA,NewB,NewC> andGroupBy(QuadFunction<A,B,C,D,NewA> keyMappingA, QuadConstraintCollector<A,B,C,D,?,NewB> collectorB, QuadConstraintCollector<A,B,C,D,?,NewC> collectorC)
-
andGroupBy
public <NewA,NewB,NewC,NewD> QuadLeftHandSide<NewA,NewB,NewC,NewD> andGroupBy(QuadFunction<A,B,C,D,NewA> keyMappingA, QuadConstraintCollector<A,B,C,D,?,NewB> collectorB, QuadConstraintCollector<A,B,C,D,?,NewC> collectorC, QuadConstraintCollector<A,B,C,D,?,NewD> collectorD)
-
andGroupBy
public <NewA,NewB> BiLeftHandSide<NewA,NewB> andGroupBy(QuadFunction<A,B,C,D,NewA> keyMappingA, QuadFunction<A,B,C,D,NewB> keyMappingB)
-
andGroupBy
public <NewA,NewB,NewC> TriLeftHandSide<NewA,NewB,NewC> andGroupBy(QuadFunction<A,B,C,D,NewA> keyMappingA, QuadFunction<A,B,C,D,NewB> keyMappingB, QuadConstraintCollector<A,B,C,D,?,NewC> collectorC)
-
andGroupBy
public <NewA,NewB,NewC,NewD> QuadLeftHandSide<NewA,NewB,NewC,NewD> andGroupBy(QuadFunction<A,B,C,D,NewA> keyMappingA, QuadFunction<A,B,C,D,NewB> keyMappingB, QuadConstraintCollector<A,B,C,D,?,NewC> collectorC, QuadConstraintCollector<A,B,C,D,?,NewD> collectorD)
-
andTerminate
public org.optaplanner.core.impl.score.stream.drools.common.AbstractQuadConstraintConsequence<A,B,C,D> andTerminate()
-
andTerminate
public org.optaplanner.core.impl.score.stream.drools.common.AbstractQuadConstraintConsequence<A,B,C,D> andTerminate(ToIntQuadFunction<A,B,C,D> matchWeighter)
-
andTerminate
public org.optaplanner.core.impl.score.stream.drools.common.AbstractQuadConstraintConsequence<A,B,C,D> andTerminate(ToLongQuadFunction<A,B,C,D> matchWeighter)
-
andTerminate
public org.optaplanner.core.impl.score.stream.drools.common.AbstractQuadConstraintConsequence<A,B,C,D> andTerminate(QuadFunction<A,B,C,D,BigDecimal> matchWeighter)
-
get
public List<org.drools.model.view.ViewItem<?>> get()
-
getVariables
public org.drools.model.Variable[] getVariables()
-
getConstraintType
protected static org.drools.model.Index.ConstraintType getConstraintType(JoinerType type)
-
joinViewItemsWithLogicalAnd
protected static org.drools.model.view.ViewItem<?> joinViewItemsWithLogicalAnd(org.optaplanner.core.impl.score.stream.drools.common.PatternVariable<?>... patternVariables)
-
-