Class BavetJoinQuadConstraintStream<Solution_,A,B,C,D>
- 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.quad.BavetAbstractQuadConstraintStream<Solution_,A,B,C,D>
-
- ai.timefold.solver.constraint.streams.bavet.quad.BavetJoinQuadConstraintStream<Solution_,A,B,C,D>
-
- All Implemented Interfaces:
BavetJoinConstraintStream<Solution_>,TupleSource,InnerQuadConstraintStream<A,B,C,D>,ConstraintStream,QuadConstraintStream<A,B,C,D>
public final class BavetJoinQuadConstraintStream<Solution_,A,B,C,D> extends BavetAbstractQuadConstraintStream<Solution_,A,B,C,D> implements BavetJoinConstraintStream<Solution_>
-
-
Field Summary
-
Fields inherited from class ai.timefold.solver.constraint.streams.bavet.common.BavetAbstractConstraintStream
childStreamList, constraintFactory, parent
-
-
Constructor Summary
Constructors Constructor Description BavetJoinQuadConstraintStream(BavetConstraintFactory<Solution_> constraintFactory, BavetForeBridgeTriConstraintStream<Solution_,A,B,C> leftParent, BavetForeBridgeUniConstraintStream<Solution_,D> rightParent, DefaultQuadJoiner<A,B,C,D> joiner, QuadPredicate<A,B,C,D> filtering)
-
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 o)BavetAbstractConstraintStream<Solution_>getLeftParent()BavetAbstractConstraintStream<Solution_>getRightParent()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.quad.BavetAbstractQuadConstraintStream
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, 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.quad.InnerQuadConstraintStream
impact, impact, impact, impactBigDecimal, impactConfigurable, impactConfigurableBigDecimal, impactConfigurableLong, impactLong, 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.quad.QuadConstraintStream
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, 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
-
BavetJoinQuadConstraintStream
public BavetJoinQuadConstraintStream(BavetConstraintFactory<Solution_> constraintFactory, BavetForeBridgeTriConstraintStream<Solution_,A,B,C> leftParent, BavetForeBridgeUniConstraintStream<Solution_,D> rightParent, DefaultQuadJoiner<A,B,C,D> joiner, QuadPredicate<A,B,C,D> filtering)
-
-
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.- 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_>
-
getLeftParent
public BavetAbstractConstraintStream<Solution_> getLeftParent()
- Specified by:
getLeftParentin interfaceBavetJoinConstraintStream<Solution_>- Returns:
- An instance of
BavetForeBridgeUniConstraintStream.
-
getRightParent
public BavetAbstractConstraintStream<Solution_> getRightParent()
- Specified by:
getRightParentin interfaceBavetJoinConstraintStream<Solution_>- Returns:
- An instance of
BavetForeBridgeUniConstraintStream.
-
-