Class BavetJoinTriConstraintStream<Solution_,A,B,C>
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.tri.BavetAbstractTriConstraintStream<Solution_,A,B,C>
ai.timefold.solver.constraint.streams.bavet.tri.BavetJoinTriConstraintStream<Solution_,A,B,C>
- All Implemented Interfaces:
BavetJoinConstraintStream<Solution_>,BavetStreamBinaryOperation<Solution_>,TupleSource,InnerTriConstraintStream<A,,B, C> ConstraintStream,TriConstraintStream<A,B, C>
public final class BavetJoinTriConstraintStream<Solution_,A,B,C>
extends BavetAbstractTriConstraintStream<Solution_,A,B,C>
implements BavetJoinConstraintStream<Solution_>
-
Field Summary
Fields inherited from class ai.timefold.solver.constraint.streams.bavet.common.BavetAbstractConstraintStream
childStreamList, constraintFactory, parent -
Constructor Summary
ConstructorsConstructorDescriptionBavetJoinTriConstraintStream(BavetConstraintFactory<Solution_> constraintFactory, BavetForeBridgeBiConstraintStream<Solution_, A, B> leftParent, BavetForeBridgeUniConstraintStream<Solution_, C> rightParent, DefaultTriJoiner<A, B, C> joiner, TriPredicate<A, B, C> filtering) -
Method Summary
Modifier and TypeMethodDescription<Score_ extends Score<Score_>>
voidbuildNode(NodeBuildHelper<Score_> buildHelper) voidcollectActiveConstraintStreams(Set<BavetAbstractConstraintStream<Solution_>> constraintStreamSet) booleanbooleanWhether the stream guarantees that no two tuples it produces will ever have the same set of facts.inthashCode()toString()Methods inherited from class ai.timefold.solver.constraint.streams.bavet.tri.BavetAbstractTriConstraintStream
concat, concat, concat, concat, distinct, expand, 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, map, map, map, mapMethods inherited from class ai.timefold.solver.constraint.streams.bavet.common.BavetAbstractConstraintStream
assertEmptyChildStreamList, buildConstraint, getChildStreamList, getConstraintFactory, getParent, getTupleSource, shareAndAddChildMethods inherited from class ai.timefold.solver.constraint.streams.common.AbstractConstraintStream
buildConstraintWeightExtractor, buildConstraintWeightExtractor, getRetrievalSemanticsMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface ai.timefold.solver.core.api.score.stream.ConstraintStream
getConstraintFactoryMethods inherited from interface ai.timefold.solver.constraint.streams.common.tri.InnerTriConstraintStream
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 ai.timefold.solver.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 Details
-
BavetJoinTriConstraintStream
public BavetJoinTriConstraintStream(BavetConstraintFactory<Solution_> constraintFactory, BavetForeBridgeBiConstraintStream<Solution_, A, B> leftParent, BavetForeBridgeUniConstraintStream<Solution_, C> rightParent, DefaultTriJoiner<A, B, C> joiner, TriPredicate<A, B, C> filtering)
-
-
Method Details
-
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 interfaceInnerTriConstraintStream<Solution_,A, B> - 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
- Specified by:
buildNodein classBavetAbstractConstraintStream<Solution_>
-
equals
-
hashCode
public int hashCode() -
toString
-
getLeftParent
- Specified by:
getLeftParentin interfaceBavetJoinConstraintStream<Solution_>- Specified by:
getLeftParentin interfaceBavetStreamBinaryOperation<Solution_>- Returns:
- An instance of
BavetForeBridgeUniConstraintStream.
-
getRightParent
- Specified by:
getRightParentin interfaceBavetJoinConstraintStream<Solution_>- Specified by:
getRightParentin interfaceBavetStreamBinaryOperation<Solution_>- Returns:
- An instance of
BavetForeBridgeUniConstraintStream.
-