Class DroolsAbstractTriConstraintStream<Solution_,A,B,C>
java.lang.Object
org.optaplanner.constraint.streams.common.AbstractConstraintStream<Solution_>
org.optaplanner.constraint.streams.drools.common.DroolsAbstractConstraintStream<Solution_,TriLeftHandSide<A,B,C>>
org.optaplanner.constraint.streams.drools.tri.DroolsAbstractTriConstraintStream<Solution_,A,B,C>
- All Implemented Interfaces:
org.optaplanner.constraint.streams.common.tri.InnerTriConstraintStream<A,,B, C> org.optaplanner.core.api.score.stream.ConstraintStream,org.optaplanner.core.api.score.stream.tri.TriConstraintStream<A,B, C>
- Direct Known Subclasses:
DroolsExistsTriConstraintStream,DroolsFilterTriConstraintStream,DroolsFlatteningTriConstraintStream,DroolsGroupingTriConstraintStream,DroolsJoinTriConstraintStream
public abstract class DroolsAbstractTriConstraintStream<Solution_,A,B,C>
extends DroolsAbstractConstraintStream<Solution_,TriLeftHandSide<A,B,C>>
implements org.optaplanner.constraint.streams.common.tri.InnerTriConstraintStream<A,B,C>
-
Field Summary
Fields inherited from class org.optaplanner.constraint.streams.drools.common.DroolsAbstractConstraintStream
constraintFactory -
Constructor Summary
ConstructorsConstructorDescriptionDroolsAbstractTriConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, org.optaplanner.constraint.streams.common.RetrievalSemantics retrievalSemantics) -
Method Summary
Modifier and TypeMethodDescriptionflattenLast(Function<C, Iterable<ResultC_>> mapping) protected final org.optaplanner.core.api.function.TriFunction<A,B, C, Collection<?>> protected final org.optaplanner.core.api.function.QuadFunction<A,B, C, org.optaplanner.core.api.score.Score<?>, org.optaplanner.core.api.score.stream.DefaultConstraintJustification> <GroupKey_>
org.optaplanner.core.api.score.stream.uni.UniConstraintStream<GroupKey_><GroupKey_,ResultContainer_, Result_>
org.optaplanner.core.api.score.stream.bi.BiConstraintStream<GroupKey_,Result_> groupBy(org.optaplanner.core.api.function.TriFunction<A, B, C, GroupKey_> groupKeyMapping, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ResultContainer_, Result_> collector) <GroupKey_,ResultContainerB_, ResultB_, ResultContainerC_, ResultC_>
org.optaplanner.core.api.score.stream.tri.TriConstraintStream<GroupKey_,ResultB_, ResultC_> groupBy(org.optaplanner.core.api.function.TriFunction<A, B, C, GroupKey_> groupKeyMapping, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ResultContainerB_, ResultB_> collectorB, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ResultContainerC_, ResultC_> collectorC) <GroupKey_,ResultContainerB_, ResultB_, ResultContainerC_, ResultC_, ResultContainerD_, ResultD_>
org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<GroupKey_,ResultB_, ResultC_, ResultD_> groupBy(org.optaplanner.core.api.function.TriFunction<A, B, C, GroupKey_> groupKeyMapping, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ResultContainerB_, ResultB_> collectorB, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ResultContainerC_, ResultC_> collectorC, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ResultContainerD_, ResultD_> collectorD) <GroupKeyA_,GroupKeyB_>
org.optaplanner.core.api.score.stream.bi.BiConstraintStream<GroupKeyA_,GroupKeyB_> groupBy(org.optaplanner.core.api.function.TriFunction<A, B, C, GroupKeyA_> groupKeyAMapping, org.optaplanner.core.api.function.TriFunction<A, B, C, GroupKeyB_> groupKeyBMapping) <GroupKeyA_,GroupKeyB_, GroupKeyC_>
org.optaplanner.core.api.score.stream.tri.TriConstraintStream<GroupKeyA_,GroupKeyB_, GroupKeyC_> groupBy(org.optaplanner.core.api.function.TriFunction<A, B, C, GroupKeyA_> groupKeyAMapping, org.optaplanner.core.api.function.TriFunction<A, B, C, GroupKeyB_> groupKeyBMapping, org.optaplanner.core.api.function.TriFunction<A, B, C, GroupKeyC_> groupKeyCMapping) <GroupKeyA_,GroupKeyB_, GroupKeyC_, GroupKeyD_>
org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<GroupKeyA_,GroupKeyB_, GroupKeyC_, GroupKeyD_> groupBy(org.optaplanner.core.api.function.TriFunction<A, B, C, GroupKeyA_> groupKeyAMapping, org.optaplanner.core.api.function.TriFunction<A, B, C, GroupKeyB_> groupKeyBMapping, org.optaplanner.core.api.function.TriFunction<A, B, C, GroupKeyC_> groupKeyCMapping, org.optaplanner.core.api.function.TriFunction<A, B, C, GroupKeyD_> groupKeyDMapping) <GroupKeyA_,GroupKeyB_, GroupKeyC_, ResultContainerD_, ResultD_>
org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<GroupKeyA_,GroupKeyB_, GroupKeyC_, ResultD_> groupBy(org.optaplanner.core.api.function.TriFunction<A, B, C, GroupKeyA_> groupKeyAMapping, org.optaplanner.core.api.function.TriFunction<A, B, C, GroupKeyB_> groupKeyBMapping, org.optaplanner.core.api.function.TriFunction<A, B, C, GroupKeyC_> groupKeyCMapping, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ResultContainerD_, ResultD_> collectorD) <GroupKeyA_,GroupKeyB_, ResultContainer_, Result_>
org.optaplanner.core.api.score.stream.tri.TriConstraintStream<GroupKeyA_,GroupKeyB_, Result_> groupBy(org.optaplanner.core.api.function.TriFunction<A, B, C, GroupKeyA_> groupKeyAMapping, org.optaplanner.core.api.function.TriFunction<A, B, C, GroupKeyB_> groupKeyBMapping, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ResultContainer_, Result_> collector) <GroupKeyA_,GroupKeyB_, ResultContainerC_, ResultC_, ResultContainerD_, ResultD_>
org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<GroupKeyA_,GroupKeyB_, ResultC_, ResultD_> groupBy(org.optaplanner.core.api.function.TriFunction<A, B, C, GroupKeyA_> groupKeyAMapping, org.optaplanner.core.api.function.TriFunction<A, B, C, GroupKeyB_> groupKeyBMapping, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ResultContainerC_, ResultC_> collectorC, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ResultContainerD_, ResultD_> collectorD) <ResultContainer_,Result_>
org.optaplanner.core.api.score.stream.uni.UniConstraintStream<Result_>groupBy(org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ResultContainer_, Result_> collector) <ResultContainerA_,ResultA_, ResultContainerB_, ResultB_>
org.optaplanner.core.api.score.stream.bi.BiConstraintStream<ResultA_,ResultB_> groupBy(org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ResultContainerA_, ResultA_> collectorA, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, 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.tri.TriConstraintCollector<A, B, C, ResultContainerA_, ResultA_> collectorA, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ResultContainerB_, ResultB_> collectorB, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, 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.tri.TriConstraintCollector<A, B, C, ResultContainerA_, ResultA_> collectorA, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ResultContainerB_, ResultB_> collectorB, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ResultContainerC_, ResultC_> collectorC, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ResultContainerD_, ResultD_> collectorD) ifExists(Class<D> otherClass, org.optaplanner.core.api.score.stream.quad.QuadJoiner<A, B, C, D>... joiners) ifExistsIncludingNullVars(Class<D> otherClass, org.optaplanner.core.api.score.stream.quad.QuadJoiner<A, B, C, D>... joiners) ifNotExists(Class<D> otherClass, org.optaplanner.core.api.score.stream.quad.QuadJoiner<A, B, C, D>... joiners) ifNotExistsIncludingNullVars(Class<D> otherClass, org.optaplanner.core.api.score.stream.quad.QuadJoiner<A, B, C, D>... joiners) <Score_ extends org.optaplanner.core.api.score.Score<Score_>>
org.optaplanner.core.api.score.stream.tri.TriConstraintBuilder<A,B, C, Score_> innerImpact(Score_ constraintWeight, org.optaplanner.core.api.function.ToIntTriFunction<A, B, C> matchWeigher, org.optaplanner.constraint.streams.common.ScoreImpactType scoreImpactType) <Score_ extends org.optaplanner.core.api.score.Score<Score_>>
org.optaplanner.core.api.score.stream.tri.TriConstraintBuilder<A,B, C, Score_> innerImpact(Score_ constraintWeight, org.optaplanner.core.api.function.ToLongTriFunction<A, B, C> matchWeigher, org.optaplanner.constraint.streams.common.ScoreImpactType scoreImpactType) <Score_ extends org.optaplanner.core.api.score.Score<Score_>>
org.optaplanner.core.api.score.stream.tri.TriConstraintBuilder<A,B, C, Score_> innerImpact(Score_ constraintWeight, org.optaplanner.core.api.function.TriFunction<A, B, C, BigDecimal> matchWeigher, org.optaplanner.constraint.streams.common.ScoreImpactType scoreImpactType) join(org.optaplanner.core.api.score.stream.uni.UniConstraintStream<D> otherStream, org.optaplanner.core.api.score.stream.quad.QuadJoiner<A, B, C, D>... joiners) <ResultA_> org.optaplanner.core.api.score.stream.uni.UniConstraintStream<ResultA_>Methods inherited from class org.optaplanner.constraint.streams.drools.common.DroolsAbstractConstraintStream
addChildStream, buildConstraint, createLeftHandSide, getChildStreams, getConstraintFactoryMethods 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
-
Constructor Details
-
DroolsAbstractTriConstraintStream
public DroolsAbstractTriConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, org.optaplanner.constraint.streams.common.RetrievalSemantics retrievalSemantics)
-
-
Method Details
-
filter
-
join
-
ifExists
-
ifExistsIncludingNullVars
-
ifNotExists
-
ifNotExistsIncludingNullVars
-
groupBy
-
groupBy
public <ResultContainerA_,ResultA_, org.optaplanner.core.api.score.stream.bi.BiConstraintStream<ResultA_,ResultContainerB_, ResultB_> ResultB_> groupBy(org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ResultContainerA_, ResultA_> collectorA, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, 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.tri.TriConstraintCollector<A, B, C, ResultContainerA_, ResultA_> collectorA, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ResultContainerB_, ResultB_> collectorB, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, 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.tri.TriConstraintCollector<A, B, C, ResultContainerA_, ResultA_> collectorA, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ResultContainerB_, ResultB_> collectorB, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ResultContainerC_, ResultC_> collectorC, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ResultContainerD_, ResultD_> collectorD) -
groupBy
-
groupBy
public <GroupKey_,ResultContainer_, org.optaplanner.core.api.score.stream.bi.BiConstraintStream<GroupKey_,Result_> Result_> groupBy(org.optaplanner.core.api.function.TriFunction<A, B, C, GroupKey_> groupKeyMapping, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ResultContainer_, Result_> collector) -
groupBy
public <GroupKey_,ResultContainerB_, org.optaplanner.core.api.score.stream.tri.TriConstraintStream<GroupKey_,ResultB_, ResultContainerC_, ResultC_> ResultB_, groupByResultC_> (org.optaplanner.core.api.function.TriFunction<A, B, C, GroupKey_> groupKeyMapping, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ResultContainerB_, ResultB_> collectorB, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ResultContainerC_, ResultC_> collectorC) -
groupBy
public <GroupKey_,ResultContainerB_, org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<GroupKey_,ResultB_, ResultContainerC_, ResultC_, ResultContainerD_, ResultD_> ResultB_, groupByResultC_, ResultD_> (org.optaplanner.core.api.function.TriFunction<A, B, C, GroupKey_> groupKeyMapping, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ResultContainerB_, ResultB_> collectorB, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ResultContainerC_, ResultC_> collectorC, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ResultContainerD_, ResultD_> collectorD) -
groupBy
-
groupBy
public <GroupKeyA_,GroupKeyB_, org.optaplanner.core.api.score.stream.tri.TriConstraintStream<GroupKeyA_,ResultContainer_, Result_> GroupKeyB_, groupByResult_> (org.optaplanner.core.api.function.TriFunction<A, B, C, GroupKeyA_> groupKeyAMapping, org.optaplanner.core.api.function.TriFunction<A, B, C, GroupKeyB_> groupKeyBMapping, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ResultContainer_, Result_> collector) -
groupBy
public <GroupKeyA_,GroupKeyB_, org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<GroupKeyA_,ResultContainerC_, ResultC_, ResultContainerD_, ResultD_> GroupKeyB_, groupByResultC_, ResultD_> (org.optaplanner.core.api.function.TriFunction<A, B, C, GroupKeyA_> groupKeyAMapping, org.optaplanner.core.api.function.TriFunction<A, B, C, GroupKeyB_> groupKeyBMapping, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ResultContainerC_, ResultC_> collectorC, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ResultContainerD_, ResultD_> collectorD) -
groupBy
public <GroupKeyA_,GroupKeyB_, org.optaplanner.core.api.score.stream.tri.TriConstraintStream<GroupKeyA_,GroupKeyC_> GroupKeyB_, groupByGroupKeyC_> (org.optaplanner.core.api.function.TriFunction<A, B, C, GroupKeyA_> groupKeyAMapping, org.optaplanner.core.api.function.TriFunction<A, B, C, GroupKeyB_> groupKeyBMapping, org.optaplanner.core.api.function.TriFunction<A, B, C, GroupKeyC_> groupKeyCMapping) -
groupBy
public <GroupKeyA_,GroupKeyB_, org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<GroupKeyA_,GroupKeyC_, ResultContainerD_, ResultD_> GroupKeyB_, groupByGroupKeyC_, ResultD_> (org.optaplanner.core.api.function.TriFunction<A, B, C, GroupKeyA_> groupKeyAMapping, org.optaplanner.core.api.function.TriFunction<A, B, C, GroupKeyB_> groupKeyBMapping, org.optaplanner.core.api.function.TriFunction<A, B, C, GroupKeyC_> groupKeyCMapping, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ResultContainerD_, ResultD_> collectorD) -
groupBy
public <GroupKeyA_,GroupKeyB_, org.optaplanner.core.api.score.stream.quad.QuadConstraintStream<GroupKeyA_,GroupKeyC_, GroupKeyD_> GroupKeyB_, groupByGroupKeyC_, GroupKeyD_> (org.optaplanner.core.api.function.TriFunction<A, B, C, GroupKeyA_> groupKeyAMapping, org.optaplanner.core.api.function.TriFunction<A, B, C, GroupKeyB_> groupKeyBMapping, org.optaplanner.core.api.function.TriFunction<A, B, C, GroupKeyC_> groupKeyCMapping, org.optaplanner.core.api.function.TriFunction<A, B, C, GroupKeyD_> groupKeyDMapping) -
map
-
flattenLast
-
innerImpact
public <Score_ extends org.optaplanner.core.api.score.Score<Score_>> org.optaplanner.core.api.score.stream.tri.TriConstraintBuilder<A,B, innerImpactC, Score_> (Score_ constraintWeight, org.optaplanner.core.api.function.ToIntTriFunction<A, B, C> 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.tri.TriConstraintBuilder<A,B, innerImpactC, Score_> (Score_ constraintWeight, org.optaplanner.core.api.function.ToLongTriFunction<A, B, C> 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.tri.TriConstraintBuilder<A,B, innerImpactC, Score_> (Score_ constraintWeight, org.optaplanner.core.api.function.TriFunction<A, B, C, BigDecimal> matchWeigher, org.optaplanner.constraint.streams.common.ScoreImpactType scoreImpactType) -
getDefaultJustificationMapping
protected final org.optaplanner.core.api.function.QuadFunction<A,B, getDefaultJustificationMapping()C, org.optaplanner.core.api.score.Score<?>, org.optaplanner.core.api.score.stream.DefaultConstraintJustification> - Specified by:
getDefaultJustificationMappingin classorg.optaplanner.constraint.streams.common.AbstractConstraintStream<Solution_>
-
getDefaultIndictedObjectsMapping
protected final org.optaplanner.core.api.function.TriFunction<A,B, getDefaultIndictedObjectsMapping()C, Collection<?>> - Specified by:
getDefaultIndictedObjectsMappingin classorg.optaplanner.constraint.streams.common.AbstractConstraintStream<Solution_>
-