Class BavetJoinBiConstraintStream<Solution_,A,B>
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.bi.BavetAbstractBiConstraintStream<Solution_,A,B>
ai.timefold.solver.constraint.streams.bavet.bi.BavetJoinBiConstraintStream<Solution_,A,B>
- All Implemented Interfaces:
BavetJoinConstraintStream<Solution_>,BavetStreamBinaryOperation<Solution_>,TupleSource,InnerBiConstraintStream<A,,B> BiConstraintStream<A,,B> ConstraintStream
public final class BavetJoinBiConstraintStream<Solution_,A,B>
extends BavetAbstractBiConstraintStream<Solution_,A,B>
implements BavetJoinConstraintStream<Solution_>
-
Field Summary
Fields inherited from class ai.timefold.solver.constraint.streams.bavet.common.BavetAbstractConstraintStream
childStreamList, constraintFactory, parent -
Constructor Summary
ConstructorsConstructorDescriptionBavetJoinBiConstraintStream(BavetConstraintFactory<Solution_> constraintFactory, BavetForeBridgeUniConstraintStream<Solution_, A> leftParent, BavetForeBridgeUniConstraintStream<Solution_, B> rightParent, DefaultBiJoiner<A, B> joiner, BiPredicate<A, B> 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.bi.BavetAbstractBiConstraintStream
concat, concat, concat, concat, distinct, expand, 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.bi.BiConstraintStream
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, rewardLongMethods inherited from interface ai.timefold.solver.core.api.score.stream.ConstraintStream
getConstraintFactoryMethods inherited from interface ai.timefold.solver.constraint.streams.common.bi.InnerBiConstraintStream
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
-
Constructor Details
-
BavetJoinBiConstraintStream
public BavetJoinBiConstraintStream(BavetConstraintFactory<Solution_> constraintFactory, BavetForeBridgeUniConstraintStream<Solution_, A> leftParent, BavetForeBridgeUniConstraintStream<Solution_, B> rightParent, DefaultBiJoiner<A, B> joiner, BiPredicate<A, B> 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 interfaceInnerBiConstraintStream<Solution_,A> - 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.
-