Class DroolsFlatteningUniConstraintStream<Solution_,NewA>
java.lang.Object
org.optaplanner.constraint.streams.common.AbstractConstraintStream<Solution_>
org.optaplanner.constraint.streams.drools.common.DroolsAbstractConstraintStream<Solution_,UniLeftHandSide<A>>
org.optaplanner.constraint.streams.drools.uni.DroolsAbstractUniConstraintStream<Solution_,NewA>
org.optaplanner.constraint.streams.drools.uni.DroolsFlatteningUniConstraintStream<Solution_,NewA>
- All Implemented Interfaces:
org.optaplanner.constraint.streams.common.uni.InnerUniConstraintStream<NewA>,org.optaplanner.core.api.score.stream.ConstraintStream,org.optaplanner.core.api.score.stream.uni.UniConstraintStream<NewA>
public final class DroolsFlatteningUniConstraintStream<Solution_,NewA>
extends DroolsAbstractUniConstraintStream<Solution_,NewA>
-
Field Summary
Fields inherited from class org.optaplanner.constraint.streams.drools.common.DroolsAbstractConstraintStream
constraintFactory -
Constructor Summary
ConstructorsConstructorDescriptionDroolsFlatteningUniConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractUniConstraintStream<Solution_, A> parent, Function<A, Iterable<NewA>> mapping) -
Method Summary
Modifier and TypeMethodDescriptionSome constructs in the Drools executable model may not be reused between different rules.booleantoString()Methods inherited from class org.optaplanner.constraint.streams.drools.uni.DroolsAbstractUniConstraintStream
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, join, mapMethods inherited from class org.optaplanner.constraint.streams.drools.common.DroolsAbstractConstraintStream
addChildStream, buildConstraint, getChildStreams, getConstraintFactoryMethods inherited from class org.optaplanner.constraint.streams.common.AbstractConstraintStream
buildConstraintWeightExtractor, buildConstraintWeightExtractor, getRetrievalSemanticsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.optaplanner.core.api.score.stream.ConstraintStream
getConstraintFactoryMethods inherited from interface org.optaplanner.constraint.streams.common.uni.InnerUniConstraintStream
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, rewardLongMethods inherited from interface org.optaplanner.core.api.score.stream.uni.UniConstraintStream
ifExists, ifExists, ifExists, ifExists, ifExistsIncludingNullVars, ifExistsIncludingNullVars, ifExistsIncludingNullVars, ifExistsIncludingNullVars, ifExistsOther, ifExistsOther, ifExistsOther, ifExistsOther, ifExistsOther, ifExistsOther, ifExistsOtherIncludingNullVars, ifExistsOtherIncludingNullVars, ifExistsOtherIncludingNullVars, ifExistsOtherIncludingNullVars, ifExistsOtherIncludingNullVars, ifExistsOtherIncludingNullVars, ifNotExists, ifNotExists, ifNotExists, ifNotExists, ifNotExistsIncludingNullVars, ifNotExistsIncludingNullVars, ifNotExistsIncludingNullVars, ifNotExistsIncludingNullVars, ifNotExistsOther, ifNotExistsOther, ifNotExistsOther, ifNotExistsOther, ifNotExistsOther, ifNotExistsOther, ifNotExistsOtherIncludingNullVars, ifNotExistsOtherIncludingNullVars, ifNotExistsOtherIncludingNullVars, ifNotExistsOtherIncludingNullVars, ifNotExistsOtherIncludingNullVars, ifNotExistsOtherIncludingNullVars, 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 Details
-
DroolsFlatteningUniConstraintStream
public DroolsFlatteningUniConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractUniConstraintStream<Solution_, A> parent, Function<A, Iterable<NewA>> mapping)
-
-
Method Details
-
guaranteesDistinct
public boolean guaranteesDistinct() -
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_,UniLeftHandSide<NewA>> - Returns:
- never null, different instance on every call
-
toString
-