Class BavetAbstractBiConstraintStream<Solution_,A,B>
java.lang.Object
org.optaplanner.constraint.streams.common.AbstractConstraintStream<Solution_>
org.optaplanner.constraint.streams.bavet.common.BavetAbstractConstraintStream<Solution_>
org.optaplanner.constraint.streams.bavet.bi.BavetAbstractBiConstraintStream<Solution_,A,B>
- All Implemented Interfaces:
org.optaplanner.constraint.streams.common.bi.InnerBiConstraintStream<A,,B> org.optaplanner.core.api.score.stream.bi.BiConstraintStream<A,,B> org.optaplanner.core.api.score.stream.ConstraintStream
- Direct Known Subclasses:
BavetFilterBiConstraintStream,BavetFlattenLastBiConstraintStream,BavetFlattenLastBridgeBiConstraintStream,BavetGroupBiConstraintStream,BavetIfExistsBiConstraintStream,BavetJoinBiConstraintStream,BavetJoinBridgeBiConstraintStream,BavetMapBridgeBiConstraintStream,BavetScoringBiConstraintStream
public abstract class BavetAbstractBiConstraintStream<Solution_,A,B>
extends BavetAbstractConstraintStream<Solution_>
implements org.optaplanner.constraint.streams.common.bi.InnerBiConstraintStream<A,B>
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final List<BavetAbstractBiConstraintStream<Solution_,A, B>> Fields inherited from class org.optaplanner.constraint.streams.bavet.common.BavetAbstractConstraintStream
constraintFactory -
Constructor Summary
ConstructorsConstructorDescriptionBavetAbstractBiConstraintStream(BavetConstraintFactory<Solution_> constraintFactory, org.optaplanner.constraint.streams.common.RetrievalSemantics retrievalSemantics) -
Method Summary
Modifier and TypeMethodDescriptionfilter(BiPredicate<A, B> predicate) <ResultB_> org.optaplanner.core.api.score.stream.bi.BiConstraintStream<A,ResultB_> flattenLast(Function<B, Iterable<ResultB_>> mapping) protected final BiFunction<A,B, Collection<?>> protected final org.optaplanner.core.api.function.TriFunction<A,B, org.optaplanner.core.api.score.Score<?>, org.optaplanner.core.api.score.stream.DefaultConstraintJustification> <GroupKey_>
org.optaplanner.core.api.score.stream.uni.UniConstraintStream<GroupKey_>groupBy(BiFunction<A, B, GroupKey_> groupKeyMapping) <GroupKey_,ResultContainer_, Result_>
org.optaplanner.core.api.score.stream.bi.BiConstraintStream<GroupKey_,Result_> groupBy(BiFunction<A, B, GroupKey_> groupKeyMapping, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainer_, Result_> collector) <GroupKey_,ResultContainerB_, ResultB_, ResultContainerC_, ResultC_>
org.optaplanner.core.api.score.stream.tri.TriConstraintStream<GroupKey_,ResultB_, ResultC_> groupBy(BiFunction<A, B, GroupKey_> groupKeyMapping, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainerB_, ResultB_> collectorB, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainerC_, ResultC_> collectorC) <GroupKey_,ResultContainerB_, ResultB_, ResultContainerC_, ResultC_, ResultContainerD_, ResultD_>
org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<GroupKey_,ResultB_, ResultC_, ResultD_> groupBy(BiFunction<A, B, GroupKey_> groupKeyMapping, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainerB_, ResultB_> collectorB, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainerC_, ResultC_> collectorC, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainerD_, ResultD_> collectorD) <GroupKeyA_,GroupKeyB_>
org.optaplanner.core.api.score.stream.bi.BiConstraintStream<GroupKeyA_,GroupKeyB_> groupBy(BiFunction<A, B, GroupKeyA_> groupKeyAMapping, BiFunction<A, B, GroupKeyB_> groupKeyBMapping) <GroupKeyA_,GroupKeyB_, GroupKeyC_>
org.optaplanner.core.api.score.stream.tri.TriConstraintStream<GroupKeyA_,GroupKeyB_, GroupKeyC_> groupBy(BiFunction<A, B, GroupKeyA_> groupKeyAMapping, BiFunction<A, B, GroupKeyB_> groupKeyBMapping, BiFunction<A, B, GroupKeyC_> groupKeyCMapping) <GroupKeyA_,GroupKeyB_, GroupKeyC_, GroupKeyD_>
org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<GroupKeyA_,GroupKeyB_, GroupKeyC_, GroupKeyD_> groupBy(BiFunction<A, B, GroupKeyA_> groupKeyAMapping, BiFunction<A, B, GroupKeyB_> groupKeyBMapping, BiFunction<A, B, GroupKeyC_> groupKeyCMapping, BiFunction<A, B, GroupKeyD_> groupKeyDMapping) <GroupKeyA_,GroupKeyB_, GroupKeyC_, ResultContainerD_, ResultD_>
org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<GroupKeyA_,GroupKeyB_, GroupKeyC_, ResultD_> groupBy(BiFunction<A, B, GroupKeyA_> groupKeyAMapping, BiFunction<A, B, GroupKeyB_> groupKeyBMapping, BiFunction<A, B, GroupKeyC_> groupKeyCMapping, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainerD_, ResultD_> collectorD) <GroupKeyA_,GroupKeyB_, ResultContainer_, Result_>
org.optaplanner.core.api.score.stream.tri.TriConstraintStream<GroupKeyA_,GroupKeyB_, Result_> groupBy(BiFunction<A, B, GroupKeyA_> groupKeyAMapping, BiFunction<A, B, GroupKeyB_> groupKeyBMapping, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainer_, Result_> collector) <GroupKeyA_,GroupKeyB_, ResultContainerC_, ResultC_, ResultContainerD_, ResultD_>
org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<GroupKeyA_,GroupKeyB_, ResultC_, ResultD_> groupBy(BiFunction<A, B, GroupKeyA_> groupKeyAMapping, BiFunction<A, B, GroupKeyB_> groupKeyBMapping, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainerC_, ResultC_> collectorC, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainerD_, ResultD_> collectorD) <ResultContainer_,Result_>
org.optaplanner.core.api.score.stream.uni.UniConstraintStream<Result_>groupBy(org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainer_, Result_> collector) <ResultContainerA_,ResultA_, ResultContainerB_, ResultB_>
org.optaplanner.core.api.score.stream.bi.BiConstraintStream<ResultA_,ResultB_> groupBy(org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainerA_, ResultA_> collectorA, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainerB_, ResultB_> collectorB) <ResultContainerA_,ResultA_, ResultContainerB_, ResultB_, ResultContainerC_, ResultC_>
org.optaplanner.core.api.score.stream.tri.TriConstraintStream<ResultA_,ResultB_, ResultC_> groupBy(org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainerA_, ResultA_> collectorA, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainerB_, ResultB_> collectorB, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainerC_, ResultC_> collectorC) <ResultContainerA_,ResultA_, ResultContainerB_, ResultB_, ResultContainerC_, ResultC_, ResultContainerD_, ResultD_>
org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<ResultA_,ResultB_, ResultC_, ResultD_> groupBy(org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainerA_, ResultA_> collectorA, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainerB_, ResultB_> collectorB, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainerC_, ResultC_> collectorC, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainerD_, ResultD_> collectorD) ifExists(Class<C> otherClass, org.optaplanner.core.api.score.stream.tri.TriJoiner<A, B, C>... joiners) ifExists(org.optaplanner.core.api.score.stream.uni.UniConstraintStream<C> otherStream, org.optaplanner.core.api.score.stream.tri.TriJoiner<A, B, C>... joiners) ifExistsIncludingNullVars(Class<C> otherClass, org.optaplanner.core.api.score.stream.tri.TriJoiner<A, B, C>... joiners) ifNotExists(Class<C> otherClass, org.optaplanner.core.api.score.stream.tri.TriJoiner<A, B, C>... joiners) ifNotExists(org.optaplanner.core.api.score.stream.uni.UniConstraintStream<C> otherStream, org.optaplanner.core.api.score.stream.tri.TriJoiner<A, B, C>... joiners) ifNotExistsIncludingNullVars(Class<C> otherClass, org.optaplanner.core.api.score.stream.tri.TriJoiner<A, B, C>... joiners) <Score_ extends org.optaplanner.core.api.score.Score<Score_>>
org.optaplanner.core.api.score.stream.bi.BiConstraintBuilder<A,B, Score_> innerImpact(Score_ constraintWeight, BiFunction<A, B, BigDecimal> matchWeigher, org.optaplanner.constraint.streams.common.ScoreImpactType scoreImpactType) <Score_ extends org.optaplanner.core.api.score.Score<Score_>>
org.optaplanner.core.api.score.stream.bi.BiConstraintBuilder<A,B, Score_> innerImpact(Score_ constraintWeight, ToIntBiFunction<A, B> matchWeigher, org.optaplanner.constraint.streams.common.ScoreImpactType scoreImpactType) <Score_ extends org.optaplanner.core.api.score.Score<Score_>>
org.optaplanner.core.api.score.stream.bi.BiConstraintBuilder<A,B, Score_> innerImpact(Score_ constraintWeight, ToLongBiFunction<A, B> matchWeigher, org.optaplanner.constraint.streams.common.ScoreImpactType scoreImpactType) join(org.optaplanner.core.api.score.stream.uni.UniConstraintStream<C> otherStream, org.optaplanner.core.api.score.stream.tri.TriJoiner<A, B, C>... joiners) <ResultA_> org.optaplanner.core.api.score.stream.uni.UniConstraintStream<ResultA_>map(BiFunction<A, B, ResultA_> mapping) <Stream_ extends BavetAbstractBiConstraintStream<Solution_,A, B>>
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.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 org.optaplanner.core.api.score.stream.ConstraintStream
getConstraintFactoryMethods inherited from interface org.optaplanner.constraint.streams.common.bi.InnerBiConstraintStream
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, rewardLong
-
Field Details
-
childStreamList
-
-
Constructor Details
-
BavetAbstractBiConstraintStream
public BavetAbstractBiConstraintStream(BavetConstraintFactory<Solution_> constraintFactory, org.optaplanner.constraint.streams.common.RetrievalSemantics retrievalSemantics)
-
-
Method Details
-
getChildStreamList
-
filter
-
join
@SafeVarargs public final <C> org.optaplanner.core.api.score.stream.tri.TriConstraintStream<A,B, joinC> (org.optaplanner.core.api.score.stream.uni.UniConstraintStream<C> otherStream, org.optaplanner.core.api.score.stream.tri.TriJoiner<A, B, C>... joiners) -
ifExists
-
ifExistsIncludingNullVars
-
ifExists
@SafeVarargs public final <C> org.optaplanner.core.api.score.stream.bi.BiConstraintStream<A,B> ifExists(org.optaplanner.core.api.score.stream.uni.UniConstraintStream<C> otherStream, org.optaplanner.core.api.score.stream.tri.TriJoiner<A, B, C>... joiners) -
ifNotExists
-
ifNotExistsIncludingNullVars
-
ifNotExists
@SafeVarargs public final <C> org.optaplanner.core.api.score.stream.bi.BiConstraintStream<A,B> ifNotExists(org.optaplanner.core.api.score.stream.uni.UniConstraintStream<C> otherStream, org.optaplanner.core.api.score.stream.tri.TriJoiner<A, B, C>... joiners) -
groupBy
-
groupBy
public <ResultContainerA_,ResultA_, org.optaplanner.core.api.score.stream.bi.BiConstraintStream<ResultA_,ResultContainerB_, ResultB_> ResultB_> groupBy(org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainerA_, ResultA_> collectorA, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainerB_, ResultB_> collectorB) -
groupBy
public <ResultContainerA_,ResultA_, org.optaplanner.core.api.score.stream.tri.TriConstraintStream<ResultA_,ResultContainerB_, ResultB_, ResultContainerC_, ResultC_> ResultB_, groupByResultC_> (org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainerA_, ResultA_> collectorA, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainerB_, ResultB_> collectorB, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainerC_, ResultC_> collectorC) -
groupBy
public <ResultContainerA_,ResultA_, org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<ResultA_,ResultContainerB_, ResultB_, ResultContainerC_, ResultC_, ResultContainerD_, ResultD_> ResultB_, groupByResultC_, ResultD_> (org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainerA_, ResultA_> collectorA, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainerB_, ResultB_> collectorB, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainerC_, ResultC_> collectorC, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainerD_, ResultD_> collectorD) -
groupBy
public <GroupKey_> org.optaplanner.core.api.score.stream.uni.UniConstraintStream<GroupKey_> groupBy(BiFunction<A, B, GroupKey_> groupKeyMapping) -
groupBy
public <GroupKey_,ResultContainerB_, org.optaplanner.core.api.score.stream.tri.TriConstraintStream<GroupKey_,ResultB_, ResultContainerC_, ResultC_> ResultB_, groupByResultC_> (BiFunction<A, B, GroupKey_> groupKeyMapping, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainerB_, ResultB_> collectorB, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainerC_, ResultC_> collectorC) -
groupBy
public <GroupKey_,ResultContainerB_, org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<GroupKey_,ResultB_, ResultContainerC_, ResultC_, ResultContainerD_, ResultD_> ResultB_, groupByResultC_, ResultD_> (BiFunction<A, B, GroupKey_> groupKeyMapping, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainerB_, ResultB_> collectorB, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainerC_, ResultC_> collectorC, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainerD_, ResultD_> collectorD) -
groupBy
public <GroupKey_,ResultContainer_, org.optaplanner.core.api.score.stream.bi.BiConstraintStream<GroupKey_,Result_> Result_> groupBy(BiFunction<A, B, GroupKey_> groupKeyMapping, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainer_, Result_> collector) -
groupBy
public <GroupKeyA_,GroupKeyB_> org.optaplanner.core.api.score.stream.bi.BiConstraintStream<GroupKeyA_,GroupKeyB_> groupBy(BiFunction<A, B, GroupKeyA_> groupKeyAMapping, BiFunction<A, B, GroupKeyB_> groupKeyBMapping) -
groupBy
public <GroupKeyA_,GroupKeyB_, org.optaplanner.core.api.score.stream.tri.TriConstraintStream<GroupKeyA_,ResultContainer_, Result_> GroupKeyB_, groupByResult_> (BiFunction<A, B, GroupKeyA_> groupKeyAMapping, BiFunction<A, B, GroupKeyB_> groupKeyBMapping, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainer_, Result_> collector) -
groupBy
public <GroupKeyA_,GroupKeyB_, org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<GroupKeyA_,ResultContainerC_, ResultC_, ResultContainerD_, ResultD_> GroupKeyB_, groupByResultC_, ResultD_> (BiFunction<A, B, GroupKeyA_> groupKeyAMapping, BiFunction<A, B, GroupKeyB_> groupKeyBMapping, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainerC_, ResultC_> collectorC, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainerD_, ResultD_> collectorD) -
groupBy
public <GroupKeyA_,GroupKeyB_, org.optaplanner.core.api.score.stream.tri.TriConstraintStream<GroupKeyA_,GroupKeyC_> GroupKeyB_, groupByGroupKeyC_> (BiFunction<A, B, GroupKeyA_> groupKeyAMapping, BiFunction<A, B, GroupKeyB_> groupKeyBMapping, BiFunction<A, B, GroupKeyC_> groupKeyCMapping) -
groupBy
public <GroupKeyA_,GroupKeyB_, org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<GroupKeyA_,GroupKeyC_, ResultContainerD_, ResultD_> GroupKeyB_, groupByGroupKeyC_, ResultD_> (BiFunction<A, B, GroupKeyA_> groupKeyAMapping, BiFunction<A, B, GroupKeyB_> groupKeyBMapping, BiFunction<A, B, GroupKeyC_> groupKeyCMapping, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ResultContainerD_, ResultD_> collectorD) -
groupBy
public <GroupKeyA_,GroupKeyB_, org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<GroupKeyA_,GroupKeyC_, GroupKeyD_> GroupKeyB_, groupByGroupKeyC_, GroupKeyD_> (BiFunction<A, B, GroupKeyA_> groupKeyAMapping, BiFunction<A, B, GroupKeyB_> groupKeyBMapping, BiFunction<A, B, GroupKeyC_> groupKeyCMapping, BiFunction<A, B, GroupKeyD_> groupKeyDMapping) -
map
public <ResultA_> org.optaplanner.core.api.score.stream.uni.UniConstraintStream<ResultA_> map(BiFunction<A, B, ResultA_> mapping) -
flattenLast
-
innerImpact
public <Score_ extends org.optaplanner.core.api.score.Score<Score_>> org.optaplanner.core.api.score.stream.bi.BiConstraintBuilder<A,B, innerImpactScore_> (Score_ constraintWeight, ToIntBiFunction<A, B> matchWeigher, org.optaplanner.constraint.streams.common.ScoreImpactType scoreImpactType) -
innerImpact
public <Score_ extends org.optaplanner.core.api.score.Score<Score_>> org.optaplanner.core.api.score.stream.bi.BiConstraintBuilder<A,B, innerImpactScore_> (Score_ constraintWeight, ToLongBiFunction<A, B> matchWeigher, org.optaplanner.constraint.streams.common.ScoreImpactType scoreImpactType) -
innerImpact
public <Score_ extends org.optaplanner.core.api.score.Score<Score_>> org.optaplanner.core.api.score.stream.bi.BiConstraintBuilder<A,B, innerImpactScore_> (Score_ constraintWeight, BiFunction<A, B, BigDecimal> matchWeigher, org.optaplanner.constraint.streams.common.ScoreImpactType scoreImpactType) -
getDefaultJustificationMapping
protected final org.optaplanner.core.api.function.TriFunction<A,B, getDefaultJustificationMapping()org.optaplanner.core.api.score.Score<?>, org.optaplanner.core.api.score.stream.DefaultConstraintJustification> - Specified by:
getDefaultJustificationMappingin classorg.optaplanner.constraint.streams.common.AbstractConstraintStream<Solution_>
-
getDefaultIndictedObjectsMapping
- Specified by:
getDefaultIndictedObjectsMappingin classorg.optaplanner.constraint.streams.common.AbstractConstraintStream<Solution_>
-