Class BavetForEachUniConstraintStream<Solution_,A>
- java.lang.Object
-
- ai.timefold.solver.constraint.streams.common.AbstractConstraintStream<Solution_>
-
- ai.timefold.solver.constraint.streams.bavet.common.BavetAbstractConstraintStream<Solution_>
-
- ai.timefold.solver.constraint.streams.bavet.uni.BavetAbstractUniConstraintStream<Solution_,A>
-
- ai.timefold.solver.constraint.streams.bavet.uni.BavetForEachUniConstraintStream<Solution_,A>
-
- All Implemented Interfaces:
TupleSource,InnerUniConstraintStream<A>,ConstraintStream,UniConstraintStream<A>
public final class BavetForEachUniConstraintStream<Solution_,A> extends BavetAbstractUniConstraintStream<Solution_,A> implements TupleSource
-
-
Field Summary
-
Fields inherited from class ai.timefold.solver.constraint.streams.bavet.common.BavetAbstractConstraintStream
childStreamList, constraintFactory, parent
-
-
Constructor Summary
Constructors Constructor Description BavetForEachUniConstraintStream(BavetConstraintFactory<Solution_> constraintFactory, Class<A> forEachClass, Predicate<A> filter, RetrievalSemantics retrievalSemantics)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <Score_ extends Score<Score_>>
voidbuildNode(NodeBuildHelper<Score_> buildHelper)voidcollectActiveConstraintStreams(Set<BavetAbstractConstraintStream<Solution_>> constraintStreamSet)booleanequals(Object other)booleanguaranteesDistinct()Whether the stream guarantees that no two tuples it produces will ever have the same set of facts.inthashCode()StringtoString()-
Methods inherited from class ai.timefold.solver.constraint.streams.bavet.uni.BavetAbstractUniConstraintStream
distinct, filter, flattenLast, getDefaultIndictedObjectsMapping, getDefaultJustificationMapping, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, ifExists, ifExists, ifExistsIncludingNullVars, ifNotExists, ifNotExists, ifNotExistsIncludingNullVars, innerImpact, innerImpact, innerImpact, join, join, map
-
Methods inherited from class ai.timefold.solver.constraint.streams.bavet.common.BavetAbstractConstraintStream
assertEmptyChildStreamList, buildConstraint, getChildStreamList, getConstraintFactory, getParent, getTupleSource, shareAndAddChild
-
Methods inherited from class ai.timefold.solver.constraint.streams.common.AbstractConstraintStream
buildConstraintWeightExtractor, buildConstraintWeightExtractor, getRetrievalSemantics
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface ai.timefold.solver.core.api.score.stream.ConstraintStream
getConstraintFactory
-
Methods inherited from interface ai.timefold.solver.constraint.streams.common.uni.InnerUniConstraintStream
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 ai.timefold.solver.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 Detail
-
BavetForEachUniConstraintStream
public BavetForEachUniConstraintStream(BavetConstraintFactory<Solution_> constraintFactory, Class<A> forEachClass, Predicate<A> filter, RetrievalSemantics retrievalSemantics)
-
-
Method Detail
-
guaranteesDistinct
public boolean guaranteesDistinct()
Description copied from class:BavetAbstractConstraintStreamWhether the stream guarantees that no two tuples it produces will ever have the same set of facts. Streams which can prove that they either do or do not produce unique tuples should override this method.- Specified by:
guaranteesDistinctin interfaceInnerUniConstraintStream<Solution_>- Overrides:
guaranteesDistinctin classBavetAbstractConstraintStream<Solution_>- Returns:
- delegates to
BavetAbstractConstraintStream.getParent()if not null, otherwise false
-
collectActiveConstraintStreams
public void collectActiveConstraintStreams(Set<BavetAbstractConstraintStream<Solution_>> constraintStreamSet)
- Overrides:
collectActiveConstraintStreamsin classBavetAbstractConstraintStream<Solution_>
-
buildNode
public <Score_ extends Score<Score_>> void buildNode(NodeBuildHelper<Score_> buildHelper)
- Specified by:
buildNodein classBavetAbstractConstraintStream<Solution_>
-
-