public final class DroolsUniCondition<A> extends DroolsCondition<DroolsUniRuleStructure<A>>
ruleStructure
Constructor and Description |
---|
DroolsUniCondition(Class<A> aVariableType,
LongSupplier variableIdSupplier) |
DroolsUniCondition(DroolsUniRuleStructure<A> ruleStructure) |
Modifier and Type | Method and Description |
---|---|
<NewA,ResultContainer> |
andCollect(UniConstraintCollector<A,ResultContainer,NewA> collector) |
DroolsUniCondition<A> |
andFilter(Predicate<A> predicate) |
<NewA> DroolsUniCondition<NewA> |
andGroup(Function<A,NewA> groupKeyMapping) |
<ResultContainer,NewA,NewB> |
andGroupWithCollect(Function<A,NewA> groupKeyMapping,
UniConstraintCollector<A,ResultContainer,NewB> collector)
The goal of this method is to create the left-hand side of a rule to look like this:
when
set(size > 0): accumulate(Person(), $set: Pair.of(Person::getCity, ConstraintCollectors.count()))
Pair($newA: left, $newB: right) from $set
then
...
|
<B> DroolsBiCondition<A,B> |
andJoin(DroolsUniCondition<B> bCondition,
AbstractBiJoiner<A,B> biJoiner) |
List<org.drools.model.RuleItemBuilder<?>> |
completeWithScoring(org.drools.model.Global<? extends AbstractScoreHolder<?>> scoreHolderGlobal) |
List<org.drools.model.RuleItemBuilder<?>> |
completeWithScoring(org.drools.model.Global<? extends AbstractScoreHolder<?>> scoreHolderGlobal,
Function<A,BigDecimal> matchWeighter) |
List<org.drools.model.RuleItemBuilder<?>> |
completeWithScoring(org.drools.model.Global<? extends AbstractScoreHolder<?>> scoreHolderGlobal,
ToIntFunction<A> matchWeighter) |
List<org.drools.model.RuleItemBuilder<?>> |
completeWithScoring(org.drools.model.Global<? extends AbstractScoreHolder<?>> scoreHolderGlobal,
ToLongFunction<A> matchWeighter) |
static org.drools.model.Index.ConstraintType |
getConstraintType(JoinerType type) |
getRuleStructure, impactScore, impactScore, impactScore, impactScore
public DroolsUniCondition(Class<A> aVariableType, LongSupplier variableIdSupplier)
public DroolsUniCondition(DroolsUniRuleStructure<A> ruleStructure)
public static org.drools.model.Index.ConstraintType getConstraintType(JoinerType type)
public DroolsUniCondition<A> andFilter(Predicate<A> predicate)
public <NewA,ResultContainer> DroolsUniCondition<NewA> andCollect(UniConstraintCollector<A,ResultContainer,NewA> collector)
public <NewA> DroolsUniCondition<NewA> andGroup(Function<A,NewA> groupKeyMapping)
public <ResultContainer,NewA,NewB> DroolsBiCondition<NewA,NewB> andGroupWithCollect(Function<A,NewA> groupKeyMapping, UniConstraintCollector<A,ResultContainer,NewB> collector)
when set(size > 0): accumulate(Person(), $set: Pair.of(Person::getCity, ConstraintCollectors.count())) Pair($newA: left, $newB: right) from $set then ... end
Note: This is pseudo-code and the actual Drools code will look slightly different in terms of syntax.
ResultContainer
- implementation detail, unimportantNewA
- type of the first logical factNewB
- type of the second logical factgroupKeyMapping
- never null, grouping to applycollector
- never null, collector to applypublic <B> DroolsBiCondition<A,B> andJoin(DroolsUniCondition<B> bCondition, AbstractBiJoiner<A,B> biJoiner)
public List<org.drools.model.RuleItemBuilder<?>> completeWithScoring(org.drools.model.Global<? extends AbstractScoreHolder<?>> scoreHolderGlobal)
public List<org.drools.model.RuleItemBuilder<?>> completeWithScoring(org.drools.model.Global<? extends AbstractScoreHolder<?>> scoreHolderGlobal, ToIntFunction<A> matchWeighter)
public List<org.drools.model.RuleItemBuilder<?>> completeWithScoring(org.drools.model.Global<? extends AbstractScoreHolder<?>> scoreHolderGlobal, ToLongFunction<A> matchWeighter)
public List<org.drools.model.RuleItemBuilder<?>> completeWithScoring(org.drools.model.Global<? extends AbstractScoreHolder<?>> scoreHolderGlobal, Function<A,BigDecimal> matchWeighter)
Copyright © 2006–2019 JBoss by Red Hat. All rights reserved.