Class BavetBiConcatQuadConstraintStream<Solution_,A,B,C,D>
java.lang.Object
ai.timefold.solver.core.impl.score.stream.common.AbstractConstraintStream<Solution_>
ai.timefold.solver.core.impl.bavet.common.BavetAbstractConstraintStream<Solution_>
ai.timefold.solver.core.impl.score.stream.bavet.quad.BavetAbstractQuadConstraintStream<Solution_,A,B,C,D>
ai.timefold.solver.core.impl.score.stream.bavet.quad.BavetBiConcatQuadConstraintStream<Solution_,A,B,C,D>
- All Implemented Interfaces:
ConstraintStream,QuadConstraintStream<A,,B, C, D> BavetStream,BavetStreamBinaryOperation<BavetAbstractConstraintStream<Solution_>>,TupleSource,BavetConcatConstraintStream<Solution_>,BavetConstraintStreamBinaryOperation<Solution_>,InnerQuadConstraintStream<A,B, C, D>
public final class BavetBiConcatQuadConstraintStream<Solution_,A,B,C,D>
extends BavetAbstractQuadConstraintStream<Solution_,A,B,C,D>
implements BavetConcatConstraintStream<Solution_>
-
Field Summary
Fields inherited from class ai.timefold.solver.core.impl.bavet.common.BavetAbstractConstraintStream
childStreamList, constraintFactory, parent -
Constructor Summary
ConstructorsConstructorDescriptionBavetBiConcatQuadConstraintStream(BavetConstraintFactory<Solution_> constraintFactory, BavetForeBridgeBiConstraintStream<Solution_, A, B> leftParent, BavetForeBridgeQuadConstraintStream<Solution_, A, B, C, D> rightParent, BiFunction<A, B, C> paddingFunctionC, BiFunction<A, B, D> paddingFunctionD) BavetBiConcatQuadConstraintStream(BavetConstraintFactory<Solution_> constraintFactory, BavetForeBridgeQuadConstraintStream<Solution_, A, B, C, D> leftParent, BavetForeBridgeBiConstraintStream<Solution_, A, B> rightParent, BiFunction<A, B, C> paddingFunctionC, BiFunction<A, B, D> paddingFunctionD) -
Method Summary
Modifier and TypeMethodDescription<Score_ extends Score<Score_>>
voidbuildNode(ConstraintNodeBuildHelper<Solution_, 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.core.impl.score.stream.bavet.quad.BavetAbstractQuadConstraintStream
concat, concat, concat, concat, filter, flattenLast, getDefaultIndictedObjectsMapping, getDefaultJustificationMapping, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, ifExists, ifNotExists, innerImpact, innerImpact, innerImpact, map, map, map, mapMethods inherited from class ai.timefold.solver.core.impl.bavet.common.BavetAbstractConstraintStream
assertEmptyChildStreamList, buildConstraint, getChildStreamList, getConstraintFactory, getParent, getTupleSource, shareAndAddChildMethods inherited from class ai.timefold.solver.core.impl.score.stream.common.AbstractConstraintStream
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.core.impl.score.stream.common.quad.InnerQuadConstraintStream
distinct, getRetrievalSemantics, ifExists, ifExistsIncludingUnassigned, ifNotExists, ifNotExistsIncludingUnassigned, 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
complement, complement, concat, concat, concat, ifExists, ifExists, ifExists, ifExists, ifExists, ifExists, ifExists, ifExists, ifExistsIncludingNullVars, ifExistsIncludingNullVars, ifExistsIncludingNullVars, ifExistsIncludingNullVars, ifExistsIncludingNullVars, ifExistsIncludingUnassigned, ifExistsIncludingUnassigned, ifExistsIncludingUnassigned, ifExistsIncludingUnassigned, ifNotExists, ifNotExists, ifNotExists, ifNotExists, ifNotExists, ifNotExists, ifNotExists, ifNotExists, ifNotExistsIncludingNullVars, ifNotExistsIncludingNullVars, ifNotExistsIncludingNullVars, ifNotExistsIncludingNullVars, ifNotExistsIncludingNullVars, ifNotExistsIncludingUnassigned, ifNotExistsIncludingUnassigned, ifNotExistsIncludingUnassigned, ifNotExistsIncludingUnassigned, impact, impact, impact, impactBigDecimal, impactBigDecimal, impactConfigurable, impactConfigurable, impactConfigurable, impactConfigurableBigDecimal, impactConfigurableBigDecimal, impactConfigurableLong, impactConfigurableLong, impactLong, impactLong, penalize, penalize, penalize, penalizeBigDecimal, penalizeBigDecimal, penalizeBigDecimal, penalizeConfigurable, penalizeConfigurable, penalizeConfigurable, penalizeConfigurableBigDecimal, penalizeConfigurableBigDecimal, penalizeConfigurableLong, penalizeConfigurableLong, penalizeLong, penalizeLong, penalizeLong, reward, reward, reward, rewardBigDecimal, rewardBigDecimal, rewardConfigurable, rewardConfigurable, rewardConfigurable, rewardConfigurableBigDecimal, rewardConfigurableBigDecimal, rewardConfigurableLong, rewardConfigurableLong, rewardLong, rewardLong
-
Constructor Details
-
BavetBiConcatQuadConstraintStream
public BavetBiConcatQuadConstraintStream(BavetConstraintFactory<Solution_> constraintFactory, BavetForeBridgeBiConstraintStream<Solution_, A, B> leftParent, BavetForeBridgeQuadConstraintStream<Solution_, A, B, C, D> rightParent, BiFunction<A, B, C> paddingFunctionC, BiFunction<A, B, D> paddingFunctionD) -
BavetBiConcatQuadConstraintStream
public BavetBiConcatQuadConstraintStream(BavetConstraintFactory<Solution_> constraintFactory, BavetForeBridgeQuadConstraintStream<Solution_, A, B, C, D> leftParent, BavetForeBridgeBiConstraintStream<Solution_, A, B> rightParent, BiFunction<A, B, C> paddingFunctionC, BiFunction<A, B, D> paddingFunctionD)
-
-
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 interfaceInnerQuadConstraintStream<Solution_,A, B, C> - 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(ConstraintNodeBuildHelper<Solution_, Score_> buildHelper) - Specified by:
buildNodein classBavetAbstractConstraintStream<Solution_>
-
equals
-
hashCode
public int hashCode() -
toString
-
getLeftParent
- Specified by:
getLeftParentin interfaceBavetConstraintStreamBinaryOperation<Solution_>- Specified by:
getLeftParentin interfaceBavetStreamBinaryOperation<Solution_>- Returns:
- An instance of
BavetForeBridgeUniConstraintStream.
-
getRightParent
- Specified by:
getRightParentin interfaceBavetConstraintStreamBinaryOperation<Solution_>- Specified by:
getRightParentin interfaceBavetStreamBinaryOperation<Solution_>- Returns:
- An instance of
BavetForeBridgeUniConstraintStream.
-