Class DroolsFilterTriConstraintStream<Solution_,A,B,C>
- java.lang.Object
-
- org.optaplanner.constraint.streams.common.AbstractConstraintStream<Solution_>
-
- org.optaplanner.constraint.streams.drools.common.DroolsAbstractConstraintStream<Solution_,TriLeftHandSide<A,B,C>>
-
- org.optaplanner.constraint.streams.drools.tri.DroolsAbstractTriConstraintStream<Solution_,A,B,C>
-
- org.optaplanner.constraint.streams.drools.tri.DroolsFilterTriConstraintStream<Solution_,A,B,C>
-
- All Implemented Interfaces:
org.optaplanner.constraint.streams.common.tri.InnerTriConstraintStream<A,B,C>,org.optaplanner.core.api.score.stream.ConstraintStream,org.optaplanner.core.api.score.stream.tri.TriConstraintStream<A,B,C>
public final class DroolsFilterTriConstraintStream<Solution_,A,B,C> extends DroolsAbstractTriConstraintStream<Solution_,A,B,C>
-
-
Field Summary
-
Fields inherited from class org.optaplanner.constraint.streams.drools.common.DroolsAbstractConstraintStream
constraintFactory
-
-
Constructor Summary
Constructors Constructor Description DroolsFilterTriConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractTriConstraintStream<Solution_,A,B,C> parent, org.optaplanner.core.api.function.TriPredicate<A,B,C> triPredicate)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description TriLeftHandSide<A,B,C>createLeftHandSide()Some constructs in the Drools executable model may not be reused between different rules.booleanguaranteesDistinct()StringtoString()-
Methods inherited from class org.optaplanner.constraint.streams.drools.tri.DroolsAbstractTriConstraintStream
filter, flattenLast, getDefaultIndictedObjectsMapping, getDefaultJustificationMapping, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, ifExists, ifExistsIncludingNullVars, ifNotExists, ifNotExistsIncludingNullVars, innerImpact, innerImpact, innerImpact, join, map
-
Methods inherited from class org.optaplanner.constraint.streams.drools.common.DroolsAbstractConstraintStream
addChildStream, buildConstraint, getChildStreams, getConstraintFactory
-
Methods inherited from class org.optaplanner.constraint.streams.common.AbstractConstraintStream
buildConstraintWeightExtractor, buildConstraintWeightExtractor, getRetrievalSemantics
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.optaplanner.core.api.score.stream.ConstraintStream
getConstraintFactory
-
Methods inherited from interface org.optaplanner.constraint.streams.common.tri.InnerTriConstraintStream
distinct, getRetrievalSemantics, impact, impact, impact, impactBigDecimal, impactConfigurable, impactConfigurableBigDecimal, impactConfigurableLong, impactLong, join, penalize, penalize, penalize, penalizeBigDecimal, penalizeConfigurable, penalizeConfigurable, penalizeConfigurable, penalizeConfigurableBigDecimal, penalizeConfigurableLong, penalizeLong, reward, reward, reward, rewardBigDecimal, rewardConfigurable, rewardConfigurable, rewardConfigurable, rewardConfigurableBigDecimal, rewardConfigurableLong, rewardLong
-
Methods inherited from interface org.optaplanner.core.api.score.stream.tri.TriConstraintStream
ifExists, ifExists, ifExists, ifExists, ifExistsIncludingNullVars, ifExistsIncludingNullVars, ifExistsIncludingNullVars, ifExistsIncludingNullVars, ifNotExists, ifNotExists, ifNotExists, ifNotExists, ifNotExistsIncludingNullVars, ifNotExistsIncludingNullVars, ifNotExistsIncludingNullVars, ifNotExistsIncludingNullVars, impact, impact, impact, impactBigDecimal, impactBigDecimal, impactConfigurable, impactConfigurable, impactConfigurable, impactConfigurableBigDecimal, impactConfigurableBigDecimal, impactConfigurableLong, impactConfigurableLong, impactLong, impactLong, join, join, join, join, join, join, join, join, join, join, penalize, penalize, penalize, penalizeBigDecimal, penalizeBigDecimal, penalizeConfigurable, penalizeConfigurable, penalizeConfigurable, penalizeConfigurableBigDecimal, penalizeConfigurableBigDecimal, penalizeConfigurableLong, penalizeConfigurableLong, penalizeLong, penalizeLong, reward, reward, reward, rewardBigDecimal, rewardBigDecimal, rewardConfigurable, rewardConfigurable, rewardConfigurable, rewardConfigurableBigDecimal, rewardConfigurableBigDecimal, rewardConfigurableLong, rewardConfigurableLong, rewardLong, rewardLong
-
-
-
-
Constructor Detail
-
DroolsFilterTriConstraintStream
public DroolsFilterTriConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractTriConstraintStream<Solution_,A,B,C> parent, org.optaplanner.core.api.function.TriPredicate<A,B,C> triPredicate)
-
-
Method Detail
-
guaranteesDistinct
public boolean guaranteesDistinct()
-
createLeftHandSide
public TriLeftHandSide<A,B,C> createLeftHandSide()
Description copied from class:DroolsAbstractConstraintStreamSome constructs in the Drools executable model may not be reused between different rules. They are, among others, variable instances and beta indexes. Therefore an instance ofAbstractLeftHandSidemust never be used to create more than one rule. Therefore every constraint stream re-creates the entire chain of left hand sides every time a new rule is built. It is then left up to Drools to node-share everything it can.- Specified by:
createLeftHandSidein classDroolsAbstractConstraintStream<Solution_,TriLeftHandSide<A,B,C>>- Returns:
- never null, different instance on every call
-
-