Class BavetAbstractQuadConstraintStream<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>
-
- All Implemented Interfaces:
InnerQuadConstraintStream<A,B,C,D>,ConstraintStream,QuadConstraintStream<A,B,C,D>
- Direct Known Subclasses:
BavetAftBridgeQuadConstraintStream,BavetJoinQuadConstraintStream
public abstract class BavetAbstractQuadConstraintStream<Solution_,A,B,C,D> extends BavetAbstractConstraintStream<Solution_> implements InnerQuadConstraintStream<A,B,C,D>
-
-
Field Summary
-
Fields inherited from class ai.timefold.solver.constraint.streams.bavet.common.BavetAbstractConstraintStream
childStreamList, constraintFactory, parent
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedBavetAbstractQuadConstraintStream(BavetConstraintFactory<Solution_> constraintFactory, BavetAbstractConstraintStream<Solution_> parent)protectedBavetAbstractQuadConstraintStream(BavetConstraintFactory<Solution_> constraintFactory, RetrievalSemantics retrievalSemantics)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description QuadConstraintStream<A,B,C,D>distinct()BavetAbstractQuadConstraintStream<Solution_,A,B,C,D>filter(QuadPredicate<A,B,C,D> predicate)<ResultD_> QuadConstraintStream<A,B,C,ResultD_>flattenLast(Function<D,Iterable<ResultD_>> mapping)protected QuadFunction<A,B,C,D,Collection<?>>getDefaultIndictedObjectsMapping()protected PentaFunction<A,B,C,D,Score<?>,DefaultConstraintJustification>getDefaultJustificationMapping()<GroupKey_>
UniConstraintStream<GroupKey_>groupBy(QuadFunction<A,B,C,D,GroupKey_> groupKeyMapping)<GroupKey_,ResultContainer_,Result_>
BiConstraintStream<GroupKey_,Result_>groupBy(QuadFunction<A,B,C,D,GroupKey_> groupKeyMapping, QuadConstraintCollector<A,B,C,D,ResultContainer_,Result_> collector)<GroupKey_,ResultContainerB_,ResultB_,ResultContainerC_,ResultC_>
TriConstraintStream<GroupKey_,ResultB_,ResultC_>groupBy(QuadFunction<A,B,C,D,GroupKey_> groupKeyMapping, QuadConstraintCollector<A,B,C,D,ResultContainerB_,ResultB_> collectorB, QuadConstraintCollector<A,B,C,D,ResultContainerC_,ResultC_> collectorC)<GroupKey_,ResultContainerB_,ResultB_,ResultContainerC_,ResultC_,ResultContainerD_,ResultD_>
QuadConstraintStream<GroupKey_,ResultB_,ResultC_,ResultD_>groupBy(QuadFunction<A,B,C,D,GroupKey_> groupKeyMapping, QuadConstraintCollector<A,B,C,D,ResultContainerB_,ResultB_> collectorB, QuadConstraintCollector<A,B,C,D,ResultContainerC_,ResultC_> collectorC, QuadConstraintCollector<A,B,C,D,ResultContainerD_,ResultD_> collectorD)<GroupKeyA_,GroupKeyB_>
BiConstraintStream<GroupKeyA_,GroupKeyB_>groupBy(QuadFunction<A,B,C,D,GroupKeyA_> groupKeyAMapping, QuadFunction<A,B,C,D,GroupKeyB_> groupKeyBMapping)<GroupKeyA_,GroupKeyB_,GroupKeyC_>
TriConstraintStream<GroupKeyA_,GroupKeyB_,GroupKeyC_>groupBy(QuadFunction<A,B,C,D,GroupKeyA_> groupKeyAMapping, QuadFunction<A,B,C,D,GroupKeyB_> groupKeyBMapping, QuadFunction<A,B,C,D,GroupKeyC_> groupKeyCMapping)<GroupKeyA_,GroupKeyB_,GroupKeyC_,GroupKeyD_>
QuadConstraintStream<GroupKeyA_,GroupKeyB_,GroupKeyC_,GroupKeyD_>groupBy(QuadFunction<A,B,C,D,GroupKeyA_> groupKeyAMapping, QuadFunction<A,B,C,D,GroupKeyB_> groupKeyBMapping, QuadFunction<A,B,C,D,GroupKeyC_> groupKeyCMapping, QuadFunction<A,B,C,D,GroupKeyD_> groupKeyDMapping)<GroupKeyA_,GroupKeyB_,GroupKeyC_,ResultContainerD_,ResultD_>
QuadConstraintStream<GroupKeyA_,GroupKeyB_,GroupKeyC_,ResultD_>groupBy(QuadFunction<A,B,C,D,GroupKeyA_> groupKeyAMapping, QuadFunction<A,B,C,D,GroupKeyB_> groupKeyBMapping, QuadFunction<A,B,C,D,GroupKeyC_> groupKeyCMapping, QuadConstraintCollector<A,B,C,D,ResultContainerD_,ResultD_> collectorD)<GroupKeyA_,GroupKeyB_,ResultContainer_,Result_>
TriConstraintStream<GroupKeyA_,GroupKeyB_,Result_>groupBy(QuadFunction<A,B,C,D,GroupKeyA_> groupKeyAMapping, QuadFunction<A,B,C,D,GroupKeyB_> groupKeyBMapping, QuadConstraintCollector<A,B,C,D,ResultContainer_,Result_> collector)<GroupKeyA_,GroupKeyB_,ResultContainerC_,ResultC_,ResultContainerD_,ResultD_>
QuadConstraintStream<GroupKeyA_,GroupKeyB_,ResultC_,ResultD_>groupBy(QuadFunction<A,B,C,D,GroupKeyA_> groupKeyAMapping, QuadFunction<A,B,C,D,GroupKeyB_> groupKeyBMapping, QuadConstraintCollector<A,B,C,D,ResultContainerC_,ResultC_> collectorC, QuadConstraintCollector<A,B,C,D,ResultContainerD_,ResultD_> collectorD)<ResultContainer_,Result_>
UniConstraintStream<Result_>groupBy(QuadConstraintCollector<A,B,C,D,ResultContainer_,Result_> collector)<ResultContainerA_,ResultA_,ResultContainerB_,ResultB_>
BiConstraintStream<ResultA_,ResultB_>groupBy(QuadConstraintCollector<A,B,C,D,ResultContainerA_,ResultA_> collectorA, QuadConstraintCollector<A,B,C,D,ResultContainerB_,ResultB_> collectorB)<ResultContainerA_,ResultA_,ResultContainerB_,ResultB_,ResultContainerC_,ResultC_>
TriConstraintStream<ResultA_,ResultB_,ResultC_>groupBy(QuadConstraintCollector<A,B,C,D,ResultContainerA_,ResultA_> collectorA, QuadConstraintCollector<A,B,C,D,ResultContainerB_,ResultB_> collectorB, QuadConstraintCollector<A,B,C,D,ResultContainerC_,ResultC_> collectorC)<ResultContainerA_,ResultA_,ResultContainerB_,ResultB_,ResultContainerC_,ResultC_,ResultContainerD_,ResultD_>
QuadConstraintStream<ResultA_,ResultB_,ResultC_,ResultD_>groupBy(QuadConstraintCollector<A,B,C,D,ResultContainerA_,ResultA_> collectorA, QuadConstraintCollector<A,B,C,D,ResultContainerB_,ResultB_> collectorB, QuadConstraintCollector<A,B,C,D,ResultContainerC_,ResultC_> collectorC, QuadConstraintCollector<A,B,C,D,ResultContainerD_,ResultD_> collectorD)<E> QuadConstraintStream<A,B,C,D>ifExists(UniConstraintStream<E> otherStream, PentaJoiner<A,B,C,D,E>... joiners)<E> QuadConstraintStream<A,B,C,D>ifExists(Class<E> otherClass, PentaJoiner<A,B,C,D,E>... joiners)<E> QuadConstraintStream<A,B,C,D>ifExistsIncludingNullVars(Class<E> otherClass, PentaJoiner<A,B,C,D,E>... joiners)<E> QuadConstraintStream<A,B,C,D>ifNotExists(UniConstraintStream<E> otherStream, PentaJoiner<A,B,C,D,E>... joiners)<E> QuadConstraintStream<A,B,C,D>ifNotExists(Class<E> otherClass, PentaJoiner<A,B,C,D,E>... joiners)<E> QuadConstraintStream<A,B,C,D>ifNotExistsIncludingNullVars(Class<E> otherClass, PentaJoiner<A,B,C,D,E>... joiners)<Score_ extends Score<Score_>>
QuadConstraintBuilder<A,B,C,D,Score_>innerImpact(Score_ constraintWeight, QuadFunction<A,B,C,D,BigDecimal> matchWeigher, ScoreImpactType scoreImpactType)<Score_ extends Score<Score_>>
QuadConstraintBuilder<A,B,C,D,Score_>innerImpact(Score_ constraintWeight, ToIntQuadFunction<A,B,C,D> matchWeigher, ScoreImpactType scoreImpactType)<Score_ extends Score<Score_>>
QuadConstraintBuilder<A,B,C,D,Score_>innerImpact(Score_ constraintWeight, ToLongQuadFunction<A,B,C,D> matchWeigher, ScoreImpactType scoreImpactType)<ResultA_> UniConstraintStream<ResultA_>map(QuadFunction<A,B,C,D,ResultA_> mapping)-
Methods inherited from class ai.timefold.solver.constraint.streams.bavet.common.BavetAbstractConstraintStream
assertEmptyChildStreamList, buildConstraint, buildNode, collectActiveConstraintStreams, getChildStreamList, getConstraintFactory, getParent, getTupleSource, guaranteesDistinct, shareAndAddChild
-
Methods inherited from class ai.timefold.solver.constraint.streams.common.AbstractConstraintStream
buildConstraintWeightExtractor, buildConstraintWeightExtractor, getRetrievalSemantics
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, 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
-
BavetAbstractQuadConstraintStream
protected BavetAbstractQuadConstraintStream(BavetConstraintFactory<Solution_> constraintFactory, BavetAbstractConstraintStream<Solution_> parent)
-
BavetAbstractQuadConstraintStream
protected BavetAbstractQuadConstraintStream(BavetConstraintFactory<Solution_> constraintFactory, RetrievalSemantics retrievalSemantics)
-
-
Method Detail
-
filter
public BavetAbstractQuadConstraintStream<Solution_,A,B,C,D> filter(QuadPredicate<A,B,C,D> predicate)
-
ifExists
@SafeVarargs public final <E> QuadConstraintStream<A,B,C,D> ifExists(Class<E> otherClass, PentaJoiner<A,B,C,D,E>... joiners)
-
ifExistsIncludingNullVars
@SafeVarargs public final <E> QuadConstraintStream<A,B,C,D> ifExistsIncludingNullVars(Class<E> otherClass, PentaJoiner<A,B,C,D,E>... joiners)
- Specified by:
ifExistsIncludingNullVarsin interfaceQuadConstraintStream<Solution_,A,B,C>
-
ifExists
@SafeVarargs public final <E> QuadConstraintStream<A,B,C,D> ifExists(UniConstraintStream<E> otherStream, PentaJoiner<A,B,C,D,E>... joiners)
-
ifNotExists
@SafeVarargs public final <E> QuadConstraintStream<A,B,C,D> ifNotExists(Class<E> otherClass, PentaJoiner<A,B,C,D,E>... joiners)
- Specified by:
ifNotExistsin interfaceQuadConstraintStream<Solution_,A,B,C>
-
ifNotExistsIncludingNullVars
@SafeVarargs public final <E> QuadConstraintStream<A,B,C,D> ifNotExistsIncludingNullVars(Class<E> otherClass, PentaJoiner<A,B,C,D,E>... joiners)
- Specified by:
ifNotExistsIncludingNullVarsin interfaceQuadConstraintStream<Solution_,A,B,C>
-
ifNotExists
@SafeVarargs public final <E> QuadConstraintStream<A,B,C,D> ifNotExists(UniConstraintStream<E> otherStream, PentaJoiner<A,B,C,D,E>... joiners)
-
groupBy
public <ResultContainer_,Result_> UniConstraintStream<Result_> groupBy(QuadConstraintCollector<A,B,C,D,ResultContainer_,Result_> collector)
-
groupBy
public <ResultContainerA_,ResultA_,ResultContainerB_,ResultB_> BiConstraintStream<ResultA_,ResultB_> groupBy(QuadConstraintCollector<A,B,C,D,ResultContainerA_,ResultA_> collectorA, QuadConstraintCollector<A,B,C,D,ResultContainerB_,ResultB_> collectorB)
-
groupBy
public <ResultContainerA_,ResultA_,ResultContainerB_,ResultB_,ResultContainerC_,ResultC_> TriConstraintStream<ResultA_,ResultB_,ResultC_> groupBy(QuadConstraintCollector<A,B,C,D,ResultContainerA_,ResultA_> collectorA, QuadConstraintCollector<A,B,C,D,ResultContainerB_,ResultB_> collectorB, QuadConstraintCollector<A,B,C,D,ResultContainerC_,ResultC_> collectorC)
-
groupBy
public <ResultContainerA_,ResultA_,ResultContainerB_,ResultB_,ResultContainerC_,ResultC_,ResultContainerD_,ResultD_> QuadConstraintStream<ResultA_,ResultB_,ResultC_,ResultD_> groupBy(QuadConstraintCollector<A,B,C,D,ResultContainerA_,ResultA_> collectorA, QuadConstraintCollector<A,B,C,D,ResultContainerB_,ResultB_> collectorB, QuadConstraintCollector<A,B,C,D,ResultContainerC_,ResultC_> collectorC, QuadConstraintCollector<A,B,C,D,ResultContainerD_,ResultD_> collectorD)
-
groupBy
public <GroupKey_> UniConstraintStream<GroupKey_> groupBy(QuadFunction<A,B,C,D,GroupKey_> groupKeyMapping)
-
groupBy
public <GroupKey_,ResultContainerB_,ResultB_,ResultContainerC_,ResultC_> TriConstraintStream<GroupKey_,ResultB_,ResultC_> groupBy(QuadFunction<A,B,C,D,GroupKey_> groupKeyMapping, QuadConstraintCollector<A,B,C,D,ResultContainerB_,ResultB_> collectorB, QuadConstraintCollector<A,B,C,D,ResultContainerC_,ResultC_> collectorC)
-
groupBy
public <GroupKey_,ResultContainerB_,ResultB_,ResultContainerC_,ResultC_,ResultContainerD_,ResultD_> QuadConstraintStream<GroupKey_,ResultB_,ResultC_,ResultD_> groupBy(QuadFunction<A,B,C,D,GroupKey_> groupKeyMapping, QuadConstraintCollector<A,B,C,D,ResultContainerB_,ResultB_> collectorB, QuadConstraintCollector<A,B,C,D,ResultContainerC_,ResultC_> collectorC, QuadConstraintCollector<A,B,C,D,ResultContainerD_,ResultD_> collectorD)
-
groupBy
public <GroupKey_,ResultContainer_,Result_> BiConstraintStream<GroupKey_,Result_> groupBy(QuadFunction<A,B,C,D,GroupKey_> groupKeyMapping, QuadConstraintCollector<A,B,C,D,ResultContainer_,Result_> collector)
-
groupBy
public <GroupKeyA_,GroupKeyB_> BiConstraintStream<GroupKeyA_,GroupKeyB_> groupBy(QuadFunction<A,B,C,D,GroupKeyA_> groupKeyAMapping, QuadFunction<A,B,C,D,GroupKeyB_> groupKeyBMapping)
-
groupBy
public <GroupKeyA_,GroupKeyB_,ResultContainer_,Result_> TriConstraintStream<GroupKeyA_,GroupKeyB_,Result_> groupBy(QuadFunction<A,B,C,D,GroupKeyA_> groupKeyAMapping, QuadFunction<A,B,C,D,GroupKeyB_> groupKeyBMapping, QuadConstraintCollector<A,B,C,D,ResultContainer_,Result_> collector)
-
groupBy
public <GroupKeyA_,GroupKeyB_,ResultContainerC_,ResultC_,ResultContainerD_,ResultD_> QuadConstraintStream<GroupKeyA_,GroupKeyB_,ResultC_,ResultD_> groupBy(QuadFunction<A,B,C,D,GroupKeyA_> groupKeyAMapping, QuadFunction<A,B,C,D,GroupKeyB_> groupKeyBMapping, QuadConstraintCollector<A,B,C,D,ResultContainerC_,ResultC_> collectorC, QuadConstraintCollector<A,B,C,D,ResultContainerD_,ResultD_> collectorD)
-
groupBy
public <GroupKeyA_,GroupKeyB_,GroupKeyC_> TriConstraintStream<GroupKeyA_,GroupKeyB_,GroupKeyC_> groupBy(QuadFunction<A,B,C,D,GroupKeyA_> groupKeyAMapping, QuadFunction<A,B,C,D,GroupKeyB_> groupKeyBMapping, QuadFunction<A,B,C,D,GroupKeyC_> groupKeyCMapping)
-
groupBy
public <GroupKeyA_,GroupKeyB_,GroupKeyC_,ResultContainerD_,ResultD_> QuadConstraintStream<GroupKeyA_,GroupKeyB_,GroupKeyC_,ResultD_> groupBy(QuadFunction<A,B,C,D,GroupKeyA_> groupKeyAMapping, QuadFunction<A,B,C,D,GroupKeyB_> groupKeyBMapping, QuadFunction<A,B,C,D,GroupKeyC_> groupKeyCMapping, QuadConstraintCollector<A,B,C,D,ResultContainerD_,ResultD_> collectorD)
-
groupBy
public <GroupKeyA_,GroupKeyB_,GroupKeyC_,GroupKeyD_> QuadConstraintStream<GroupKeyA_,GroupKeyB_,GroupKeyC_,GroupKeyD_> groupBy(QuadFunction<A,B,C,D,GroupKeyA_> groupKeyAMapping, QuadFunction<A,B,C,D,GroupKeyB_> groupKeyBMapping, QuadFunction<A,B,C,D,GroupKeyC_> groupKeyCMapping, QuadFunction<A,B,C,D,GroupKeyD_> groupKeyDMapping)
-
distinct
public QuadConstraintStream<A,B,C,D> distinct()
-
map
public <ResultA_> UniConstraintStream<ResultA_> map(QuadFunction<A,B,C,D,ResultA_> mapping)
-
flattenLast
public <ResultD_> QuadConstraintStream<A,B,C,ResultD_> flattenLast(Function<D,Iterable<ResultD_>> mapping)
- Specified by:
flattenLastin interfaceQuadConstraintStream<Solution_,A,B,C>
-
innerImpact
public <Score_ extends Score<Score_>> QuadConstraintBuilder<A,B,C,D,Score_> innerImpact(Score_ constraintWeight, ToIntQuadFunction<A,B,C,D> matchWeigher, ScoreImpactType scoreImpactType)
- Specified by:
innerImpactin interfaceInnerQuadConstraintStream<Solution_,A,B,C>
-
innerImpact
public <Score_ extends Score<Score_>> QuadConstraintBuilder<A,B,C,D,Score_> innerImpact(Score_ constraintWeight, ToLongQuadFunction<A,B,C,D> matchWeigher, ScoreImpactType scoreImpactType)
- Specified by:
innerImpactin interfaceInnerQuadConstraintStream<Solution_,A,B,C>
-
innerImpact
public <Score_ extends Score<Score_>> QuadConstraintBuilder<A,B,C,D,Score_> innerImpact(Score_ constraintWeight, QuadFunction<A,B,C,D,BigDecimal> matchWeigher, ScoreImpactType scoreImpactType)
- Specified by:
innerImpactin interfaceInnerQuadConstraintStream<Solution_,A,B,C>
-
getDefaultJustificationMapping
protected final PentaFunction<A,B,C,D,Score<?>,DefaultConstraintJustification> getDefaultJustificationMapping()
- Specified by:
getDefaultJustificationMappingin classAbstractConstraintStream<Solution_>
-
getDefaultIndictedObjectsMapping
protected final QuadFunction<A,B,C,D,Collection<?>> getDefaultIndictedObjectsMapping()
- Specified by:
getDefaultIndictedObjectsMappingin classAbstractConstraintStream<Solution_>
-
-