Uses of Interface
org.optaplanner.core.api.score.stream.tri.TriConstraintStream
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 TriConstraintStream in org.optaplanner.core.api.score.stream.bi
Modifier and TypeMethodDescription<GroupKey_,
ResultContainerB_, ResultB_, ResultContainerC_, ResultC_>
TriConstraintStream<GroupKey_,ResultB_, ResultC_> BiConstraintStream.groupBy
(BiFunction<A, B, GroupKey_> groupKeyMapping, BiConstraintCollector<A, B, ResultContainerB_, ResultB_> collectorB, BiConstraintCollector<A, B, ResultContainerC_, ResultC_> collectorC) Convert theBiConstraintStream
to aTriConstraintStream
, consisting of unique tuples with three facts.<GroupKeyA_,
GroupKeyB_, GroupKeyC_>
TriConstraintStream<GroupKeyA_,GroupKeyB_, GroupKeyC_> BiConstraintStream.groupBy
(BiFunction<A, B, GroupKeyA_> groupKeyAMapping, BiFunction<A, B, GroupKeyB_> groupKeyBMapping, BiFunction<A, B, GroupKeyC_> groupKeyCMapping) Convert theBiConstraintStream
to aTriConstraintStream
, consisting of unique tuples with three facts.<GroupKeyA_,
GroupKeyB_, ResultContainer_, Result_>
TriConstraintStream<GroupKeyA_,GroupKeyB_, Result_> BiConstraintStream.groupBy
(BiFunction<A, B, GroupKeyA_> groupKeyAMapping, BiFunction<A, B, GroupKeyB_> groupKeyBMapping, BiConstraintCollector<A, B, ResultContainer_, Result_> collector) Combines the semantics ofBiConstraintStream.groupBy(BiFunction, BiFunction)
andBiConstraintStream.groupBy(BiConstraintCollector)
.<ResultContainerA_,
ResultA_, ResultContainerB_, ResultB_, ResultContainerC_, ResultC_>
TriConstraintStream<ResultA_,ResultB_, ResultC_> BiConstraintStream.groupBy
(BiConstraintCollector<A, B, ResultContainerA_, ResultA_> collectorA, BiConstraintCollector<A, B, ResultContainerB_, ResultB_> collectorB, BiConstraintCollector<A, B, ResultContainerC_, ResultC_> collectorC) Convert theBiConstraintStream
to aTriConstraintStream
, containing only a single tuple, the result of applying threeBiConstraintCollector
s.default <C> TriConstraintStream<A,
B, C> Create a newTriConstraintStream
for every combination of [A, B] and C.default <C> TriConstraintStream<A,
B, C> Create a newTriConstraintStream
for every combination of [A, B] and C for which theTriJoiner
is true (for the properties it extracts from both facts).<C> TriConstraintStream<A,
B, C> As defined byBiConstraintStream.join(Class, TriJoiner)
.default <C> TriConstraintStream<A,
B, C> As defined byBiConstraintStream.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 byBiConstraintStream.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 byBiConstraintStream.join(Class, TriJoiner)
.default <C> TriConstraintStream<A,
B, C> BiConstraintStream.join
(UniConstraintStream<C> otherStream) Create a newTriConstraintStream
for every combination of [A, B] and C.default <C> TriConstraintStream<A,
B, C> BiConstraintStream.join
(UniConstraintStream<C> otherStream, TriJoiner<A, B, C> joiner) Create a newTriConstraintStream
for every combination of [A, B] and C for which theTriJoiner
is true (for the properties it extracts from both facts).<C> TriConstraintStream<A,
B, C> BiConstraintStream.join
(UniConstraintStream<C> otherStream, TriJoiner<A, B, C>... joiners) As defined byBiConstraintStream.join(Class, TriJoiner)
.default <C> TriConstraintStream<A,
B, C> BiConstraintStream.join
(UniConstraintStream<C> otherStream, TriJoiner<A, B, C> joiner1, TriJoiner<A, B, C> joiner2) As defined byBiConstraintStream.join(Class, TriJoiner)
.default <C> TriConstraintStream<A,
B, C> BiConstraintStream.join
(UniConstraintStream<C> otherStream, TriJoiner<A, B, C> joiner1, TriJoiner<A, B, C> joiner2, TriJoiner<A, B, C> joiner3) As defined byBiConstraintStream.join(Class, TriJoiner)
.default <C> TriConstraintStream<A,
B, C> BiConstraintStream.join
(UniConstraintStream<C> otherStream, TriJoiner<A, B, C> joiner1, TriJoiner<A, B, C> joiner2, TriJoiner<A, B, C> joiner3, TriJoiner<A, B, C> joiner4) As defined byBiConstraintStream.join(Class, TriJoiner)
. -
Uses of TriConstraintStream in org.optaplanner.core.api.score.stream.quad
Modifier and TypeMethodDescription<GroupKey_,
ResultContainerB_, ResultB_, ResultContainerC_, ResultC_>
TriConstraintStream<GroupKey_,ResultB_, ResultC_> QuadConstraintStream.groupBy
(QuadFunction<A, B, C, D, GroupKey_> groupKeyMapping, QuadConstraintCollector<A, B, C, D, ResultContainerB_, ResultB_> collectorB, QuadConstraintCollector<A, B, C, D, ResultContainerC_, ResultC_> collectorC) Convert theQuadConstraintStream
to aTriConstraintStream
, consisting of unique tuples with three facts.<GroupKeyA_,
GroupKeyB_, GroupKeyC_>
TriConstraintStream<GroupKeyA_,GroupKeyB_, GroupKeyC_> QuadConstraintStream.groupBy
(QuadFunction<A, B, C, D, GroupKeyA_> groupKeyAMapping, QuadFunction<A, B, C, D, GroupKeyB_> groupKeyBMapping, QuadFunction<A, B, C, D, GroupKeyC_> groupKeyCMapping) Convert theQuadConstraintStream
to aTriConstraintStream
, consisting of unique tuples with three facts.<GroupKeyA_,
GroupKeyB_, ResultContainer_, Result_>
TriConstraintStream<GroupKeyA_,GroupKeyB_, Result_> QuadConstraintStream.groupBy
(QuadFunction<A, B, C, D, GroupKeyA_> groupKeyAMapping, QuadFunction<A, B, C, D, GroupKeyB_> groupKeyBMapping, QuadConstraintCollector<A, B, C, D, ResultContainer_, Result_> collector) Combines the semantics ofQuadConstraintStream.groupBy(QuadFunction, QuadFunction)
andQuadConstraintStream.groupBy(QuadConstraintCollector)
.<ResultContainerA_,
ResultA_, ResultContainerB_, ResultB_, ResultContainerC_, ResultC_>
TriConstraintStream<ResultA_,ResultB_, ResultC_> QuadConstraintStream.groupBy
(QuadConstraintCollector<A, B, C, D, ResultContainerA_, ResultA_> collectorA, QuadConstraintCollector<A, B, C, D, ResultContainerB_, ResultB_> collectorB, QuadConstraintCollector<A, B, C, D, ResultContainerC_, ResultC_> collectorC) Convert theQuadConstraintStream
to aTriConstraintStream
, containing only a single tuple, the result of applying threeQuadConstraintCollector
s. -
Uses of TriConstraintStream in org.optaplanner.core.api.score.stream.tri
Modifier and TypeMethodDescriptionTriConstraintStream.distinct()
TriConstraintStream.filter
(TriPredicate<A, B, C> predicate) Exhaustively test each tuple of facts against theTriPredicate
and match ifTriPredicate.test(Object, Object, Object)
returns true.<ResultC_> TriConstraintStream<A,
B, ResultC_> TriConstraintStream.flattenLast
(Function<C, Iterable<ResultC_>> mapping) As defined byBiConstraintStream.flattenLast(Function)
.<GroupKey_,
ResultContainerB_, ResultB_, ResultContainerC_, ResultC_>
TriConstraintStream<GroupKey_,ResultB_, ResultC_> TriConstraintStream.groupBy
(TriFunction<A, B, C, GroupKey_> groupKeyMapping, TriConstraintCollector<A, B, C, ResultContainerB_, ResultB_> collectorB, TriConstraintCollector<A, B, C, ResultContainerC_, ResultC_> collectorC) Convert theTriConstraintStream
to aTriConstraintStream
, consisting of unique tuples with three facts.<GroupKeyA_,
GroupKeyB_, GroupKeyC_>
TriConstraintStream<GroupKeyA_,GroupKeyB_, GroupKeyC_> TriConstraintStream.groupBy
(TriFunction<A, B, C, GroupKeyA_> groupKeyAMapping, TriFunction<A, B, C, GroupKeyB_> groupKeyBMapping, TriFunction<A, B, C, GroupKeyC_> groupKeyCMapping) Convert theTriConstraintStream
to aTriConstraintStream
, consisting of unique tuples with three facts.<GroupKeyA_,
GroupKeyB_, ResultContainer_, Result_>
TriConstraintStream<GroupKeyA_,GroupKeyB_, Result_> TriConstraintStream.groupBy
(TriFunction<A, B, C, GroupKeyA_> groupKeyAMapping, TriFunction<A, B, C, GroupKeyB_> groupKeyBMapping, TriConstraintCollector<A, B, C, ResultContainer_, Result_> collector) Combines the semantics ofgroupBy(TriFunction, TriFunction)
andgroupBy(TriConstraintCollector)
.<ResultContainerA_,
ResultA_, ResultContainerB_, ResultB_, ResultContainerC_, ResultC_>
TriConstraintStream<ResultA_,ResultB_, ResultC_> TriConstraintStream.groupBy
(TriConstraintCollector<A, B, C, ResultContainerA_, ResultA_> collectorA, TriConstraintCollector<A, B, C, ResultContainerB_, ResultB_> collectorB, TriConstraintCollector<A, B, C, ResultContainerC_, ResultC_> collectorC) Convert theTriConstraintStream
to aTriConstraintStream
, containing only a single tuple, the result of applying threeTriConstraintCollector
s.default <D> TriConstraintStream<A,
B, C> Create a newBiConstraintStream
for every tuple of A, B and C where D exists for which theQuadJoiner
is true (for the properties it extracts from the facts).<D> TriConstraintStream<A,
B, C> As defined byifExists(Class, QuadJoiner)
.default <D> TriConstraintStream<A,
B, C> TriConstraintStream.ifExists
(Class<D> otherClass, QuadJoiner<A, B, C, D> joiner1, QuadJoiner<A, B, C, D> joiner2) As defined byifExists(Class, QuadJoiner)
.default <D> TriConstraintStream<A,
B, C> TriConstraintStream.ifExists
(Class<D> otherClass, QuadJoiner<A, B, C, D> joiner1, QuadJoiner<A, B, C, D> joiner2, QuadJoiner<A, B, C, D> joiner3) As defined byifExists(Class, QuadJoiner)
.default <D> TriConstraintStream<A,
B, C> TriConstraintStream.ifExists
(Class<D> otherClass, QuadJoiner<A, B, C, D> joiner1, QuadJoiner<A, B, C, D> joiner2, QuadJoiner<A, B, C, D> joiner3, QuadJoiner<A, B, C, D> joiner4) As defined byifExists(Class, QuadJoiner)
.default <D> TriConstraintStream<A,
B, C> TriConstraintStream.ifExistsIncludingNullVars
(Class<D> otherClass, QuadJoiner<A, B, C, D> joiner) Create a newBiConstraintStream
for every tuple of A, B and C where D exists for which theQuadJoiner
is true (for the properties it extracts from the facts).<D> TriConstraintStream<A,
B, C> TriConstraintStream.ifExistsIncludingNullVars
(Class<D> otherClass, QuadJoiner<A, B, C, D>... joiners) As defined byifExistsIncludingNullVars(Class, QuadJoiner)
.default <D> TriConstraintStream<A,
B, C> TriConstraintStream.ifExistsIncludingNullVars
(Class<D> otherClass, QuadJoiner<A, B, C, D> joiner1, QuadJoiner<A, B, C, D> joiner2) As defined byifExistsIncludingNullVars(Class, QuadJoiner)
.default <D> TriConstraintStream<A,
B, C> TriConstraintStream.ifExistsIncludingNullVars
(Class<D> otherClass, QuadJoiner<A, B, C, D> joiner1, QuadJoiner<A, B, C, D> joiner2, QuadJoiner<A, B, C, D> joiner3) As defined byifExistsIncludingNullVars(Class, QuadJoiner)
.default <D> TriConstraintStream<A,
B, C> TriConstraintStream.ifExistsIncludingNullVars
(Class<D> otherClass, QuadJoiner<A, B, C, D> joiner1, QuadJoiner<A, B, C, D> joiner2, QuadJoiner<A, B, C, D> joiner3, QuadJoiner<A, B, C, D> joiner4) As defined byifExistsIncludingNullVars(Class, QuadJoiner)
.default <D> TriConstraintStream<A,
B, C> TriConstraintStream.ifNotExists
(Class<D> otherClass, QuadJoiner<A, B, C, D> joiner) Create a newBiConstraintStream
for every tuple of A, B and C where D does not exist for which theQuadJoiner
is true (for the properties it extracts from the facts).<D> TriConstraintStream<A,
B, C> TriConstraintStream.ifNotExists
(Class<D> otherClass, QuadJoiner<A, B, C, D>... joiners) As defined byifNotExists(Class, QuadJoiner)
.default <D> TriConstraintStream<A,
B, C> TriConstraintStream.ifNotExists
(Class<D> otherClass, QuadJoiner<A, B, C, D> joiner1, QuadJoiner<A, B, C, D> joiner2) As defined byifNotExists(Class, QuadJoiner)
.default <D> TriConstraintStream<A,
B, C> TriConstraintStream.ifNotExists
(Class<D> otherClass, QuadJoiner<A, B, C, D> joiner1, QuadJoiner<A, B, C, D> joiner2, QuadJoiner<A, B, C, D> joiner3) As defined byifNotExists(Class, QuadJoiner)
.default <D> TriConstraintStream<A,
B, C> TriConstraintStream.ifNotExists
(Class<D> otherClass, QuadJoiner<A, B, C, D> joiner1, QuadJoiner<A, B, C, D> joiner2, QuadJoiner<A, B, C, D> joiner3, QuadJoiner<A, B, C, D> joiner4) As defined byifNotExists(Class, QuadJoiner)
.default <D> TriConstraintStream<A,
B, C> TriConstraintStream.ifNotExistsIncludingNullVars
(Class<D> otherClass, QuadJoiner<A, B, C, D> joiner) Create a newBiConstraintStream
for every tuple of A, B and C where D does not exist for which theQuadJoiner
is true (for the properties it extracts from the facts).<D> TriConstraintStream<A,
B, C> TriConstraintStream.ifNotExistsIncludingNullVars
(Class<D> otherClass, QuadJoiner<A, B, C, D>... joiners) As defined byifNotExistsIncludingNullVars(Class, QuadJoiner)
.default <D> TriConstraintStream<A,
B, C> TriConstraintStream.ifNotExistsIncludingNullVars
(Class<D> otherClass, QuadJoiner<A, B, C, D> joiner1, QuadJoiner<A, B, C, D> joiner2) As defined byifNotExistsIncludingNullVars(Class, QuadJoiner)
.default <D> TriConstraintStream<A,
B, C> TriConstraintStream.ifNotExistsIncludingNullVars
(Class<D> otherClass, QuadJoiner<A, B, C, D> joiner1, QuadJoiner<A, B, C, D> joiner2, QuadJoiner<A, B, C, D> joiner3) As defined byifNotExistsIncludingNullVars(Class, QuadJoiner)
.default <D> TriConstraintStream<A,
B, C> TriConstraintStream.ifNotExistsIncludingNullVars
(Class<D> otherClass, QuadJoiner<A, B, C, D> joiner1, QuadJoiner<A, B, C, D> joiner2, QuadJoiner<A, B, C, D> joiner3, QuadJoiner<A, B, C, D> joiner4) As defined byifNotExistsIncludingNullVars(Class, QuadJoiner)
. -
Uses of TriConstraintStream in org.optaplanner.core.api.score.stream.uni
Modifier and TypeMethodDescription<GroupKey_,
ResultContainerB_, ResultB_, ResultContainerC_, ResultC_>
TriConstraintStream<GroupKey_,ResultB_, ResultC_> UniConstraintStream.groupBy
(Function<A, GroupKey_> groupKeyMapping, UniConstraintCollector<A, ResultContainerB_, ResultB_> collectorB, UniConstraintCollector<A, ResultContainerC_, ResultC_> collectorC) Convert theUniConstraintStream
to aTriConstraintStream
, consisting of unique tuples with three facts.<GroupKeyA_,
GroupKeyB_, GroupKeyC_>
TriConstraintStream<GroupKeyA_,GroupKeyB_, GroupKeyC_> UniConstraintStream.groupBy
(Function<A, GroupKeyA_> groupKeyAMapping, Function<A, GroupKeyB_> groupKeyBMapping, Function<A, GroupKeyC_> groupKeyCMapping) Convert theUniConstraintStream
to aTriConstraintStream
, consisting of unique tuples with three facts.<GroupKeyA_,
GroupKeyB_, ResultContainer_, Result_>
TriConstraintStream<GroupKeyA_,GroupKeyB_, Result_> UniConstraintStream.groupBy
(Function<A, GroupKeyA_> groupKeyAMapping, Function<A, GroupKeyB_> groupKeyBMapping, UniConstraintCollector<A, ResultContainer_, Result_> collector) Combines the semantics ofUniConstraintStream.groupBy(Function, Function)
andUniConstraintStream.groupBy(UniConstraintCollector)
.<ResultContainerA_,
ResultA_, ResultContainerB_, ResultB_, ResultContainerC_, ResultC_>
TriConstraintStream<ResultA_,ResultB_, ResultC_> UniConstraintStream.groupBy
(UniConstraintCollector<A, ResultContainerA_, ResultA_> collectorA, UniConstraintCollector<A, ResultContainerB_, ResultB_> collectorB, UniConstraintCollector<A, ResultContainerC_, ResultC_> collectorC) Convert theUniConstraintStream
to aTriConstraintStream
, containing only a single tuple, the result of applying threeUniConstraintCollector
s.