Class DroolsCondition<PatternVar,T extends DroolsRuleStructure<PatternVar>>
- java.lang.Object
-
- org.optaplanner.core.impl.score.stream.drools.common.DroolsCondition<PatternVar,T>
-
- Type Parameters:
T
- type of Drools rule that we operate on
- Direct Known Subclasses:
DroolsBiCondition
,DroolsQuadCondition
,DroolsTriCondition
,DroolsUniCondition
public abstract class DroolsCondition<PatternVar,T extends DroolsRuleStructure<PatternVar>> extends Object
Encapsulates the low-level rule creation and manipulation operations via the Drools executable model DSL (seePatternDSL
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
DroolsCondition.ImmediatelyPreviousFilter<PredicateType>
When two filters follow one another immediately, we merge them into a newPredicate
.protected static interface
DroolsCondition.Mutator<InTuple,OutPatternVar,R extends DroolsRuleStructure<OutPatternVar>,C extends DroolsCondition<OutPatternVar,R>>
-
Field Summary
Fields Modifier and Type Field Description protected T
ruleStructure
-
Constructor Summary
Constructors Modifier Constructor Description protected
DroolsCondition(T ruleStructure)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract <InTuple> org.drools.model.PatternDSL.PatternDef<PatternVar>
bindTupleVariableOnFirstGrouping(org.drools.model.PatternDSL.PatternDef<PatternVar> pattern, org.drools.model.Variable<InTuple> tupleVariable)
protected <NewA,InTuple,OutTuple,__>
DroolsUniCondition<NewA,NewA>collect(DroolsAbstractAccumulateFunction<__,InTuple,OutTuple> accumulateFunctionBridge)
Class[]
getExpectedJustificationTypes()
protected org.drools.model.view.ViewItem<?>
getInnerAccumulatePattern(org.drools.model.PatternDSL.PatternDef<PatternVar> mainAccumulatePattern)
T
getRuleStructure()
protected <NewA,NewB,NewC,InTuple,OutPatternVar>
DroolsTriCondition<NewA,NewB,NewC,OutPatternVar>groupBiWithCollect(Supplier<? extends DroolsAbstractGroupByAccumulator<InTuple>> invokerSupplier)
protected <NewA,NewB,NewC,NewD,InTuple,OutPatternVar>
DroolsQuadCondition<NewA,NewB,NewC,NewD,OutPatternVar>groupBiWithCollectBi(Supplier<? extends DroolsAbstractGroupByAccumulator<InTuple>> invokerSupplier)
protected <NewA,NewB,InTuple,OutPatternVar>
DroolsBiCondition<NewA,NewB,OutPatternVar>groupWithCollect(Supplier<? extends DroolsAbstractGroupByAccumulator<InTuple>> invokerSupplier)
protected <S extends Score<S>,H extends AbstractScoreHolder<S>>
voidimpactScore(org.drools.model.Drools drools, H scoreHolder)
protected <S extends Score<S>,H extends AbstractScoreHolder<S>>
voidimpactScore(DroolsConstraint<?> constraint, org.drools.model.Drools drools, H scoreHolder, int impact)
protected <S extends Score<S>,H extends AbstractScoreHolder<S>>
voidimpactScore(DroolsConstraint<?> constraint, org.drools.model.Drools drools, H scoreHolder, long impact)
protected <S extends Score<S>,H extends AbstractScoreHolder<S>>
voidimpactScore(DroolsConstraint<?> constraint, org.drools.model.Drools drools, H scoreHolder, BigDecimal impact)
-
-
-
Field Detail
-
ruleStructure
protected final T extends DroolsRuleStructure<PatternVar> ruleStructure
-
-
Constructor Detail
-
DroolsCondition
protected DroolsCondition(T ruleStructure)
-
-
Method Detail
-
bindTupleVariableOnFirstGrouping
protected abstract <InTuple> org.drools.model.PatternDSL.PatternDef<PatternVar> bindTupleVariableOnFirstGrouping(org.drools.model.PatternDSL.PatternDef<PatternVar> pattern, org.drools.model.Variable<InTuple> tupleVariable)
-
collect
protected <NewA,InTuple,OutTuple,__> DroolsUniCondition<NewA,NewA> collect(DroolsAbstractAccumulateFunction<__,InTuple,OutTuple> accumulateFunctionBridge)
-
groupWithCollect
protected <NewA,NewB,InTuple,OutPatternVar> DroolsBiCondition<NewA,NewB,OutPatternVar> groupWithCollect(Supplier<? extends DroolsAbstractGroupByAccumulator<InTuple>> invokerSupplier)
-
groupBiWithCollect
protected <NewA,NewB,NewC,InTuple,OutPatternVar> DroolsTriCondition<NewA,NewB,NewC,OutPatternVar> groupBiWithCollect(Supplier<? extends DroolsAbstractGroupByAccumulator<InTuple>> invokerSupplier)
-
groupBiWithCollectBi
protected <NewA,NewB,NewC,NewD,InTuple,OutPatternVar> DroolsQuadCondition<NewA,NewB,NewC,NewD,OutPatternVar> groupBiWithCollectBi(Supplier<? extends DroolsAbstractGroupByAccumulator<InTuple>> invokerSupplier)
-
impactScore
protected <S extends Score<S>,H extends AbstractScoreHolder<S>> void impactScore(org.drools.model.Drools drools, H scoreHolder)
-
impactScore
protected <S extends Score<S>,H extends AbstractScoreHolder<S>> void impactScore(DroolsConstraint<?> constraint, org.drools.model.Drools drools, H scoreHolder, int impact)
-
impactScore
protected <S extends Score<S>,H extends AbstractScoreHolder<S>> void impactScore(DroolsConstraint<?> constraint, org.drools.model.Drools drools, H scoreHolder, long impact)
-
impactScore
protected <S extends Score<S>,H extends AbstractScoreHolder<S>> void impactScore(DroolsConstraint<?> constraint, org.drools.model.Drools drools, H scoreHolder, BigDecimal impact)
-
getInnerAccumulatePattern
protected org.drools.model.view.ViewItem<?> getInnerAccumulatePattern(org.drools.model.PatternDSL.PatternDef<PatternVar> mainAccumulatePattern)
-
getRuleStructure
public T getRuleStructure()
-
getExpectedJustificationTypes
public Class[] getExpectedJustificationTypes()
-
-