Uses of Interface
ai.timefold.solver.core.api.score.stream.bi.BiConstraintStream
Packages that use 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.Contains streams that serve as bridges.
-
Uses of BiConstraintStream in ai.timefold.solver.core.api.score.stream
Methods in ai.timefold.solver.core.api.score.stream that return BiConstraintStreamModifier and TypeMethodDescriptiondefault <A> BiConstraintStream<A,A> ConstraintFactory.forEachUniquePair(Class<A> sourceClass) Create a newBiConstraintStreamfor 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 newBiConstraintStreamfor every unique combination of A and another A with a higherPlanningIdfor which theBiJoineris 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 planning variables which both allow and don't allow unassigned values.<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 planning variables which both allow and don't allow unassigned values.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 planning variables which both allow and don't allow unassigned values.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 planning variables which both allow and don't allow unassigned values.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 planning variables which both allow and don't allow unassigned values. -
Uses of BiConstraintStream in ai.timefold.solver.core.api.score.stream.bi
Methods in ai.timefold.solver.core.api.score.stream.bi that return BiConstraintStreamModifier and TypeMethodDescriptiondefault BiConstraintStream<A,B> BiConstraintStream.complement(Class<A> otherClass) As defined bycomplement(Class, Function), where the padding function pads with null.default BiConstraintStream<A,B> Adds to the stream all instances of a given class which are not yet present in it.BiConstraintStream.concat(BiConstraintStream<A, B> otherStream) Returns a newBiConstraintStreamcontaining all the tuples of both thisBiConstraintStreamand the providedBiConstraintStream.default BiConstraintStream<A,B> BiConstraintStream.concat(UniConstraintStream<A> otherStream) Returns a newBiConstraintStreamcontaining all the tuples of both thisBiConstraintStreamand the providedUniConstraintStream.Returns a newBiConstraintStreamcontaining all the tuples of both thisBiConstraintStreamand the providedUniConstraintStream.BiConstraintStream.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 theBiPredicateand 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.<ResultContainerA_,ResultA_, ResultContainerB_, ResultB_>
BiConstraintStream<ResultA_,ResultB_> BiConstraintStream.groupBy(BiConstraintCollector<A, B, ResultContainerA_, ResultA_> collectorA, BiConstraintCollector<A, B, ResultContainerB_, ResultB_> collectorB) Convert theBiConstraintStreamto aBiConstraintStream, containing only a single tuple, the result of applying twoBiConstraintCollectors.<GroupKey_,ResultContainer_, Result_>
BiConstraintStream<GroupKey_,Result_> BiConstraintStream.groupBy(BiFunction<A, B, GroupKey_> groupKeyMapping, BiConstraintCollector<A, B, ResultContainer_, Result_> collector) Convert theBiConstraintStreamto a differentBiConstraintStream, consisting of unique tuples.<GroupKeyA_,GroupKeyB_>
BiConstraintStream<GroupKeyA_,GroupKeyB_> BiConstraintStream.groupBy(BiFunction<A, B, GroupKeyA_> groupKeyAMapping, BiFunction<A, B, GroupKeyB_> groupKeyBMapping) Convert theBiConstraintStreamto a differentBiConstraintStream, consisting of unique tuples.default <C> BiConstraintStream<A,B> BiConstraintStream.ifExists(UniConstraintStream<C> otherStream, TriJoiner<A, B, C> joiner) Create a newBiConstraintStreamfor every pair of A and B where C exists for which theTriJoineris true (for the properties it extracts from the facts).<C> BiConstraintStream<A,B> BiConstraintStream.ifExists(UniConstraintStream<C> otherStream, TriJoiner<A, B, C>... joiners) As defined byifExists(UniConstraintStream, TriJoiner).default <C> BiConstraintStream<A,B> BiConstraintStream.ifExists(UniConstraintStream<C> otherStream, TriJoiner<A, B, C> joiner1, TriJoiner<A, B, C> joiner2) As defined byifExists(UniConstraintStream, TriJoiner).default <C> BiConstraintStream<A,B> BiConstraintStream.ifExists(UniConstraintStream<C> otherStream, TriJoiner<A, B, C> joiner1, TriJoiner<A, B, C> joiner2, TriJoiner<A, B, C> joiner3) As defined byifExists(UniConstraintStream, TriJoiner).default <C> BiConstraintStream<A,B> BiConstraintStream.ifExists(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 byifExists(UniConstraintStream, TriJoiner).default <C> BiConstraintStream<A,B> Create a newBiConstraintStreamfor every pair of A and B where C exists for which theTriJoineris 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) Deprecated, for removal: This API element is subject to removal in a future version.default <C> BiConstraintStream<A,B> BiConstraintStream.ifExistsIncludingNullVars(Class<C> otherClass, TriJoiner<A, B, C>... joiners) Deprecated, for removal: This API element is subject to removal in a future version.default <C> BiConstraintStream<A,B> BiConstraintStream.ifExistsIncludingNullVars(Class<C> otherClass, TriJoiner<A, B, C> joiner1, TriJoiner<A, B, C> joiner2) Deprecated, for removal: This API element is subject to removal in a future version.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) Deprecated, for removal: This API element is subject to removal in a future version.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) Deprecated, for removal: This API element is subject to removal in a future version.default <C> BiConstraintStream<A,B> BiConstraintStream.ifExistsIncludingUnassigned(Class<C> otherClass, TriJoiner<A, B, C> joiner) Create a newBiConstraintStreamfor every pair of A and B where C exists for which theTriJoineris true (for the properties it extracts from the facts).<C> BiConstraintStream<A,B> BiConstraintStream.ifExistsIncludingUnassigned(Class<C> otherClass, TriJoiner<A, B, C>... joiners) As defined byifExistsIncludingUnassigned(Class, TriJoiner).default <C> BiConstraintStream<A,B> BiConstraintStream.ifExistsIncludingUnassigned(Class<C> otherClass, TriJoiner<A, B, C> joiner1, TriJoiner<A, B, C> joiner2) As defined byifExistsIncludingUnassigned(Class, TriJoiner).default <C> BiConstraintStream<A,B> BiConstraintStream.ifExistsIncludingUnassigned(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.ifExistsIncludingUnassigned(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 byifExistsIncludingUnassigned(Class, TriJoiner).default <C> BiConstraintStream<A,B> BiConstraintStream.ifNotExists(UniConstraintStream<C> otherStream, TriJoiner<A, B, C> joiner) Create a newBiConstraintStreamfor every pair of A and B where C does not exist for which theTriJoineris true (for the properties it extracts from the facts).<C> BiConstraintStream<A,B> BiConstraintStream.ifNotExists(UniConstraintStream<C> otherStream, TriJoiner<A, B, C>... joiners) As defined byifNotExists(UniConstraintStream, TriJoiner).default <C> BiConstraintStream<A,B> BiConstraintStream.ifNotExists(UniConstraintStream<C> otherStream, TriJoiner<A, B, C> joiner1, TriJoiner<A, B, C> joiner2) As defined byifNotExists(UniConstraintStream, TriJoiner).default <C> BiConstraintStream<A,B> BiConstraintStream.ifNotExists(UniConstraintStream<C> otherStream, TriJoiner<A, B, C> joiner1, TriJoiner<A, B, C> joiner2, TriJoiner<A, B, C> joiner3) As defined byifNotExists(UniConstraintStream, TriJoiner).default <C> BiConstraintStream<A,B> BiConstraintStream.ifNotExists(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 byifNotExists(UniConstraintStream, TriJoiner).default <C> BiConstraintStream<A,B> BiConstraintStream.ifNotExists(Class<C> otherClass, TriJoiner<A, B, C> joiner) Create a newBiConstraintStreamfor every pair of A and B where C does not exist for which theTriJoineris 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) Deprecated, for removal: This API element is subject to removal in a future version.default <C> BiConstraintStream<A,B> BiConstraintStream.ifNotExistsIncludingNullVars(Class<C> otherClass, TriJoiner<A, B, C>... joiners) Deprecated, for removal: This API element is subject to removal in a future version.default <C> BiConstraintStream<A,B> BiConstraintStream.ifNotExistsIncludingNullVars(Class<C> otherClass, TriJoiner<A, B, C> joiner1, TriJoiner<A, B, C> joiner2) Deprecated, for removal: This API element is subject to removal in a future version.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) Deprecated, for removal: This API element is subject to removal in a future version.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) Deprecated, for removal: This API element is subject to removal in a future version.default <C> BiConstraintStream<A,B> BiConstraintStream.ifNotExistsIncludingUnassigned(Class<C> otherClass, TriJoiner<A, B, C> joiner) Create a newBiConstraintStreamfor every pair of A and B where C does not exist for which theTriJoineris true (for the properties it extracts from the facts).<C> BiConstraintStream<A,B> BiConstraintStream.ifNotExistsIncludingUnassigned(Class<C> otherClass, TriJoiner<A, B, C>... joiners) As defined byifNotExistsIncludingUnassigned(Class, TriJoiner).default <C> BiConstraintStream<A,B> BiConstraintStream.ifNotExistsIncludingUnassigned(Class<C> otherClass, TriJoiner<A, B, C> joiner1, TriJoiner<A, B, C> joiner2) As defined byifNotExistsIncludingUnassigned(Class, TriJoiner).default <C> BiConstraintStream<A,B> BiConstraintStream.ifNotExistsIncludingUnassigned(Class<C> otherClass, TriJoiner<A, B, C> joiner1, TriJoiner<A, B, C> joiner2, TriJoiner<A, B, C> joiner3) As defined byifNotExistsIncludingUnassigned(Class, TriJoiner).default <C> BiConstraintStream<A,B> BiConstraintStream.ifNotExistsIncludingUnassigned(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 byifNotExistsIncludingUnassigned(Class, TriJoiner).<ResultA_,ResultB_>
BiConstraintStream<ResultA_,ResultB_> BiConstraintStream.map(BiFunction<A, B, ResultA_> mappingA, BiFunction<A, B, ResultB_> mappingB) As defined bymap(BiFunction), only resulting inBiConstraintStream.Methods in ai.timefold.solver.core.api.score.stream.bi with parameters of type BiConstraintStreamModifier and TypeMethodDescriptionBiConstraintStream.concat(BiConstraintStream<A, B> otherStream) Returns a newBiConstraintStreamcontaining all the tuples of both thisBiConstraintStreamand the providedBiConstraintStream. -
Uses of BiConstraintStream in ai.timefold.solver.core.api.score.stream.quad
Methods in ai.timefold.solver.core.api.score.stream.quad that return BiConstraintStreamModifier 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 theQuadConstraintStreamto 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 theQuadConstraintStreamto 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 theQuadConstraintStreamto aBiConstraintStream, containing only a single tuple, the result of applying twoQuadConstraintCollectors.<ResultA_,ResultB_>
BiConstraintStream<ResultA_,ResultB_> QuadConstraintStream.map(QuadFunction<A, B, C, D, ResultA_> mappingA, QuadFunction<A, B, C, D, ResultB_> mappingB) As defined byQuadConstraintStream.map(QuadFunction), only resulting inBiConstraintStream.Methods in ai.timefold.solver.core.api.score.stream.quad with parameters of type BiConstraintStreamModifier and TypeMethodDescriptiondefault QuadConstraintStream<A,B, C, D> QuadConstraintStream.concat(BiConstraintStream<A, B> otherStream) Returns a newQuadConstraintStreamcontaining all the tuples of both thisQuadConstraintStreamand the providedBiConstraintStream.QuadConstraintStream.concat(BiConstraintStream<A, B> otherStream, BiFunction<A, B, C> paddingFunctionC, BiFunction<A, B, D> paddingFunctionD) Returns a newQuadConstraintStreamcontaining all the tuples of both thisQuadConstraintStreamand the providedBiConstraintStream. -
Uses of BiConstraintStream in ai.timefold.solver.core.api.score.stream.tri
Methods in ai.timefold.solver.core.api.score.stream.tri that return BiConstraintStreamModifier and TypeMethodDescription<GroupKey_,ResultContainer_, Result_>
BiConstraintStream<GroupKey_,Result_> TriConstraintStream.groupBy(TriFunction<A, B, C, GroupKey_> groupKeyMapping, TriConstraintCollector<A, B, C, ResultContainer_, Result_> collector) Convert theTriConstraintStreamto 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 theTriConstraintStreamto 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 theTriConstraintStreamto aBiConstraintStream, containing only a single tuple, the result of applying twoTriConstraintCollectors.<ResultA_,ResultB_>
BiConstraintStream<ResultA_,ResultB_> TriConstraintStream.map(TriFunction<A, B, C, ResultA_> mappingA, TriFunction<A, B, C, ResultB_> mappingB) As defined byTriConstraintStream.map(TriFunction), only resulting inBiConstraintStream.Methods in ai.timefold.solver.core.api.score.stream.tri with parameters of type BiConstraintStreamModifier and TypeMethodDescriptiondefault TriConstraintStream<A,B, C> TriConstraintStream.concat(BiConstraintStream<A, B> otherStream) Returns a newTriConstraintStreamcontaining all the tuples of both thisTriConstraintStreamand the providedBiConstraintStream.TriConstraintStream.concat(BiConstraintStream<A, B> otherStream, BiFunction<A, B, C> paddingFunctionC) Returns a newTriConstraintStreamcontaining all the tuples of both thisTriConstraintStreamand the providedBiConstraintStream. -
Uses of BiConstraintStream in ai.timefold.solver.core.api.score.stream.uni
Methods in ai.timefold.solver.core.api.score.stream.uni that return BiConstraintStreamModifier and TypeMethodDescriptiondefault <B> BiConstraintStream<A,B> UniConstraintStream.concat(BiConstraintStream<A, B> otherStream) Returns a newBiConstraintStreamcontaining all the tuples of both thisUniConstraintStreamand the providedBiConstraintStream.<B> BiConstraintStream<A,B> UniConstraintStream.concat(BiConstraintStream<A, B> otherStream, Function<A, B> paddingFunctionB) Returns a newBiConstraintStreamcontaining all the tuples of both thisUniConstraintStreamand the providedBiConstraintStream.<ResultB_> BiConstraintStream<A,ResultB_> Adds a fact to the end of the tuple, increasing the cardinality of the stream.<ResultContainerA_,ResultA_, ResultContainerB_, ResultB_>
BiConstraintStream<ResultA_,ResultB_> UniConstraintStream.groupBy(UniConstraintCollector<A, ResultContainerA_, ResultA_> collectorA, UniConstraintCollector<A, ResultContainerB_, ResultB_> collectorB) Convert theUniConstraintStreamto aBiConstraintStream, containing only a single tuple, the result of applying twoUniConstraintCollectors.<GroupKey_,ResultContainer_, Result_>
BiConstraintStream<GroupKey_,Result_> UniConstraintStream.groupBy(Function<A, GroupKey_> groupKeyMapping, UniConstraintCollector<A, ResultContainer_, Result_> collector) Convert theUniConstraintStreamto aBiConstraintStream, consisting of unique tuples with two facts.<GroupKeyA_,GroupKeyB_>
BiConstraintStream<GroupKeyA_,GroupKeyB_> UniConstraintStream.groupBy(Function<A, GroupKeyA_> groupKeyAMapping, Function<A, GroupKeyB_> groupKeyBMapping) Convert theUniConstraintStreamto aBiConstraintStream, consisting of unique tuples with two facts.default <B> BiConstraintStream<A,B> UniConstraintStream.join(UniConstraintStream<B> otherStream) Create a newBiConstraintStreamfor every combination of A and B.default <B> BiConstraintStream<A,B> UniConstraintStream.join(UniConstraintStream<B> otherStream, BiJoiner<A, B> joiner) Create a newBiConstraintStreamfor every combination of A and B for which theBiJoineris 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).default <B> BiConstraintStream<A,B> Create a newBiConstraintStreamfor every combination of A and B.default <B> BiConstraintStream<A,B> Create a newBiConstraintStreamfor every combination of A and B for which theBiJoineris 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).<ResultA_,ResultB_>
BiConstraintStream<ResultA_,ResultB_> As defined byUniConstraintStream.map(Function), only resulting inBiConstraintStream.Methods in ai.timefold.solver.core.api.score.stream.uni with parameters of type BiConstraintStreamModifier and TypeMethodDescriptiondefault <B> BiConstraintStream<A,B> UniConstraintStream.concat(BiConstraintStream<A, B> otherStream) Returns a newBiConstraintStreamcontaining all the tuples of both thisUniConstraintStreamand the providedBiConstraintStream.<B> BiConstraintStream<A,B> UniConstraintStream.concat(BiConstraintStream<A, B> otherStream, Function<A, B> paddingFunctionB) Returns a newBiConstraintStreamcontaining all the tuples of both thisUniConstraintStreamand the providedBiConstraintStream. -
Uses of BiConstraintStream in ai.timefold.solver.core.impl.score.stream.bavet.bi
Classes in ai.timefold.solver.core.impl.score.stream.bavet.bi that implement BiConstraintStreamModifier and TypeClassDescriptionclassBavetAbstractBiConstraintStream<Solution_,A, B> final classBavetBiConcatBiConstraintStream<Solution_,A, B> final classBavetJoinBiConstraintStream<Solution_,A, B> final classBavetUniConcatBiConstraintStream<Solution_,A, B> Methods in ai.timefold.solver.core.impl.score.stream.bavet.bi that return BiConstraintStreamModifier and TypeMethodDescriptionBavetAbstractBiConstraintStream.concat(BiConstraintStream<A, B> otherStream) BavetAbstractBiConstraintStream.concat(UniConstraintStream<A> otherStream, Function<A, B> paddingFunction) BavetAbstractBiConstraintStream.distinct()<ResultB_> BiConstraintStream<A,ResultB_> BavetAbstractBiConstraintStream.flattenLast(Function<B, Iterable<ResultB_>> mapping) <ResultContainerA_,ResultA_, ResultContainerB_, ResultB_>
BiConstraintStream<ResultA_,ResultB_> BavetAbstractBiConstraintStream.groupBy(BiConstraintCollector<A, B, ResultContainerA_, ResultA_> collectorA, BiConstraintCollector<A, B, ResultContainerB_, ResultB_> collectorB) <GroupKey_,ResultContainer_, Result_>
BiConstraintStream<GroupKey_,Result_> BavetAbstractBiConstraintStream.groupBy(BiFunction<A, B, GroupKey_> groupKeyMapping, BiConstraintCollector<A, B, ResultContainer_, Result_> collector) <GroupKeyA_,GroupKeyB_>
BiConstraintStream<GroupKeyA_,GroupKeyB_> BavetAbstractBiConstraintStream.groupBy(BiFunction<A, B, GroupKeyA_> groupKeyAMapping, BiFunction<A, B, GroupKeyB_> groupKeyBMapping) final <C> BiConstraintStream<A,B> BavetAbstractBiConstraintStream.ifExists(UniConstraintStream<C> otherStream, TriJoiner<A, B, C>... joiners) final <C> BiConstraintStream<A,B> BavetAbstractBiConstraintStream.ifNotExists(UniConstraintStream<C> otherStream, TriJoiner<A, B, C>... joiners) <ResultA_,ResultB_>
BiConstraintStream<ResultA_,ResultB_> BavetAbstractBiConstraintStream.map(BiFunction<A, B, ResultA_> mappingA, BiFunction<A, B, ResultB_> mappingB) Methods in ai.timefold.solver.core.impl.score.stream.bavet.bi with parameters of type BiConstraintStreamModifier and TypeMethodDescriptionBavetAbstractBiConstraintStream.concat(BiConstraintStream<A, B> otherStream) -
Uses of BiConstraintStream in ai.timefold.solver.core.impl.score.stream.bavet.common.bridge
Classes in ai.timefold.solver.core.impl.score.stream.bavet.common.bridge that implement BiConstraintStreamModifier and TypeClassDescriptionfinal classBavetAftBridgeBiConstraintStream<Solution_,A, B> final classBavetForeBridgeBiConstraintStream<Solution_,A, B> -
Uses of BiConstraintStream in ai.timefold.solver.core.impl.score.stream.bavet.quad
Methods in ai.timefold.solver.core.impl.score.stream.bavet.quad that return BiConstraintStreamModifier and TypeMethodDescription<GroupKey_,ResultContainer_, Result_>
BiConstraintStream<GroupKey_,Result_> BavetAbstractQuadConstraintStream.groupBy(QuadFunction<A, B, C, D, GroupKey_> groupKeyMapping, QuadConstraintCollector<A, B, C, D, ResultContainer_, Result_> collector) <GroupKeyA_,GroupKeyB_>
BiConstraintStream<GroupKeyA_,GroupKeyB_> BavetAbstractQuadConstraintStream.groupBy(QuadFunction<A, B, C, D, GroupKeyA_> groupKeyAMapping, QuadFunction<A, B, C, D, GroupKeyB_> groupKeyBMapping) <ResultContainerA_,ResultA_, ResultContainerB_, ResultB_>
BiConstraintStream<ResultA_,ResultB_> BavetAbstractQuadConstraintStream.groupBy(QuadConstraintCollector<A, B, C, D, ResultContainerA_, ResultA_> collectorA, QuadConstraintCollector<A, B, C, D, ResultContainerB_, ResultB_> collectorB) <ResultA_,ResultB_>
BiConstraintStream<ResultA_,ResultB_> BavetAbstractQuadConstraintStream.map(QuadFunction<A, B, C, D, ResultA_> mappingA, QuadFunction<A, B, C, D, ResultB_> mappingB) Methods in ai.timefold.solver.core.impl.score.stream.bavet.quad with parameters of type BiConstraintStreamModifier and TypeMethodDescriptionBavetAbstractQuadConstraintStream.concat(BiConstraintStream<A, B> otherStream, BiFunction<A, B, C> paddingFunctionC, BiFunction<A, B, D> paddingFunctionD) -
Uses of BiConstraintStream in ai.timefold.solver.core.impl.score.stream.bavet.tri
Methods in ai.timefold.solver.core.impl.score.stream.bavet.tri that return BiConstraintStreamModifier and TypeMethodDescription<GroupKey_,ResultContainer_, Result_>
BiConstraintStream<GroupKey_,Result_> BavetAbstractTriConstraintStream.groupBy(TriFunction<A, B, C, GroupKey_> groupKeyMapping, TriConstraintCollector<A, B, C, ResultContainer_, Result_> collector) <GroupKeyA_,GroupKeyB_>
BiConstraintStream<GroupKeyA_,GroupKeyB_> BavetAbstractTriConstraintStream.groupBy(TriFunction<A, B, C, GroupKeyA_> groupKeyAMapping, TriFunction<A, B, C, GroupKeyB_> groupKeyBMapping) <ResultContainerA_,ResultA_, ResultContainerB_, ResultB_>
BiConstraintStream<ResultA_,ResultB_> BavetAbstractTriConstraintStream.groupBy(TriConstraintCollector<A, B, C, ResultContainerA_, ResultA_> collectorA, TriConstraintCollector<A, B, C, ResultContainerB_, ResultB_> collectorB) <ResultA_,ResultB_>
BiConstraintStream<ResultA_,ResultB_> BavetAbstractTriConstraintStream.map(TriFunction<A, B, C, ResultA_> mappingA, TriFunction<A, B, C, ResultB_> mappingB) Methods in ai.timefold.solver.core.impl.score.stream.bavet.tri with parameters of type BiConstraintStreamModifier and TypeMethodDescriptionBavetAbstractTriConstraintStream.concat(BiConstraintStream<A, B> otherStream, BiFunction<A, B, C> paddingFunction) -
Uses of BiConstraintStream in ai.timefold.solver.core.impl.score.stream.bavet.uni
Methods in ai.timefold.solver.core.impl.score.stream.bavet.uni that return BiConstraintStreamModifier and TypeMethodDescription<B> BiConstraintStream<A,B> BavetAbstractUniConstraintStream.concat(BiConstraintStream<A, B> otherStream, Function<A, B> paddingFunction) <ResultB_> BiConstraintStream<A,ResultB_> <ResultContainerA_,ResultA_, ResultContainerB_, ResultB_>
BiConstraintStream<ResultA_,ResultB_> BavetAbstractUniConstraintStream.groupBy(UniConstraintCollector<A, ResultContainerA_, ResultA_> collectorA, UniConstraintCollector<A, ResultContainerB_, ResultB_> collectorB) <GroupKey_,ResultContainer_, Result_>
BiConstraintStream<GroupKey_,Result_> BavetAbstractUniConstraintStream.groupBy(Function<A, GroupKey_> groupKeyMapping, UniConstraintCollector<A, ResultContainer_, Result_> collector) <GroupKeyA_,GroupKeyB_>
BiConstraintStream<GroupKeyA_,GroupKeyB_> BavetAbstractUniConstraintStream.groupBy(Function<A, GroupKeyA_> groupKeyAMapping, Function<A, GroupKeyB_> groupKeyBMapping) final <B> BiConstraintStream<A,B> BavetAbstractUniConstraintStream.join(UniConstraintStream<B> otherStream, BiJoiner<A, B>... joiners) final <B> BiConstraintStream<A,B> BavetAbstractUniConstraintStream.join(UniConstraintStream<B> otherStream, BiJoinerComber<A, B> joinerComber) <ResultA_,ResultB_>
BiConstraintStream<ResultA_,ResultB_> Methods in ai.timefold.solver.core.impl.score.stream.bavet.uni with parameters of type BiConstraintStreamModifier and TypeMethodDescription<B> BiConstraintStream<A,B> BavetAbstractUniConstraintStream.concat(BiConstraintStream<A, B> otherStream, Function<A, B> paddingFunction) -
Uses of BiConstraintStream in ai.timefold.solver.core.impl.score.stream.common
Methods in ai.timefold.solver.core.impl.score.stream.common that return BiConstraintStreamModifier and TypeMethodDescription<A> BiConstraintStream<A,A> InnerConstraintFactory.forEachUniquePair(Class<A> sourceClass, BiJoiner<A, A>... joiners) <A> BiConstraintStream<A,A> InnerConstraintFactory.fromUniquePair(Class<A> fromClass, BiJoiner<A, A>... joiners) -
Uses of BiConstraintStream in ai.timefold.solver.core.impl.score.stream.common.bi
Subinterfaces of BiConstraintStream in ai.timefold.solver.core.impl.score.stream.common.biMethods in ai.timefold.solver.core.impl.score.stream.common.bi that return BiConstraintStreamModifier and TypeMethodDescriptiondefault BiConstraintStream<A,B> InnerBiConstraintStream.distinct()default <C> BiConstraintStream<A,B> default <C> BiConstraintStream<A,B> InnerBiConstraintStream.ifExistsIncludingUnassigned(Class<C> otherClass, TriJoiner<A, B, C>... joiners) default <C> BiConstraintStream<A,B> InnerBiConstraintStream.ifNotExists(Class<C> otherClass, TriJoiner<A, B, C>... joiners) default <C> BiConstraintStream<A,B> InnerBiConstraintStream.ifNotExistsIncludingUnassigned(Class<C> otherClass, TriJoiner<A, B, C>... joiners) -
Uses of BiConstraintStream in ai.timefold.solver.core.impl.score.stream.common.uni
Methods in ai.timefold.solver.core.impl.score.stream.common.uni that return BiConstraintStreamModifier and TypeMethodDescription<B> BiConstraintStream<A,B> InnerUniConstraintStream.join(UniConstraintStream<B> otherStream, BiJoinerComber<A, B> joinerComber) AllowsConstraintFactory.forEachUniquePair(Class)to reuse the joiner combing logic.default <B> BiConstraintStream<A,B>
ConstraintFactory.forEachUniquePair(Class), which exhibits the same behavior for planning variables which both allow and don't allow unassigned values.