public final class DroolsUniCondition<A> extends Object
Constructor and Description |
---|
DroolsUniCondition(Class<A> aVariableType) |
DroolsUniCondition(org.drools.model.Declaration<DroolsLogicalTuple> aVariableDeclaration,
Function<org.drools.model.Declaration<DroolsLogicalTuple>,org.drools.model.PatternDSL.PatternDef<DroolsLogicalTuple>> patternProvider) |
Modifier and Type | Method and Description |
---|---|
DroolsUniCondition<A> |
andFilter(Predicate<A> predicate) |
<B> DroolsBiCondition<A,B> |
andJoin(DroolsUniCondition<B> bCondition,
AbstractBiJoiner<A,B> biJoiner) |
<GroupKey_> |
completeWithLogicalInsert(Object ruleId,
Function<A,GroupKey_> groupKeyMapping) |
<ResultContainer,NewA,NewB> |
completeWithLogicalInsert(Object ruleId,
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
accumulate(Person(), $set: collectSet(Person::getCity))
$newA : City() from $set // grouping
accumulate(Person(getCity() == $newA), $newB: collect(ConstraintCollectors.count()))
then
insertLogical($newA, $newB);
end
Note: This is pseudo-code and the actual Drools code will look slightly different in terms of syntax.
|
<ResultContainer,NewA> |
completeWithLogicalInsert(Object ruleId,
UniConstraintCollector<A,ResultContainer,NewA> collector) |
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) |
DroolsMetadata<Object,A> |
getAMetadata() |
static org.drools.model.Index.ConstraintType |
getConstraintType(JoinerType type) |
public DroolsUniCondition(org.drools.model.Declaration<DroolsLogicalTuple> aVariableDeclaration, Function<org.drools.model.Declaration<DroolsLogicalTuple>,org.drools.model.PatternDSL.PatternDef<DroolsLogicalTuple>> patternProvider)
public DroolsMetadata<Object,A> getAMetadata()
public DroolsUniCondition<A> andFilter(Predicate<A> predicate)
public <B> DroolsBiCondition<A,B> andJoin(DroolsUniCondition<B> bCondition, AbstractBiJoiner<A,B> biJoiner)
public <ResultContainer,NewA,NewB> List<org.drools.model.RuleItemBuilder<?>> completeWithLogicalInsert(Object ruleId, Function<A,NewA> groupKeyMapping, UniConstraintCollector<A,ResultContainer,NewB> collector)
when accumulate(Person(), $set: collectSet(Person::getCity)) $newA : City() from $set // grouping accumulate(Person(getCity() == $newA), $newB: collect(ConstraintCollectors.count())) then insertLogical($newA, $newB); endNote: 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 factruleId
- never null, id of the context in which the new facts will be insertedgroupKeyMapping
- never null, grouping to applycollector
- never null, collector to applypublic <ResultContainer,NewA> List<org.drools.model.RuleItemBuilder<?>> completeWithLogicalInsert(Object ruleId, UniConstraintCollector<A,ResultContainer,NewA> collector)
public <GroupKey_> List<org.drools.model.RuleItemBuilder<?>> completeWithLogicalInsert(Object ruleId, Function<A,GroupKey_> groupKeyMapping)
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)
public static org.drools.model.Index.ConstraintType getConstraintType(JoinerType type)
Copyright © 2006–2019 JBoss by Red Hat. All rights reserved.