public abstract class DroolsAbstractUniConstraintStream<Solution_,A> extends DroolsAbstractConstraintStream<Solution_> implements InnerUniConstraintStream<A>
| Modifier and Type | Field and Description |
|---|---|
protected List<DroolsAbstractConstraintStream<Solution_>> |
childStreamList |
constraintFactory| Constructor and Description |
|---|
DroolsAbstractUniConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory) |
| Modifier and Type | Method and Description |
|---|---|
void |
createRuleItemBuilders(List<<any>> ruleItemBuilderList,
<any> scoreHolderGlobal) |
DroolsAbstractUniConstraintStream<Solution_,A> |
filter(Predicate<A> predicate)
Exhaustively test each fact against the
Predicate
and match if Predicate.test(Object) returns true. |
abstract <any> |
getPattern() |
abstract <any> |
getVariableDeclaration() |
<GroupKey_> |
groupBy(Function<A,GroupKey_> groupKeyMapping) |
<GroupKey_,ResultContainer_,Result_> |
groupBy(Function<A,GroupKey_> groupKeyMapping,
UniConstraintCollector<A,ResultContainer_,Result_> collector) |
<GroupKeyA_,GroupKeyB_> |
groupBy(Function<A,GroupKeyA_> groupKeyAMapping,
Function<A,GroupKeyB_> groupKeyBMapping) |
<GroupKeyA_,GroupKeyB_,ResultContainer_,Result_> |
groupBy(Function<A,GroupKeyA_> groupKeyAMapping,
Function<A,GroupKeyB_> groupKeyBMapping,
UniConstraintCollector<A,ResultContainer_,Result_> collector) |
<GroupKey_,ResultContainer_,Result_> |
groupBy(UniConstraintCollector<A,ResultContainer_,Result_> collector) |
Constraint |
impactScore(String constraintPackage,
String constraintName,
Score<?> constraintWeight,
boolean positive) |
Constraint |
impactScore(String constraintPackage,
String constraintName,
Score<?> constraintWeight,
ToIntFunction<A> matchWeigher,
boolean positive) |
Constraint |
impactScoreBigDecimal(String constraintPackage,
String constraintName,
Score<?> constraintWeight,
Function<A,BigDecimal> matchWeigher,
boolean positive) |
Constraint |
impactScoreConfigurable(String constraintPackage,
String constraintName,
boolean positive) |
Constraint |
impactScoreConfigurable(String constraintPackage,
String constraintName,
ToIntFunction<A> matchWeigher,
boolean positive) |
Constraint |
impactScoreConfigurableBigDecimal(String constraintPackage,
String constraintName,
Function<A,BigDecimal> matchWeigher,
boolean positive) |
Constraint |
impactScoreConfigurableLong(String constraintPackage,
String constraintName,
ToLongFunction<A> matchWeigher,
boolean positive) |
Constraint |
impactScoreLong(String constraintPackage,
String constraintName,
Score<?> constraintWeight,
ToLongFunction<A> matchWeigher,
boolean positive) |
<B> BiConstraintStream<A,B> |
join(UniConstraintStream<B> otherStream,
BiJoiner<A,B> joiner)
Create a new
BiConstraintStream for every combination of A and B for which the BiJoiner
is true (for the properties it extracts from both facts). |
buildConstraint, buildConstraintConfigurable, getConstraintFactory, getFromStreamListbuildConstraintWeightExtractor, buildConstraintWeightExtractor, penalize, penalizeConfigurable, reward, rewardConfigurable, validateConstraintIdclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitpenalize, penalizeBigDecimal, penalizeConfigurable, penalizeConfigurableBigDecimal, penalizeConfigurableLong, penalizeLong, reward, rewardBigDecimal, rewardConfigurable, rewardConfigurableBigDecimal, rewardConfigurableLong, rewardLongjoin, join, join, join, join, join, join, penalize, penalizeBigDecimal, penalizeConfigurable, penalizeConfigurableBigDecimal, penalizeConfigurableLong, penalizeLong, reward, rewardBigDecimal, rewardConfigurable, rewardConfigurableBigDecimal, rewardConfigurableLong, rewardLonggetConstraintFactory, penalize, penalize, penalizeConfigurable, penalizeConfigurable, reward, reward, rewardConfigurable, rewardConfigurableprotected final List<DroolsAbstractConstraintStream<Solution_>> childStreamList
public DroolsAbstractUniConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory)
public DroolsAbstractUniConstraintStream<Solution_,A> filter(Predicate<A> predicate)
UniConstraintStreamPredicate
and match if Predicate.test(Object) returns true.filter in interface UniConstraintStream<A>predicate - never nullpublic <B> BiConstraintStream<A,B> join(UniConstraintStream<B> otherStream, BiJoiner<A,B> joiner)
UniConstraintStreamBiConstraintStream for every combination of A and B for which the BiJoiner
is true (for the properties it extracts from both facts).
Important: This is faster and more scalable than a join
followed by a filter,
because it applies hashing and/or indexing on the properties,
so it doesn't create nor checks every combination of A and B.
join in interface UniConstraintStream<A>B - the type of the second matched factotherStream - never nulljoiner - never nullBiJoiner is truepublic <GroupKey_,ResultContainer_,Result_> UniConstraintStream<Result_> groupBy(UniConstraintCollector<A,ResultContainer_,Result_> collector)
groupBy in interface UniConstraintStream<A>public <GroupKey_> UniConstraintStream<GroupKey_> groupBy(Function<A,GroupKey_> groupKeyMapping)
groupBy in interface UniConstraintStream<A>public <GroupKey_,ResultContainer_,Result_> BiConstraintStream<GroupKey_,Result_> groupBy(Function<A,GroupKey_> groupKeyMapping, UniConstraintCollector<A,ResultContainer_,Result_> collector)
groupBy in interface UniConstraintStream<A>public <GroupKeyA_,GroupKeyB_> BiConstraintStream<GroupKeyA_,GroupKeyB_> groupBy(Function<A,GroupKeyA_> groupKeyAMapping, Function<A,GroupKeyB_> groupKeyBMapping)
groupBy in interface UniConstraintStream<A>public <GroupKeyA_,GroupKeyB_,ResultContainer_,Result_> TriConstraintStream<GroupKeyA_,GroupKeyB_,Result_> groupBy(Function<A,GroupKeyA_> groupKeyAMapping, Function<A,GroupKeyB_> groupKeyBMapping, UniConstraintCollector<A,ResultContainer_,Result_> collector)
groupBy in interface UniConstraintStream<A>public final Constraint impactScore(String constraintPackage, String constraintName, Score<?> constraintWeight, boolean positive)
impactScore in class AbstractConstraintStream<Solution_>public final Constraint impactScore(String constraintPackage, String constraintName, Score<?> constraintWeight, ToIntFunction<A> matchWeigher, boolean positive)
impactScore in interface InnerUniConstraintStream<A>public final Constraint impactScoreLong(String constraintPackage, String constraintName, Score<?> constraintWeight, ToLongFunction<A> matchWeigher, boolean positive)
impactScoreLong in interface InnerUniConstraintStream<A>public final Constraint impactScoreBigDecimal(String constraintPackage, String constraintName, Score<?> constraintWeight, Function<A,BigDecimal> matchWeigher, boolean positive)
impactScoreBigDecimal in interface InnerUniConstraintStream<A>public final Constraint impactScoreConfigurable(String constraintPackage, String constraintName, boolean positive)
impactScoreConfigurable in class AbstractConstraintStream<Solution_>public final Constraint impactScoreConfigurable(String constraintPackage, String constraintName, ToIntFunction<A> matchWeigher, boolean positive)
impactScoreConfigurable in interface InnerUniConstraintStream<A>public final Constraint impactScoreConfigurableLong(String constraintPackage, String constraintName, ToLongFunction<A> matchWeigher, boolean positive)
impactScoreConfigurableLong in interface InnerUniConstraintStream<A>public final Constraint impactScoreConfigurableBigDecimal(String constraintPackage, String constraintName, Function<A,BigDecimal> matchWeigher, boolean positive)
impactScoreConfigurableBigDecimal in interface InnerUniConstraintStream<A>public void createRuleItemBuilders(List<<any>> ruleItemBuilderList, <any> scoreHolderGlobal)
createRuleItemBuilders in class DroolsAbstractConstraintStream<Solution_>public abstract <any> getVariableDeclaration()
public abstract <any> getPattern()
Copyright © 2006–2019 JBoss by Red Hat. All rights reserved.