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.bi |
The
ConstraintStream API for bi-tuples. |
org.optaplanner.core.impl.score.stream.bavet.bi | |
org.optaplanner.core.impl.score.stream.bi | |
org.optaplanner.core.impl.score.stream.drools.bi | |
org.optaplanner.core.impl.score.stream.drools.tri | |
org.optaplanner.core.impl.score.stream.tri |
Modifier and Type | Method and Description |
---|---|
static <A,B,C,Property_> |
Joiners.equal(BiFunction<A,B,Property_> leftMapping,
Function<C,Property_> rightMapping) |
static <A,B,C> TriJoiner<A,B,C> |
Joiners.filtering(TriPredicate<A,B,C> filter) |
static <A,B,C,Property_ extends Comparable<Property_>> |
Joiners.greaterThan(BiFunction<A,B,Property_> leftMapping,
Function<C,Property_> rightMapping) |
static <A,B,C,Property_ extends Comparable<Property_>> |
Joiners.greaterThanOrEqual(BiFunction<A,B,Property_> leftMapping,
Function<C,Property_> rightMapping) |
static <A,B,C,Property_ extends Comparable<Property_>> |
Joiners.lessThan(BiFunction<A,B,Property_> leftMapping,
Function<C,Property_> rightMapping) |
static <A,B,C,Property_ extends Comparable<Property_>> |
Joiners.lessThanOrEqual(BiFunction<A,B,Property_> leftMapping,
Function<C,Property_> rightMapping) |
Modifier and Type | Method and Description |
---|---|
<C> BiConstraintStream<A,B> |
BiConstraintStream.ifExists(Class<C> otherClass,
TriJoiner<A,B,C>... joiners)
As defined by
BiConstraintStream.ifExists(Class, TriJoiner) . |
default <C> BiConstraintStream<A,B> |
BiConstraintStream.ifExists(Class<C> otherClass,
TriJoiner<A,B,C> joiner)
Create a new
BiConstraintStream for every pair of A and B where C exists for which the TriJoiner
is true (for the properties it extracts from the facts). |
default <C> BiConstraintStream<A,B> |
BiConstraintStream.ifExists(Class<C> otherClass,
TriJoiner<A,B,C> joiner1,
TriJoiner<A,B,C> joiner2)
As defined by
BiConstraintStream.ifExists(Class, TriJoiner) . |
default <C> BiConstraintStream<A,B> |
BiConstraintStream.ifExists(Class<C> otherClass,
TriJoiner<A,B,C> joiner1,
TriJoiner<A,B,C> joiner2)
As defined by
BiConstraintStream.ifExists(Class, TriJoiner) . |
default <C> BiConstraintStream<A,B> |
BiConstraintStream.ifExists(Class<C> otherClass,
TriJoiner<A,B,C> joiner1,
TriJoiner<A,B,C> joiner2,
TriJoiner<A,B,C> joiner3)
As defined by
BiConstraintStream.ifExists(Class, TriJoiner) . |
default <C> BiConstraintStream<A,B> |
BiConstraintStream.ifExists(Class<C> otherClass,
TriJoiner<A,B,C> joiner1,
TriJoiner<A,B,C> joiner2,
TriJoiner<A,B,C> joiner3)
As defined by
BiConstraintStream.ifExists(Class, TriJoiner) . |
default <C> BiConstraintStream<A,B> |
BiConstraintStream.ifExists(Class<C> otherClass,
TriJoiner<A,B,C> joiner1,
TriJoiner<A,B,C> joiner2,
TriJoiner<A,B,C> joiner3)
As defined by
BiConstraintStream.ifExists(Class, TriJoiner) . |
default <C> BiConstraintStream<A,B> |
BiConstraintStream.ifExists(Class<C> otherClass,
TriJoiner<A,B,C> joiner1,
TriJoiner<A,B,C> joiner2,
TriJoiner<A,B,C> joiner3,
TriJoiner<A,B,C> joiner4)
As defined by
BiConstraintStream.ifExists(Class, TriJoiner) . |
default <C> BiConstraintStream<A,B> |
BiConstraintStream.ifExists(Class<C> otherClass,
TriJoiner<A,B,C> joiner1,
TriJoiner<A,B,C> joiner2,
TriJoiner<A,B,C> joiner3,
TriJoiner<A,B,C> joiner4)
As defined by
BiConstraintStream.ifExists(Class, TriJoiner) . |
default <C> BiConstraintStream<A,B> |
BiConstraintStream.ifExists(Class<C> otherClass,
TriJoiner<A,B,C> joiner1,
TriJoiner<A,B,C> joiner2,
TriJoiner<A,B,C> joiner3,
TriJoiner<A,B,C> joiner4)
As defined by
BiConstraintStream.ifExists(Class, TriJoiner) . |
default <C> BiConstraintStream<A,B> |
BiConstraintStream.ifExists(Class<C> otherClass,
TriJoiner<A,B,C> joiner1,
TriJoiner<A,B,C> joiner2,
TriJoiner<A,B,C> joiner3,
TriJoiner<A,B,C> joiner4)
As defined by
BiConstraintStream.ifExists(Class, TriJoiner) . |
<C> BiConstraintStream<A,B> |
BiConstraintStream.ifNotExists(Class<C> otherClass,
TriJoiner<A,B,C>... joiners)
As defined by
BiConstraintStream.ifNotExists(Class, TriJoiner) . |
default <C> BiConstraintStream<A,B> |
BiConstraintStream.ifNotExists(Class<C> otherClass,
TriJoiner<A,B,C> joiner)
Create a new
BiConstraintStream for every pair of A and B where C does not exist for which the
TriJoiner is true (for the properties it extracts from the facts). |
default <C> BiConstraintStream<A,B> |
BiConstraintStream.ifNotExists(Class<C> otherClass,
TriJoiner<A,B,C> joiner1,
TriJoiner<A,B,C> joiner2)
As defined by
BiConstraintStream.ifNotExists(Class, TriJoiner) . |
default <C> BiConstraintStream<A,B> |
BiConstraintStream.ifNotExists(Class<C> otherClass,
TriJoiner<A,B,C> joiner1,
TriJoiner<A,B,C> joiner2)
As defined by
BiConstraintStream.ifNotExists(Class, TriJoiner) . |
default <C> BiConstraintStream<A,B> |
BiConstraintStream.ifNotExists(Class<C> otherClass,
TriJoiner<A,B,C> joiner1,
TriJoiner<A,B,C> joiner2,
TriJoiner<A,B,C> joiner3)
As defined by
BiConstraintStream.ifNotExists(Class, TriJoiner) . |
default <C> BiConstraintStream<A,B> |
BiConstraintStream.ifNotExists(Class<C> otherClass,
TriJoiner<A,B,C> joiner1,
TriJoiner<A,B,C> joiner2,
TriJoiner<A,B,C> joiner3)
As defined by
BiConstraintStream.ifNotExists(Class, TriJoiner) . |
default <C> BiConstraintStream<A,B> |
BiConstraintStream.ifNotExists(Class<C> otherClass,
TriJoiner<A,B,C> joiner1,
TriJoiner<A,B,C> joiner2,
TriJoiner<A,B,C> joiner3)
As defined by
BiConstraintStream.ifNotExists(Class, TriJoiner) . |
default <C> BiConstraintStream<A,B> |
BiConstraintStream.ifNotExists(Class<C> otherClass,
TriJoiner<A,B,C> joiner1,
TriJoiner<A,B,C> joiner2,
TriJoiner<A,B,C> joiner3,
TriJoiner<A,B,C> joiner4)
As defined by
BiConstraintStream.ifNotExists(Class, TriJoiner) . |
default <C> BiConstraintStream<A,B> |
BiConstraintStream.ifNotExists(Class<C> otherClass,
TriJoiner<A,B,C> joiner1,
TriJoiner<A,B,C> joiner2,
TriJoiner<A,B,C> joiner3,
TriJoiner<A,B,C> joiner4)
As defined by
BiConstraintStream.ifNotExists(Class, TriJoiner) . |
default <C> BiConstraintStream<A,B> |
BiConstraintStream.ifNotExists(Class<C> otherClass,
TriJoiner<A,B,C> joiner1,
TriJoiner<A,B,C> joiner2,
TriJoiner<A,B,C> joiner3,
TriJoiner<A,B,C> joiner4)
As defined by
BiConstraintStream.ifNotExists(Class, TriJoiner) . |
default <C> BiConstraintStream<A,B> |
BiConstraintStream.ifNotExists(Class<C> otherClass,
TriJoiner<A,B,C> joiner1,
TriJoiner<A,B,C> joiner2,
TriJoiner<A,B,C> joiner3,
TriJoiner<A,B,C> joiner4)
As defined by
BiConstraintStream.ifNotExists(Class, TriJoiner) . |
default <C> TriConstraintStream<A,B,C> |
BiConstraintStream.join(Class<C> otherClass,
TriJoiner<A,B,C>... joiners)
As defined by
BiConstraintStream.join(Class, TriJoiner) . |
default <C> TriConstraintStream<A,B,C> |
BiConstraintStream.join(Class<C> otherClass,
TriJoiner<A,B,C> joiner)
Create a new
TriConstraintStream for every combination of [A, B] and C for which the TriJoiner
is true (for the properties it extracts from both facts). |
default <C> TriConstraintStream<A,B,C> |
BiConstraintStream.join(Class<C> otherClass,
TriJoiner<A,B,C> joiner1,
TriJoiner<A,B,C> joiner2)
As defined by
BiConstraintStream.join(Class, TriJoiner) . |
default <C> TriConstraintStream<A,B,C> |
BiConstraintStream.join(Class<C> otherClass,
TriJoiner<A,B,C> joiner1,
TriJoiner<A,B,C> joiner2)
As defined by
BiConstraintStream.join(Class, TriJoiner) . |
default <C> TriConstraintStream<A,B,C> |
BiConstraintStream.join(Class<C> otherClass,
TriJoiner<A,B,C> joiner1,
TriJoiner<A,B,C> joiner2,
TriJoiner<A,B,C> joiner3)
As defined by
BiConstraintStream.join(Class, TriJoiner) . |
default <C> TriConstraintStream<A,B,C> |
BiConstraintStream.join(Class<C> otherClass,
TriJoiner<A,B,C> joiner1,
TriJoiner<A,B,C> joiner2,
TriJoiner<A,B,C> joiner3)
As defined by
BiConstraintStream.join(Class, TriJoiner) . |
default <C> TriConstraintStream<A,B,C> |
BiConstraintStream.join(Class<C> otherClass,
TriJoiner<A,B,C> joiner1,
TriJoiner<A,B,C> joiner2,
TriJoiner<A,B,C> joiner3)
As defined by
BiConstraintStream.join(Class, TriJoiner) . |
default <C> TriConstraintStream<A,B,C> |
BiConstraintStream.join(Class<C> otherClass,
TriJoiner<A,B,C> joiner1,
TriJoiner<A,B,C> joiner2,
TriJoiner<A,B,C> joiner3,
TriJoiner<A,B,C> joiner4)
As defined by
BiConstraintStream.join(Class, TriJoiner) . |
default <C> TriConstraintStream<A,B,C> |
BiConstraintStream.join(Class<C> otherClass,
TriJoiner<A,B,C> joiner1,
TriJoiner<A,B,C> joiner2,
TriJoiner<A,B,C> joiner3,
TriJoiner<A,B,C> joiner4)
As defined by
BiConstraintStream.join(Class, TriJoiner) . |
default <C> TriConstraintStream<A,B,C> |
BiConstraintStream.join(Class<C> otherClass,
TriJoiner<A,B,C> joiner1,
TriJoiner<A,B,C> joiner2,
TriJoiner<A,B,C> joiner3,
TriJoiner<A,B,C> joiner4)
As defined by
BiConstraintStream.join(Class, TriJoiner) . |
default <C> TriConstraintStream<A,B,C> |
BiConstraintStream.join(Class<C> otherClass,
TriJoiner<A,B,C> joiner1,
TriJoiner<A,B,C> joiner2,
TriJoiner<A,B,C> joiner3,
TriJoiner<A,B,C> joiner4)
As defined by
BiConstraintStream.join(Class, TriJoiner) . |
<C> TriConstraintStream<A,B,C> |
BiConstraintStream.join(UniConstraintStream<C> otherStream,
TriJoiner<A,B,C> joiner)
Create a new
TriConstraintStream for every combination of [A, B] and C for which the TriJoiner
is true (for the properties it extracts from both facts). |
Modifier and Type | Method and Description |
---|---|
<C> BiConstraintStream<A,B> |
BavetAbstractBiConstraintStream.ifExists(Class<C> otherClass,
TriJoiner<A,B,C>... joiners) |
<C> BiConstraintStream<A,B> |
BavetAbstractBiConstraintStream.ifNotExists(Class<C> otherClass,
TriJoiner<A,B,C>... joiners) |
<C> TriConstraintStream<A,B,C> |
BavetAbstractBiConstraintStream.join(UniConstraintStream<C> otherStream,
TriJoiner<A,B,C> joiner) |
Modifier and Type | Method and Description |
---|---|
protected TriJoiner<A,B,C> |
BiConstraintStreamHelper.mergeJoiners(TriJoiner<A,B,C>... joiners) |
Modifier and Type | Method and Description |
---|---|
protected TriConstraintStream<A,B,C> |
BiConstraintStreamHelper.doJoin(Class<C> otherClass,
TriJoiner<A,B,C>... joiners) |
protected TriConstraintStream<A,B,C> |
BiConstraintStreamHelper.doJoin(Class<C> otherClass,
TriJoiner<A,B,C> joiner) |
protected TriPredicate<A,B,C> |
BiConstraintStreamHelper.extractPredicate(TriJoiner<A,B,C> joiner) |
protected boolean |
BiConstraintStreamHelper.isFilteringJoiner(TriJoiner<A,B,C> joiner) |
protected TriJoiner<A,B,C> |
BiConstraintStreamHelper.mergeJoiners(TriJoiner<A,B,C>... joiners) |
Modifier and Type | Method and Description |
---|---|
<C> DroolsBiCondition<A,B,PatternVar> |
DroolsBiCondition.andIfExists(Class<C> otherClass,
TriJoiner<A,B,C>... joiners) |
<C> DroolsBiCondition<A,B,PatternVar> |
DroolsBiCondition.andIfNotExists(Class<C> otherClass,
TriJoiner<A,B,C>... joiners) |
<C> BiConstraintStream<A,B> |
DroolsAbstractBiConstraintStream.ifExists(Class<C> otherClass,
TriJoiner<A,B,C>... joiners) |
<C> BiConstraintStream<A,B> |
DroolsAbstractBiConstraintStream.ifNotExists(Class<C> otherClass,
TriJoiner<A,B,C>... joiners) |
<C> TriConstraintStream<A,B,C> |
DroolsAbstractBiConstraintStream.join(UniConstraintStream<C> otherStream,
TriJoiner<A,B,C> joiner) |
Constructor and Description |
---|
DroolsExistsBiConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory,
DroolsAbstractBiConstraintStream<Solution_,A,B> parent,
boolean shouldExist,
Class<C> otherClass,
TriJoiner<A,B,C>... joiners) |
Constructor and Description |
---|
DroolsJoinTriConstraintStream(DroolsConstraintFactory<Solution_> constraintFactory,
DroolsAbstractBiConstraintStream<Solution_,A,B> parent,
DroolsAbstractUniConstraintStream<Solution_,C> otherStream,
TriJoiner<A,B,C> triJoiner) |
Modifier and Type | Class and Description |
---|---|
class |
AbstractTriJoiner<A,B,C> |
class |
CompositeTriJoiner<A,B,C> |
class |
FilteringTriJoiner<A,B,C> |
class |
NoneTriJoiner<A,B,C> |
class |
SingleTriJoiner<A,B,C> |
Modifier and Type | Method and Description |
---|---|
static <A,B,C> AbstractTriJoiner<A,B,C> |
AbstractTriJoiner.merge(TriJoiner<A,B,C>... joiners) |
Copyright © 2006–2021 JBoss by Red Hat. All rights reserved.