Class BavetAbstractTriConstraintStream<Solution_,A,B,C>
java.lang.Object
org.optaplanner.constraint.streams.common.AbstractConstraintStream<Solution_>
org.optaplanner.constraint.streams.bavet.common.BavetAbstractConstraintStream<Solution_>
org.optaplanner.constraint.streams.bavet.tri.BavetAbstractTriConstraintStream<Solution_,A,B,C>
- All Implemented Interfaces:
InnerTriConstraintStream<A,,B, C> ConstraintStream,TriConstraintStream<A,B, C>
- Direct Known Subclasses:
BavetFilterTriConstraintStream,BavetFlattenLastBridgeTriConstraintStream,BavetFlattenLastTriConstraintStream,BavetGroupTriConstraintStream,BavetJoinBridgeTriConstraintStream,BavetJoinTriConstraintStream,BavetMapBridgeTriConstraintStream,BavetScoringTriConstraintStream
public abstract class BavetAbstractTriConstraintStream<Solution_,A,B,C>
extends BavetAbstractConstraintStream<Solution_>
implements InnerTriConstraintStream<A,B,C>
-
Field Summary
FieldsModifier and TypeFieldDescriptionFields inherited from class org.optaplanner.constraint.streams.bavet.common.BavetAbstractConstraintStream
constraintFactory -
Constructor Summary
ConstructorsConstructorDescriptionBavetAbstractTriConstraintStream(BavetConstraintFactory<Solution_> constraintFactory, RetrievalSemantics retrievalSemantics) -
Method Summary
Modifier and TypeMethodDescriptionfilter(TriPredicate<A, B, C> predicate) <ResultC_> TriConstraintStream<A,B, ResultC_> flattenLast(Function<C, Iterable<ResultC_>> mapping) protected final TriFunction<A,B, C, Collection<?>> protected final QuadFunction<A,B, C, Score<?>, DefaultConstraintJustification> <GroupKey_>
UniConstraintStream<GroupKey_>groupBy(TriFunction<A, B, C, GroupKey_> groupKeyMapping) <GroupKey_,ResultContainer_, Result_>
BiConstraintStream<GroupKey_,Result_> groupBy(TriFunction<A, B, C, GroupKey_> groupKeyMapping, TriConstraintCollector<A, B, C, ResultContainer_, Result_> collector) <GroupKey_,ResultContainerB_, ResultB_, ResultContainerC_, ResultC_>
TriConstraintStream<GroupKey_,ResultB_, ResultC_> groupBy(TriFunction<A, B, C, GroupKey_> groupKeyMapping, TriConstraintCollector<A, B, C, ResultContainerB_, ResultB_> collectorB, TriConstraintCollector<A, B, C, ResultContainerC_, ResultC_> collectorC) <GroupKey_,ResultContainerB_, ResultB_, ResultContainerC_, ResultC_, ResultContainerD_, ResultD_>
QuadConstraintStream<GroupKey_,ResultB_, ResultC_, ResultD_> groupBy(TriFunction<A, B, C, GroupKey_> groupKeyMapping, TriConstraintCollector<A, B, C, ResultContainerB_, ResultB_> collectorB, TriConstraintCollector<A, B, C, ResultContainerC_, ResultC_> collectorC, TriConstraintCollector<A, B, C, ResultContainerD_, ResultD_> collectorD) <GroupKeyA_,GroupKeyB_>
BiConstraintStream<GroupKeyA_,GroupKeyB_> groupBy(TriFunction<A, B, C, GroupKeyA_> groupKeyAMapping, TriFunction<A, B, C, GroupKeyB_> groupKeyBMapping) <GroupKeyA_,GroupKeyB_, GroupKeyC_>
TriConstraintStream<GroupKeyA_,GroupKeyB_, GroupKeyC_> groupBy(TriFunction<A, B, C, GroupKeyA_> groupKeyAMapping, TriFunction<A, B, C, GroupKeyB_> groupKeyBMapping, TriFunction<A, B, C, GroupKeyC_> groupKeyCMapping) <GroupKeyA_,GroupKeyB_, GroupKeyC_, GroupKeyD_>
QuadConstraintStream<GroupKeyA_,GroupKeyB_, GroupKeyC_, GroupKeyD_> groupBy(TriFunction<A, B, C, GroupKeyA_> groupKeyAMapping, TriFunction<A, B, C, GroupKeyB_> groupKeyBMapping, TriFunction<A, B, C, GroupKeyC_> groupKeyCMapping, TriFunction<A, B, C, GroupKeyD_> groupKeyDMapping) <GroupKeyA_,GroupKeyB_, GroupKeyC_, ResultContainerD_, ResultD_>
QuadConstraintStream<GroupKeyA_,GroupKeyB_, GroupKeyC_, ResultD_> groupBy(TriFunction<A, B, C, GroupKeyA_> groupKeyAMapping, TriFunction<A, B, C, GroupKeyB_> groupKeyBMapping, TriFunction<A, B, C, GroupKeyC_> groupKeyCMapping, TriConstraintCollector<A, B, C, ResultContainerD_, ResultD_> collectorD) <GroupKeyA_,GroupKeyB_, ResultContainer_, Result_>
TriConstraintStream<GroupKeyA_,GroupKeyB_, Result_> groupBy(TriFunction<A, B, C, GroupKeyA_> groupKeyAMapping, TriFunction<A, B, C, GroupKeyB_> groupKeyBMapping, TriConstraintCollector<A, B, C, ResultContainer_, Result_> collector) <GroupKeyA_,GroupKeyB_, ResultContainerC_, ResultC_, ResultContainerD_, ResultD_>
QuadConstraintStream<GroupKeyA_,GroupKeyB_, ResultC_, ResultD_> groupBy(TriFunction<A, B, C, GroupKeyA_> groupKeyAMapping, TriFunction<A, B, C, GroupKeyB_> groupKeyBMapping, TriConstraintCollector<A, B, C, ResultContainerC_, ResultC_> collectorC, TriConstraintCollector<A, B, C, ResultContainerD_, ResultD_> collectorD) <ResultContainer_,Result_>
UniConstraintStream<Result_>groupBy(TriConstraintCollector<A, B, C, ResultContainer_, Result_> collector) <ResultContainerA_,ResultA_, ResultContainerB_, ResultB_>
BiConstraintStream<ResultA_,ResultB_> groupBy(TriConstraintCollector<A, B, C, ResultContainerA_, ResultA_> collectorA, TriConstraintCollector<A, B, C, ResultContainerB_, ResultB_> collectorB) <ResultContainerA_,ResultA_, ResultContainerB_, ResultB_, ResultContainerC_, ResultC_>
TriConstraintStream<ResultA_,ResultB_, ResultC_> groupBy(TriConstraintCollector<A, B, C, ResultContainerA_, ResultA_> collectorA, TriConstraintCollector<A, B, C, ResultContainerB_, ResultB_> collectorB, TriConstraintCollector<A, B, C, ResultContainerC_, ResultC_> collectorC) <ResultContainerA_,ResultA_, ResultContainerB_, ResultB_, ResultContainerC_, ResultC_, ResultContainerD_, ResultD_>
QuadConstraintStream<ResultA_,ResultB_, ResultC_, ResultD_> groupBy(TriConstraintCollector<A, B, C, ResultContainerA_, ResultA_> collectorA, TriConstraintCollector<A, B, C, ResultContainerB_, ResultB_> collectorB, TriConstraintCollector<A, B, C, ResultContainerC_, ResultC_> collectorC, TriConstraintCollector<A, B, C, ResultContainerD_, ResultD_> collectorD) final <D> TriConstraintStream<A,B, C> final <D> TriConstraintStream<A,B, C> ifExists(UniConstraintStream<D> otherStream, QuadJoiner<A, B, C, D>... joiners) final <D> TriConstraintStream<A,B, C> ifExistsIncludingNullVars(Class<D> otherClass, QuadJoiner<A, B, C, D>... joiners) final <D> TriConstraintStream<A,B, C> ifNotExists(Class<D> otherClass, QuadJoiner<A, B, C, D>... joiners) final <D> TriConstraintStream<A,B, C> ifNotExists(UniConstraintStream<D> otherStream, QuadJoiner<A, B, C, D>... joiners) final <D> TriConstraintStream<A,B, C> ifNotExistsIncludingNullVars(Class<D> otherClass, QuadJoiner<A, B, C, D>... joiners) <Score_ extends Score<Score_>>
TriConstraintBuilder<A,B, C, Score_> innerImpact(Score_ constraintWeight, ToIntTriFunction<A, B, C> matchWeigher, ScoreImpactType scoreImpactType) <Score_ extends Score<Score_>>
TriConstraintBuilder<A,B, C, Score_> innerImpact(Score_ constraintWeight, ToLongTriFunction<A, B, C> matchWeigher, ScoreImpactType scoreImpactType) <Score_ extends Score<Score_>>
TriConstraintBuilder<A,B, C, Score_> innerImpact(Score_ constraintWeight, TriFunction<A, B, C, BigDecimal> matchWeigher, ScoreImpactType scoreImpactType) final <D> QuadConstraintStream<A,B, C, D> join(UniConstraintStream<D> otherStream, QuadJoiner<A, B, C, D>... joiners) <ResultA_> UniConstraintStream<ResultA_>map(TriFunction<A, B, C, ResultA_> mapping) <Stream_ extends BavetAbstractTriConstraintStream<Solution_,A, B, C>>
Stream_shareAndAddChild(Stream_ stream) Methods inherited from class org.optaplanner.constraint.streams.bavet.common.BavetAbstractConstraintStream
assertBavetUniConstraintStream, buildConstraint, buildNode, collectActiveConstraintStreams, getConstraintFactory, getTupleSourceMethods inherited from class org.optaplanner.constraint.streams.common.AbstractConstraintStream
buildConstraintWeightExtractor, buildConstraintWeightExtractor, getRetrievalSemanticsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.optaplanner.core.api.score.stream.ConstraintStream
getConstraintFactoryMethods inherited from interface org.optaplanner.constraint.streams.common.tri.InnerTriConstraintStream
distinct, getRetrievalSemantics, guaranteesDistinct, 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 org.optaplanner.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
-
Field Details
-
childStreamList
-
-
Constructor Details
-
BavetAbstractTriConstraintStream
public BavetAbstractTriConstraintStream(BavetConstraintFactory<Solution_> constraintFactory, RetrievalSemantics retrievalSemantics)
-
-
Method Details
-
getChildStreamList
-
filter
- Specified by:
filterin interfaceTriConstraintStream<Solution_,A, B>
-
join
@SafeVarargs public final <D> QuadConstraintStream<A,B, joinC, D> (UniConstraintStream<D> otherStream, QuadJoiner<A, B, C, D>... joiners) - Specified by:
joinin interfaceTriConstraintStream<Solution_,A, B>
-
ifExists
@SafeVarargs public final <D> TriConstraintStream<A,B, ifExistsC> (Class<D> otherClass, QuadJoiner<A, B, C, D>... joiners) - Specified by:
ifExistsin interfaceTriConstraintStream<Solution_,A, B>
-
ifExistsIncludingNullVars
@SafeVarargs public final <D> TriConstraintStream<A,B, ifExistsIncludingNullVarsC> (Class<D> otherClass, QuadJoiner<A, B, C, D>... joiners) - Specified by:
ifExistsIncludingNullVarsin interfaceTriConstraintStream<Solution_,A, B>
-
ifExists
@SafeVarargs public final <D> TriConstraintStream<A,B, ifExistsC> (UniConstraintStream<D> otherStream, QuadJoiner<A, B, C, D>... joiners) -
ifNotExists
@SafeVarargs public final <D> TriConstraintStream<A,B, ifNotExistsC> (Class<D> otherClass, QuadJoiner<A, B, C, D>... joiners) - Specified by:
ifNotExistsin interfaceTriConstraintStream<Solution_,A, B>
-
ifNotExistsIncludingNullVars
@SafeVarargs public final <D> TriConstraintStream<A,B, ifNotExistsIncludingNullVarsC> (Class<D> otherClass, QuadJoiner<A, B, C, D>... joiners) - Specified by:
ifNotExistsIncludingNullVarsin interfaceTriConstraintStream<Solution_,A, B>
-
ifNotExists
@SafeVarargs public final <D> TriConstraintStream<A,B, ifNotExistsC> (UniConstraintStream<D> otherStream, QuadJoiner<A, B, C, D>... joiners) -
groupBy
public <ResultContainer_,Result_> UniConstraintStream<Result_> groupBy(TriConstraintCollector<A, B, C, ResultContainer_, Result_> collector) - Specified by:
groupByin interfaceTriConstraintStream<Solution_,A, B>
-
groupBy
public <ResultContainerA_,ResultA_, BiConstraintStream<ResultA_,ResultContainerB_, ResultB_> ResultB_> groupBy(TriConstraintCollector<A, B, C, ResultContainerA_, ResultA_> collectorA, TriConstraintCollector<A, B, C, ResultContainerB_, ResultB_> collectorB) - Specified by:
groupByin interfaceTriConstraintStream<Solution_,A, B>
-
groupBy
public <ResultContainerA_,ResultA_, TriConstraintStream<ResultA_,ResultContainerB_, ResultB_, ResultContainerC_, ResultC_> ResultB_, groupByResultC_> (TriConstraintCollector<A, B, C, ResultContainerA_, ResultA_> collectorA, TriConstraintCollector<A, B, C, ResultContainerB_, ResultB_> collectorB, TriConstraintCollector<A, B, C, ResultContainerC_, ResultC_> collectorC) - Specified by:
groupByin interfaceTriConstraintStream<Solution_,A, B>
-
groupBy
public <ResultContainerA_,ResultA_, QuadConstraintStream<ResultA_,ResultContainerB_, ResultB_, ResultContainerC_, ResultC_, ResultContainerD_, ResultD_> ResultB_, groupByResultC_, ResultD_> (TriConstraintCollector<A, B, C, ResultContainerA_, ResultA_> collectorA, TriConstraintCollector<A, B, C, ResultContainerB_, ResultB_> collectorB, TriConstraintCollector<A, B, C, ResultContainerC_, ResultC_> collectorC, TriConstraintCollector<A, B, C, ResultContainerD_, ResultD_> collectorD) - Specified by:
groupByin interfaceTriConstraintStream<Solution_,A, B>
-
groupBy
public <GroupKey_> UniConstraintStream<GroupKey_> groupBy(TriFunction<A, B, C, GroupKey_> groupKeyMapping) - Specified by:
groupByin interfaceTriConstraintStream<Solution_,A, B>
-
groupBy
public <GroupKey_,ResultContainerB_, TriConstraintStream<GroupKey_,ResultB_, ResultContainerC_, ResultC_> ResultB_, groupByResultC_> (TriFunction<A, B, C, GroupKey_> groupKeyMapping, TriConstraintCollector<A, B, C, ResultContainerB_, ResultB_> collectorB, TriConstraintCollector<A, B, C, ResultContainerC_, ResultC_> collectorC) - Specified by:
groupByin interfaceTriConstraintStream<Solution_,A, B>
-
groupBy
public <GroupKey_,ResultContainerB_, QuadConstraintStream<GroupKey_,ResultB_, ResultContainerC_, ResultC_, ResultContainerD_, ResultD_> ResultB_, groupByResultC_, ResultD_> (TriFunction<A, B, C, GroupKey_> groupKeyMapping, TriConstraintCollector<A, B, C, ResultContainerB_, ResultB_> collectorB, TriConstraintCollector<A, B, C, ResultContainerC_, ResultC_> collectorC, TriConstraintCollector<A, B, C, ResultContainerD_, ResultD_> collectorD) - Specified by:
groupByin interfaceTriConstraintStream<Solution_,A, B>
-
groupBy
public <GroupKey_,ResultContainer_, BiConstraintStream<GroupKey_,Result_> Result_> groupBy(TriFunction<A, B, C, GroupKey_> groupKeyMapping, TriConstraintCollector<A, B, C, ResultContainer_, Result_> collector) - Specified by:
groupByin interfaceTriConstraintStream<Solution_,A, B>
-
groupBy
public <GroupKeyA_,GroupKeyB_> BiConstraintStream<GroupKeyA_,GroupKeyB_> groupBy(TriFunction<A, B, C, GroupKeyA_> groupKeyAMapping, TriFunction<A, B, C, GroupKeyB_> groupKeyBMapping) - Specified by:
groupByin interfaceTriConstraintStream<Solution_,A, B>
-
groupBy
public <GroupKeyA_,GroupKeyB_, TriConstraintStream<GroupKeyA_,ResultContainer_, Result_> GroupKeyB_, groupByResult_> (TriFunction<A, B, C, GroupKeyA_> groupKeyAMapping, TriFunction<A, B, C, GroupKeyB_> groupKeyBMapping, TriConstraintCollector<A, B, C, ResultContainer_, Result_> collector) - Specified by:
groupByin interfaceTriConstraintStream<Solution_,A, B>
-
groupBy
public <GroupKeyA_,GroupKeyB_, QuadConstraintStream<GroupKeyA_,ResultContainerC_, ResultC_, ResultContainerD_, ResultD_> GroupKeyB_, groupByResultC_, ResultD_> (TriFunction<A, B, C, GroupKeyA_> groupKeyAMapping, TriFunction<A, B, C, GroupKeyB_> groupKeyBMapping, TriConstraintCollector<A, B, C, ResultContainerC_, ResultC_> collectorC, TriConstraintCollector<A, B, C, ResultContainerD_, ResultD_> collectorD) - Specified by:
groupByin interfaceTriConstraintStream<Solution_,A, B>
-
groupBy
public <GroupKeyA_,GroupKeyB_, TriConstraintStream<GroupKeyA_,GroupKeyC_> GroupKeyB_, groupByGroupKeyC_> (TriFunction<A, B, C, GroupKeyA_> groupKeyAMapping, TriFunction<A, B, C, GroupKeyB_> groupKeyBMapping, TriFunction<A, B, C, GroupKeyC_> groupKeyCMapping) - Specified by:
groupByin interfaceTriConstraintStream<Solution_,A, B>
-
groupBy
public <GroupKeyA_,GroupKeyB_, QuadConstraintStream<GroupKeyA_,GroupKeyC_, ResultContainerD_, ResultD_> GroupKeyB_, groupByGroupKeyC_, ResultD_> (TriFunction<A, B, C, GroupKeyA_> groupKeyAMapping, TriFunction<A, B, C, GroupKeyB_> groupKeyBMapping, TriFunction<A, B, C, GroupKeyC_> groupKeyCMapping, TriConstraintCollector<A, B, C, ResultContainerD_, ResultD_> collectorD) - Specified by:
groupByin interfaceTriConstraintStream<Solution_,A, B>
-
groupBy
public <GroupKeyA_,GroupKeyB_, QuadConstraintStream<GroupKeyA_,GroupKeyC_, GroupKeyD_> GroupKeyB_, groupByGroupKeyC_, GroupKeyD_> (TriFunction<A, B, C, GroupKeyA_> groupKeyAMapping, TriFunction<A, B, C, GroupKeyB_> groupKeyBMapping, TriFunction<A, B, C, GroupKeyC_> groupKeyCMapping, TriFunction<A, B, C, GroupKeyD_> groupKeyDMapping) - Specified by:
groupByin interfaceTriConstraintStream<Solution_,A, B>
-
map
- Specified by:
mapin interfaceTriConstraintStream<Solution_,A, B>
-
flattenLast
public <ResultC_> TriConstraintStream<A,B, flattenLastResultC_> (Function<C, Iterable<ResultC_>> mapping) - Specified by:
flattenLastin interfaceTriConstraintStream<Solution_,A, B>
-
innerImpact
public <Score_ extends Score<Score_>> TriConstraintBuilder<A,B, innerImpactC, Score_> (Score_ constraintWeight, ToIntTriFunction<A, B, C> matchWeigher, ScoreImpactType scoreImpactType) - Specified by:
innerImpactin interfaceInnerTriConstraintStream<Solution_,A, B>
-
innerImpact
public <Score_ extends Score<Score_>> TriConstraintBuilder<A,B, innerImpactC, Score_> (Score_ constraintWeight, ToLongTriFunction<A, B, C> matchWeigher, ScoreImpactType scoreImpactType) - Specified by:
innerImpactin interfaceInnerTriConstraintStream<Solution_,A, B>
-
innerImpact
public <Score_ extends Score<Score_>> TriConstraintBuilder<A,B, innerImpactC, Score_> (Score_ constraintWeight, TriFunction<A, B, C, BigDecimal> matchWeigher, ScoreImpactType scoreImpactType) - Specified by:
innerImpactin interfaceInnerTriConstraintStream<Solution_,A, B>
-
getDefaultJustificationMapping
protected final QuadFunction<A,B, getDefaultJustificationMapping()C, Score<?>, DefaultConstraintJustification> - Specified by:
getDefaultJustificationMappingin classAbstractConstraintStream<Solution_>
-
getDefaultIndictedObjectsMapping
- Specified by:
getDefaultIndictedObjectsMappingin classAbstractConstraintStream<Solution_>
-