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_>,BavetStreamBinaryOperation<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
ConstructorsConstructorDescriptionBavetJoinQuadConstraintStream(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
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.quad.BavetAbstractQuadConstraintStream
concat, concat, concat, concat, 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, 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.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, rewardLongMethods 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 Details
-
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 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.- 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.
-