Class DroolsGroupingTriConstraintStream<Solution_,NewA,NewB,NewC>
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_,NewA,NewB,NewC>
org.optaplanner.constraint.streams.drools.tri.DroolsGroupingTriConstraintStream<Solution_,NewA,NewB,NewC>
- All Implemented Interfaces:
org.optaplanner.constraint.streams.common.tri.InnerTriConstraintStream<NewA,,NewB, NewC> org.optaplanner.core.api.score.stream.ConstraintStream,org.optaplanner.core.api.score.stream.tri.TriConstraintStream<NewA,NewB, NewC>
public final class DroolsGroupingTriConstraintStream<Solution_,NewA,NewB,NewC>
extends DroolsAbstractTriConstraintStream<Solution_,NewA,NewB,NewC>
-
Field Summary
Fields inherited from class org.optaplanner.constraint.streams.drools.common.DroolsAbstractConstraintStream
constraintFactory -
Constructor Summary
ConstructorsConstructorDescriptionDroolsGroupingTriConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractBiConstraintStream<Solution_, A, B> parent, BiFunction<A, B, NewA> groupKeyAMapping, BiFunction<A, B, NewB> groupKeyBMapping, BiFunction<A, B, NewC> groupKeyCMapping) DroolsGroupingTriConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractBiConstraintStream<Solution_, A, B> parent, BiFunction<A, B, NewA> groupKeyAMapping, BiFunction<A, B, NewB> groupKeyBMapping, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ?, NewC> collector) DroolsGroupingTriConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractBiConstraintStream<Solution_, A, B> parent, BiFunction<A, B, NewA> groupKeyAMapping, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ?, NewB> collectorB, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ?, NewC> collectorC) DroolsGroupingTriConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractBiConstraintStream<Solution_, A, B> parent, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ?, NewA> collectorA, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ?, NewB> collectorB, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ?, NewC> collectorC) DroolsGroupingTriConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractQuadConstraintStream<Solution_, A, B, C, D> parent, org.optaplanner.core.api.function.QuadFunction<A, B, C, D, NewA> groupKeyAMapping, org.optaplanner.core.api.function.QuadFunction<A, B, C, D, NewB> groupKeyBMapping, org.optaplanner.core.api.function.QuadFunction<A, B, C, D, NewC> groupKeyCMapping) DroolsGroupingTriConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractQuadConstraintStream<Solution_, A, B, C, D> parent, org.optaplanner.core.api.function.QuadFunction<A, B, C, D, NewA> groupKeyAMapping, org.optaplanner.core.api.function.QuadFunction<A, B, C, D, NewB> groupKeyBMapping, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A, B, C, D, ?, NewC> collector) DroolsGroupingTriConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractQuadConstraintStream<Solution_, A, B, C, D> parent, org.optaplanner.core.api.function.QuadFunction<A, B, C, D, NewA> groupKeyAMapping, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A, B, C, D, ?, NewB> collectorB, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A, B, C, D, ?, NewC> collectorC) DroolsGroupingTriConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractQuadConstraintStream<Solution_, A, B, C, D> parent, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A, B, C, D, ?, NewA> collectorA, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A, B, C, D, ?, NewB> collectorB, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A, B, C, D, ?, NewC> collectorC) DroolsGroupingTriConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractTriConstraintStream<Solution_, A, B, C> parent, org.optaplanner.core.api.function.TriFunction<A, B, C, NewA> groupKeyAMapping, org.optaplanner.core.api.function.TriFunction<A, B, C, NewB> groupKeyBMapping, org.optaplanner.core.api.function.TriFunction<A, B, C, NewC> groupKeyCMapping) DroolsGroupingTriConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractTriConstraintStream<Solution_, A, B, C> parent, org.optaplanner.core.api.function.TriFunction<A, B, C, NewA> groupKeyAMapping, org.optaplanner.core.api.function.TriFunction<A, B, C, NewB> groupKeyBMapping, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ?, NewC> collector) DroolsGroupingTriConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractTriConstraintStream<Solution_, A, B, C> parent, org.optaplanner.core.api.function.TriFunction<A, B, C, NewA> groupKeyAMapping, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ?, NewB> collectorB, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ?, NewC> collectorC) DroolsGroupingTriConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractTriConstraintStream<Solution_, A, B, C> parent, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ?, NewA> collectorA, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ?, NewB> collectorB, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ?, NewC> collectorC) DroolsGroupingTriConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractUniConstraintStream<Solution_, A> parent, Function<A, NewA> groupKeyAMapping, Function<A, NewB> groupKeyBMapping, Function<A, NewC> groupKeyCMapping) DroolsGroupingTriConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractUniConstraintStream<Solution_, A> parent, Function<A, NewA> groupKeyAMapping, Function<A, NewB> groupKeyBMapping, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A, ?, NewC> collector) DroolsGroupingTriConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractUniConstraintStream<Solution_, A> parent, Function<A, NewA> groupKeyAMapping, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A, ?, NewB> collectorB, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A, ?, NewC> collectorC) DroolsGroupingTriConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractUniConstraintStream<Solution_, A> parent, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A, ?, NewA> collectorA, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A, ?, NewB> collectorB, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A, ?, NewC> collectorC) -
Method Summary
Modifier and TypeMethodDescriptionSome constructs in the Drools executable model may not be reused between different rules.booleantoString()Methods inherited from class org.optaplanner.constraint.streams.drools.tri.DroolsAbstractTriConstraintStream
filter, flattenLast, getDefaultIndictedObjectsMapping, getDefaultJustificationMapping, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, ifExists, ifExistsIncludingNullVars, ifNotExists, ifNotExistsIncludingNullVars, innerImpact, innerImpact, innerImpact, join, mapMethods inherited from class org.optaplanner.constraint.streams.drools.common.DroolsAbstractConstraintStream
addChildStream, buildConstraint, 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, 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, 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
-
DroolsGroupingTriConstraintStream
public DroolsGroupingTriConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractUniConstraintStream<Solution_, A> parent, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A, ?, NewA> collectorA, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A, ?, NewB> collectorB, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A, ?, NewC> collectorC) -
DroolsGroupingTriConstraintStream
public DroolsGroupingTriConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractBiConstraintStream<Solution_, A, B> parent, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ?, NewA> collectorA, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ?, NewB> collectorB, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ?, NewC> collectorC) -
DroolsGroupingTriConstraintStream
public DroolsGroupingTriConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractTriConstraintStream<Solution_, A, B, C> parent, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ?, NewA> collectorA, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ?, NewB> collectorB, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ?, NewC> collectorC) -
DroolsGroupingTriConstraintStream
public DroolsGroupingTriConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractQuadConstraintStream<Solution_, A, B, C, D> parent, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A, B, C, D, ?, NewA> collectorA, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A, B, C, D, ?, NewB> collectorB, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A, B, C, D, ?, NewC> collectorC) -
DroolsGroupingTriConstraintStream
public DroolsGroupingTriConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractUniConstraintStream<Solution_, A> parent, Function<A, NewA> groupKeyAMapping, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A, ?, NewB> collectorB, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A, ?, NewC> collectorC) -
DroolsGroupingTriConstraintStream
public DroolsGroupingTriConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractBiConstraintStream<Solution_, A, B> parent, BiFunction<A, B, NewA> groupKeyAMapping, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ?, NewB> collectorB, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ?, NewC> collectorC) -
DroolsGroupingTriConstraintStream
public DroolsGroupingTriConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractTriConstraintStream<Solution_, A, B, C> parent, org.optaplanner.core.api.function.TriFunction<A, B, C, NewA> groupKeyAMapping, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ?, NewB> collectorB, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ?, NewC> collectorC) -
DroolsGroupingTriConstraintStream
public DroolsGroupingTriConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractQuadConstraintStream<Solution_, A, B, C, D> parent, org.optaplanner.core.api.function.QuadFunction<A, B, C, D, NewA> groupKeyAMapping, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A, B, C, D, ?, NewB> collectorB, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A, B, C, D, ?, NewC> collectorC) -
DroolsGroupingTriConstraintStream
public DroolsGroupingTriConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractUniConstraintStream<Solution_, A> parent, Function<A, NewA> groupKeyAMapping, Function<A, NewB> groupKeyBMapping, org.optaplanner.core.api.score.stream.uni.UniConstraintCollector<A, ?, NewC> collector) -
DroolsGroupingTriConstraintStream
public DroolsGroupingTriConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractBiConstraintStream<Solution_, A, B> parent, BiFunction<A, B, NewA> groupKeyAMapping, BiFunction<A, B, NewB> groupKeyBMapping, org.optaplanner.core.api.score.stream.bi.BiConstraintCollector<A, B, ?, NewC> collector) -
DroolsGroupingTriConstraintStream
public DroolsGroupingTriConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractTriConstraintStream<Solution_, A, B, C> parent, org.optaplanner.core.api.function.TriFunction<A, B, C, NewA> groupKeyAMapping, org.optaplanner.core.api.function.TriFunction<A, B, C, NewB> groupKeyBMapping, org.optaplanner.core.api.score.stream.tri.TriConstraintCollector<A, B, C, ?, NewC> collector) -
DroolsGroupingTriConstraintStream
public DroolsGroupingTriConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractQuadConstraintStream<Solution_, A, B, C, D> parent, org.optaplanner.core.api.function.QuadFunction<A, B, C, D, NewA> groupKeyAMapping, org.optaplanner.core.api.function.QuadFunction<A, B, C, D, NewB> groupKeyBMapping, org.optaplanner.core.api.score.stream.quad.QuadConstraintCollector<A, B, C, D, ?, NewC> collector) -
DroolsGroupingTriConstraintStream
public DroolsGroupingTriConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractUniConstraintStream<Solution_, A> parent, Function<A, NewA> groupKeyAMapping, Function<A, NewB> groupKeyBMapping, Function<A, NewC> groupKeyCMapping) -
DroolsGroupingTriConstraintStream
public DroolsGroupingTriConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractBiConstraintStream<Solution_, A, B> parent, BiFunction<A, B, NewA> groupKeyAMapping, BiFunction<A, B, NewB> groupKeyBMapping, BiFunction<A, B, NewC> groupKeyCMapping) -
DroolsGroupingTriConstraintStream
public DroolsGroupingTriConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractTriConstraintStream<Solution_, A, B, C> parent, org.optaplanner.core.api.function.TriFunction<A, B, C, NewA> groupKeyAMapping, org.optaplanner.core.api.function.TriFunction<A, B, C, NewB> groupKeyBMapping, org.optaplanner.core.api.function.TriFunction<A, B, C, NewC> groupKeyCMapping) -
DroolsGroupingTriConstraintStream
public DroolsGroupingTriConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractQuadConstraintStream<Solution_, A, B, C, D> parent, org.optaplanner.core.api.function.QuadFunction<A, B, C, D, NewA> groupKeyAMapping, org.optaplanner.core.api.function.QuadFunction<A, B, C, D, NewB> groupKeyBMapping, org.optaplanner.core.api.function.QuadFunction<A, B, C, D, NewC> groupKeyCMapping)
-
-
Method Details
-
guaranteesDistinct
public boolean guaranteesDistinct() -
createLeftHandSide
Description copied from class:DroolsAbstractConstraintStreamSome constructs in the Drools executable model may not be reused between different rules. They are, among others, variable instances and beta indexes. Therefore an instance ofAbstractLeftHandSidemust never be used to create more than one rule. Therefore every constraint stream re-creates the entire chain of left hand sides every time a new rule is built. It is then left up to Drools to node-share everything it can.- Specified by:
createLeftHandSidein classDroolsAbstractConstraintStream<Solution_,TriLeftHandSide<NewA, NewB, NewC>> - Returns:
- never null, different instance on every call
-
toString
-