Uses of Interface
org.optaplanner.core.api.score.stream.bi.BiConstraintStream
Package
Description
The
ConstraintStream
API for bi-tuples.The
ConstraintStream
API for four matched facts.The
ConstraintStream
API for tri-tuples.The
ConstraintStream
API for uni-tuples.-
Uses of BiConstraintStream in org.optaplanner.core.api.score.stream
Modifier and TypeMethodDescriptiondefault <A> BiConstraintStream<A,
A> ConstraintFactory.forEachUniquePair
(Class<A> sourceClass) Create a newBiConstraintStream
for every unique combination of A and another A with a higherPlanningId
.default <A> BiConstraintStream<A,
A> ConstraintFactory.forEachUniquePair
(Class<A> sourceClass, BiJoiner<A, A> joiner) Create a newBiConstraintStream
for every unique combination of A and another A with a higherPlanningId
for which theBiJoiner
is true (for the properties it extracts from both facts).<A> BiConstraintStream<A,
A> ConstraintFactory.forEachUniquePair
(Class<A> sourceClass, BiJoiner<A, A>... joiners) As defined byConstraintFactory.forEachUniquePair(Class, BiJoiner)
.default <A> BiConstraintStream<A,
A> ConstraintFactory.forEachUniquePair
(Class<A> sourceClass, BiJoiner<A, A> joiner1, BiJoiner<A, A> joiner2) As defined byConstraintFactory.forEachUniquePair(Class, BiJoiner)
.default <A> BiConstraintStream<A,
A> ConstraintFactory.forEachUniquePair
(Class<A> sourceClass, BiJoiner<A, A> joiner1, BiJoiner<A, A> joiner2, BiJoiner<A, A> joiner3) As defined byConstraintFactory.forEachUniquePair(Class, BiJoiner)
.default <A> BiConstraintStream<A,
A> ConstraintFactory.forEachUniquePair
(Class<A> sourceClass, BiJoiner<A, A> joiner1, BiJoiner<A, A> joiner2, BiJoiner<A, A> joiner3, BiJoiner<A, A> joiner4) As defined byConstraintFactory.forEachUniquePair(Class, BiJoiner)
.default <A> BiConstraintStream<A,
A> ConstraintFactory.fromUniquePair
(Class<A> fromClass) Deprecated, for removal: This API element is subject to removal in a future version.default <A> BiConstraintStream<A,
A> ConstraintFactory.fromUniquePair
(Class<A> fromClass, BiJoiner<A, A> joiner) Deprecated, for removal: This API element is subject to removal in a future version.PreferConstraintFactory.forEachUniquePair(Class, BiJoiner)
, which exhibits the same behavior for both nullable and non-nullable planning variables.<A> BiConstraintStream<A,
A> ConstraintFactory.fromUniquePair
(Class<A> fromClass, BiJoiner<A, A>... joiners) Deprecated, for removal: This API element is subject to removal in a future version.PreferConstraintFactory.forEachUniquePair(Class, BiJoiner...)
, which exhibits the same behavior for both nullable and non-nullable planning variables.default <A> BiConstraintStream<A,
A> ConstraintFactory.fromUniquePair
(Class<A> fromClass, BiJoiner<A, A> joiner1, BiJoiner<A, A> joiner2) Deprecated, for removal: This API element is subject to removal in a future version.PreferConstraintFactory.forEachUniquePair(Class, BiJoiner, BiJoiner)
, which exhibits the same behavior for both nullable and non-nullable planning variables.default <A> BiConstraintStream<A,
A> ConstraintFactory.fromUniquePair
(Class<A> fromClass, BiJoiner<A, A> joiner1, BiJoiner<A, A> joiner2, BiJoiner<A, A> joiner3) Deprecated, for removal: This API element is subject to removal in a future version.PreferConstraintFactory.forEachUniquePair(Class, BiJoiner, BiJoiner, BiJoiner)
, which exhibits the same behavior for both nullable and non-nullable planning variables.default <A> BiConstraintStream<A,
A> ConstraintFactory.fromUniquePair
(Class<A> fromClass, BiJoiner<A, A> joiner1, BiJoiner<A, A> joiner2, BiJoiner<A, A> joiner3, BiJoiner<A, A> joiner4) Deprecated, for removal: This API element is subject to removal in a future version.PreferConstraintFactory.forEachUniquePair(Class, BiJoiner, BiJoiner, BiJoiner, BiJoiner)
, which exhibits the same behavior for both nullable and non-nullable planning variables. -
Uses of BiConstraintStream in org.optaplanner.core.api.score.stream.bi
Modifier and TypeMethodDescriptionBiConstraintStream.distinct()
Transforms the stream in such a way that all the tuples going through it are distinct.BiConstraintStream.filter
(BiPredicate<A, B> predicate) Exhaustively test each tuple of facts against theBiPredicate
and match ifBiPredicate.test(Object, Object)
returns true.<ResultB_> BiConstraintStream<A,
ResultB_> BiConstraintStream.flattenLast
(Function<B, Iterable<ResultB_>> mapping) Takes each tuple and applies a mapping on the last fact, which turns it intoIterable
.<GroupKey_,
ResultContainer_, Result_>
BiConstraintStream<GroupKey_,Result_> BiConstraintStream.groupBy
(BiFunction<A, B, GroupKey_> groupKeyMapping, BiConstraintCollector<A, B, ResultContainer_, Result_> collector) Convert theBiConstraintStream
to a differentBiConstraintStream
, consisting of unique tuples.<GroupKeyA_,
GroupKeyB_>
BiConstraintStream<GroupKeyA_,GroupKeyB_> BiConstraintStream.groupBy
(BiFunction<A, B, GroupKeyA_> groupKeyAMapping, BiFunction<A, B, GroupKeyB_> groupKeyBMapping) Convert theBiConstraintStream
to a differentBiConstraintStream
, consisting of unique tuples.<ResultContainerA_,
ResultA_, ResultContainerB_, ResultB_>
BiConstraintStream<ResultA_,ResultB_> BiConstraintStream.groupBy
(BiConstraintCollector<A, B, ResultContainerA_, ResultA_> collectorA, BiConstraintCollector<A, B, ResultContainerB_, ResultB_> collectorB) Convert theBiConstraintStream
to aBiConstraintStream
, containing only a single tuple, the result of applying twoBiConstraintCollector
s.default <C> BiConstraintStream<A,
B> Create a newBiConstraintStream
for every pair of A and B where C exists for which theTriJoiner
is true (for the properties it extracts from the facts).<C> BiConstraintStream<A,
B> As defined byifExists(Class, TriJoiner)
.default <C> BiConstraintStream<A,
B> BiConstraintStream.ifExists
(Class<C> otherClass, TriJoiner<A, B, C> joiner1, TriJoiner<A, B, C> joiner2) As defined byifExists(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 byifExists(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 byifExists(Class, TriJoiner)
.default <C> BiConstraintStream<A,
B> BiConstraintStream.ifExistsIncludingNullVars
(Class<C> otherClass, TriJoiner<A, B, C> joiner) Create a newBiConstraintStream
for every pair of A and B where C exists for which theTriJoiner
is true (for the properties it extracts from the facts).<C> BiConstraintStream<A,
B> BiConstraintStream.ifExistsIncludingNullVars
(Class<C> otherClass, TriJoiner<A, B, C>... joiners) As defined byifExistsIncludingNullVars(Class, TriJoiner)
.default <C> BiConstraintStream<A,
B> BiConstraintStream.ifExistsIncludingNullVars
(Class<C> otherClass, TriJoiner<A, B, C> joiner1, TriJoiner<A, B, C> joiner2) As defined byifExistsIncludingNullVars(Class, TriJoiner)
.default <C> BiConstraintStream<A,
B> BiConstraintStream.ifExistsIncludingNullVars
(Class<C> otherClass, TriJoiner<A, B, C> joiner1, TriJoiner<A, B, C> joiner2, TriJoiner<A, B, C> joiner3) As defined byifExistsIncludingNullVars(Class, TriJoiner)
.default <C> BiConstraintStream<A,
B> BiConstraintStream.ifExistsIncludingNullVars
(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 byifExistsIncludingNullVars(Class, TriJoiner)
.default <C> BiConstraintStream<A,
B> BiConstraintStream.ifNotExists
(Class<C> otherClass, TriJoiner<A, B, C> joiner) Create a newBiConstraintStream
for every pair of A and B where C does not exist for which theTriJoiner
is true (for the properties it extracts from the facts).<C> BiConstraintStream<A,
B> BiConstraintStream.ifNotExists
(Class<C> otherClass, TriJoiner<A, B, C>... joiners) As defined byifNotExists(Class, TriJoiner)
.default <C> BiConstraintStream<A,
B> BiConstraintStream.ifNotExists
(Class<C> otherClass, TriJoiner<A, B, C> joiner1, TriJoiner<A, B, C> joiner2) As defined byifNotExists(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 byifNotExists(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 byifNotExists(Class, TriJoiner)
.default <C> BiConstraintStream<A,
B> BiConstraintStream.ifNotExistsIncludingNullVars
(Class<C> otherClass, TriJoiner<A, B, C> joiner) Create a newBiConstraintStream
for every pair of A and B where C does not exist for which theTriJoiner
is true (for the properties it extracts from the facts).<C> BiConstraintStream<A,
B> BiConstraintStream.ifNotExistsIncludingNullVars
(Class<C> otherClass, TriJoiner<A, B, C>... joiners) As defined byifNotExistsIncludingNullVars(Class, TriJoiner)
.default <C> BiConstraintStream<A,
B> BiConstraintStream.ifNotExistsIncludingNullVars
(Class<C> otherClass, TriJoiner<A, B, C> joiner1, TriJoiner<A, B, C> joiner2) As defined byifNotExistsIncludingNullVars(Class, TriJoiner)
.default <C> BiConstraintStream<A,
B> BiConstraintStream.ifNotExistsIncludingNullVars
(Class<C> otherClass, TriJoiner<A, B, C> joiner1, TriJoiner<A, B, C> joiner2, TriJoiner<A, B, C> joiner3) As defined byifNotExistsIncludingNullVars(Class, TriJoiner)
.default <C> BiConstraintStream<A,
B> BiConstraintStream.ifNotExistsIncludingNullVars
(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 byifNotExistsIncludingNullVars(Class, TriJoiner)
. -
Uses of BiConstraintStream in org.optaplanner.core.api.score.stream.quad
Modifier and TypeMethodDescription<GroupKey_,
ResultContainer_, Result_>
BiConstraintStream<GroupKey_,Result_> QuadConstraintStream.groupBy
(QuadFunction<A, B, C, D, GroupKey_> groupKeyMapping, QuadConstraintCollector<A, B, C, D, ResultContainer_, Result_> collector) Convert theQuadConstraintStream
to aBiConstraintStream
, consisting of unique tuples.<GroupKeyA_,
GroupKeyB_>
BiConstraintStream<GroupKeyA_,GroupKeyB_> QuadConstraintStream.groupBy
(QuadFunction<A, B, C, D, GroupKeyA_> groupKeyAMapping, QuadFunction<A, B, C, D, GroupKeyB_> groupKeyBMapping) Convert theQuadConstraintStream
to aBiConstraintStream
, consisting of unique tuples.<ResultContainerA_,
ResultA_, ResultContainerB_, ResultB_>
BiConstraintStream<ResultA_,ResultB_> QuadConstraintStream.groupBy
(QuadConstraintCollector<A, B, C, D, ResultContainerA_, ResultA_> collectorA, QuadConstraintCollector<A, B, C, D, ResultContainerB_, ResultB_> collectorB) Convert theQuadConstraintStream
to aBiConstraintStream
, containing only a single tuple, the result of applying twoQuadConstraintCollector
s. -
Uses of BiConstraintStream in org.optaplanner.core.api.score.stream.tri
Modifier and TypeMethodDescription<GroupKey_,
ResultContainer_, Result_>
BiConstraintStream<GroupKey_,Result_> TriConstraintStream.groupBy
(TriFunction<A, B, C, GroupKey_> groupKeyMapping, TriConstraintCollector<A, B, C, ResultContainer_, Result_> collector) Convert theTriConstraintStream
to aBiConstraintStream
, consisting of unique tuples.<GroupKeyA_,
GroupKeyB_>
BiConstraintStream<GroupKeyA_,GroupKeyB_> TriConstraintStream.groupBy
(TriFunction<A, B, C, GroupKeyA_> groupKeyAMapping, TriFunction<A, B, C, GroupKeyB_> groupKeyBMapping) Convert theTriConstraintStream
to aBiConstraintStream
, consisting of unique tuples.<ResultContainerA_,
ResultA_, ResultContainerB_, ResultB_>
BiConstraintStream<ResultA_,ResultB_> TriConstraintStream.groupBy
(TriConstraintCollector<A, B, C, ResultContainerA_, ResultA_> collectorA, TriConstraintCollector<A, B, C, ResultContainerB_, ResultB_> collectorB) Convert theTriConstraintStream
to aBiConstraintStream
, containing only a single tuple, the result of applying twoTriConstraintCollector
s. -
Uses of BiConstraintStream in org.optaplanner.core.api.score.stream.uni
Modifier and TypeMethodDescription<GroupKey_,
ResultContainer_, Result_>
BiConstraintStream<GroupKey_,Result_> UniConstraintStream.groupBy
(Function<A, GroupKey_> groupKeyMapping, UniConstraintCollector<A, ResultContainer_, Result_> collector) Convert theUniConstraintStream
to aBiConstraintStream
, consisting of unique tuples with two facts.<GroupKeyA_,
GroupKeyB_>
BiConstraintStream<GroupKeyA_,GroupKeyB_> UniConstraintStream.groupBy
(Function<A, GroupKeyA_> groupKeyAMapping, Function<A, GroupKeyB_> groupKeyBMapping) Convert theUniConstraintStream
to aBiConstraintStream
, consisting of unique tuples with two facts.<ResultContainerA_,
ResultA_, ResultContainerB_, ResultB_>
BiConstraintStream<ResultA_,ResultB_> UniConstraintStream.groupBy
(UniConstraintCollector<A, ResultContainerA_, ResultA_> collectorA, UniConstraintCollector<A, ResultContainerB_, ResultB_> collectorB) Convert theUniConstraintStream
to aBiConstraintStream
, containing only a single tuple, the result of applying twoUniConstraintCollector
s.default <B> BiConstraintStream<A,
B> Create a newBiConstraintStream
for every combination of A and B.default <B> BiConstraintStream<A,
B> Create a newBiConstraintStream
for every combination of A and B for which theBiJoiner
is true (for the properties it extracts from both facts).<B> BiConstraintStream<A,
B> As defined byUniConstraintStream.join(Class, BiJoiner)
.default <B> BiConstraintStream<A,
B> As defined byUniConstraintStream.join(Class, BiJoiner)
.default <B> BiConstraintStream<A,
B> UniConstraintStream.join
(Class<B> otherClass, BiJoiner<A, B> joiner1, BiJoiner<A, B> joiner2, BiJoiner<A, B> joiner3) As defined byUniConstraintStream.join(Class, BiJoiner)
.default <B> BiConstraintStream<A,
B> UniConstraintStream.join
(Class<B> otherClass, BiJoiner<A, B> joiner1, BiJoiner<A, B> joiner2, BiJoiner<A, B> joiner3, BiJoiner<A, B> joiner4) As defined byUniConstraintStream.join(Class, BiJoiner)
.default <B> BiConstraintStream<A,
B> UniConstraintStream.join
(UniConstraintStream<B> otherStream) Create a newBiConstraintStream
for every combination of A and B.default <B> BiConstraintStream<A,
B> UniConstraintStream.join
(UniConstraintStream<B> otherStream, BiJoiner<A, B> joiner) Create a newBiConstraintStream
for every combination of A and B for which theBiJoiner
is true (for the properties it extracts from both facts).<B> BiConstraintStream<A,
B> UniConstraintStream.join
(UniConstraintStream<B> otherStream, BiJoiner<A, B>... joiners) As defined byUniConstraintStream.join(UniConstraintStream, BiJoiner)
.default <B> BiConstraintStream<A,
B> UniConstraintStream.join
(UniConstraintStream<B> otherStream, BiJoiner<A, B> joiner1, BiJoiner<A, B> joiner2) As defined byUniConstraintStream.join(UniConstraintStream, BiJoiner)
.default <B> BiConstraintStream<A,
B> UniConstraintStream.join
(UniConstraintStream<B> otherStream, BiJoiner<A, B> joiner1, BiJoiner<A, B> joiner2, BiJoiner<A, B> joiner3) As defined byUniConstraintStream.join(UniConstraintStream, BiJoiner)
.default <B> BiConstraintStream<A,
B> UniConstraintStream.join
(UniConstraintStream<B> otherStream, BiJoiner<A, B> joiner1, BiJoiner<A, B> joiner2, BiJoiner<A, B> joiner3, BiJoiner<A, B> joiner4) As defined byUniConstraintStream.join(UniConstraintStream, BiJoiner)
.
ConstraintFactory.forEachUniquePair(Class)
, which exhibits the same behavior for both nullable and non-nullable planning variables.