Package | Description |
---|---|
org.optaplanner.core.api.score.stream |
The
ConstraintStream API:
a way to define constraints for Score calculation. |
org.optaplanner.core.api.score.stream.uni |
The
ConstraintStream API for uni-tuples. |
org.optaplanner.core.impl.score.stream.bavet.uni | |
org.optaplanner.core.impl.score.stream.drools.bi | |
org.optaplanner.core.impl.score.stream.drools.uni | |
org.optaplanner.core.impl.score.stream.uni |
Modifier and Type | Method and Description |
---|---|
static <A> UniConstraintCollector<A,?,Integer> |
ConstraintCollectors.count() |
static <A> UniConstraintCollector<A,?,Integer> |
ConstraintCollectors.countDistinct(Function<A,?> groupValueMapping) |
static <A> UniConstraintCollector<A,?,Long> |
ConstraintCollectors.countDistinctLong(Function<A,?> groupValueMapping) |
static <A> UniConstraintCollector<A,?,Long> |
ConstraintCollectors.countLong() |
static <A extends Comparable<A>> |
ConstraintCollectors.max() |
static <A> UniConstraintCollector<A,?,A> |
ConstraintCollectors.max(Comparator<A> comparator) |
static <A extends Comparable<A>> |
ConstraintCollectors.min() |
static <A> UniConstraintCollector<A,?,A> |
ConstraintCollectors.min(Comparator<A> comparator) |
static <A> UniConstraintCollector<A,?,Integer> |
ConstraintCollectors.sum(ToIntFunction<? super A> groupValueMapping) |
static <A> UniConstraintCollector<A,?,BigDecimal> |
ConstraintCollectors.sumBigDecimal(Function<? super A,BigDecimal> groupValueMapping) |
static <A> UniConstraintCollector<A,?,BigInteger> |
ConstraintCollectors.sumBigInteger(Function<? super A,BigInteger> groupValueMapping) |
static <A> UniConstraintCollector<A,?,Duration> |
ConstraintCollectors.sumDuration(Function<? super A,Duration> groupValueMapping) |
static <A> UniConstraintCollector<A,?,Long> |
ConstraintCollectors.sumLong(ToLongFunction<? super A> groupValueMapping) |
static <A> UniConstraintCollector<A,?,Period> |
ConstraintCollectors.sumPeriod(Function<? super A,Period> groupValueMapping) |
Modifier and Type | Method and Description |
---|---|
<GroupKey_,ResultContainer_,Result_> |
UniConstraintStream.groupBy(Function<A,GroupKey_> groupKeyMapping,
UniConstraintCollector<A,ResultContainer_,Result_> collector)
Convert the
UniConstraintStream to a BiConstraintStream , consisting of tuples which have:
As the first fact, the value resulting from applying the group key mapping function on the fact from the
original tuple. |
<ResultContainer_,Result_> |
UniConstraintStream.groupBy(UniConstraintCollector<A,ResultContainer_,Result_> collector)
Runs all tuples of the stream through a given @
UniConstraintCollector and converts them into a new
UniConstraintStream which only has a single tuple, the result of applying UniConstraintCollector . |
Modifier and Type | Method and Description |
---|---|
<GroupKey_,ResultContainer_,Result_> |
BavetAbstractUniConstraintStream.groupBy(Function<A,GroupKey_> groupKeyMapping,
UniConstraintCollector<A,ResultContainer_,Result_> collector) |
<ResultContainer_,Result_> |
BavetAbstractUniConstraintStream.groupBy(UniConstraintCollector<A,ResultContainer_,Result_> collector) |
Constructor and Description |
---|
BavetGroupBridgeUniConstraintStream(BavetConstraintFactory<Solution_> constraintFactory,
BavetAbstractUniConstraintStream<Solution_,A> parent,
Function<A,NewA> groupKeyMapping,
UniConstraintCollector<A,ResultContainer_,NewB> collector) |
BavetGroupBridgeUniNode(BavetConstraintSession session,
int nodeOrder,
BavetAbstractUniNode<A> parentNode,
Function<A,NewA> groupKeyMapping,
UniConstraintCollector<A,ResultContainer_,NewB> collector,
BavetGroupBiNode<NewA,ResultContainer_,NewB> groupNode) |
Constructor and Description |
---|
DroolsGroupingBiConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory,
DroolsAbstractUniConstraintStream<Solution_,A> parent,
Function<A,NewA> groupKeyMapping,
UniConstraintCollector<A,ResultContainer_,NewB> collector) |
Modifier and Type | Method and Description |
---|---|
<ResultContainer,NewA,NewB> |
DroolsUniCondition.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> |
DroolsUniCondition.completeWithLogicalInsert(Object ruleId,
UniConstraintCollector<A,ResultContainer,NewA> collector) |
<GroupKey_,ResultContainer_,Result_> |
DroolsAbstractUniConstraintStream.groupBy(Function<A,GroupKey_> groupKeyMapping,
UniConstraintCollector<A,ResultContainer_,Result_> collector) |
<ResultContainer_,Result_> |
DroolsAbstractUniConstraintStream.groupBy(UniConstraintCollector<A,ResultContainer_,Result_> collector) |
Constructor and Description |
---|
DroolsGroupingUniConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory,
DroolsAbstractUniConstraintStream<Solution_,A> parent,
UniConstraintCollector<A,ResultContainer_,NewA> collector) |
Modifier and Type | Class and Description |
---|---|
class |
DefaultUniConstraintCollector<A,ResultContainer_,Result_> |
Copyright © 2006–2019 JBoss by Red Hat. All rights reserved.