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> @NonNull BiConstraintStream<A,A> ConstraintFactory.forEachUniquePair(@NonNull Class<A> sourceClass) Create a newBiConstraintStreamfor every unique combination of A and another A with a higherPlanningId.default <A> @NonNull BiConstraintStream<A,A> ConstraintFactory.forEachUniquePair(@NonNull Class<A> sourceClass, @NonNull 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> @NonNull BiConstraintStream<A,A> ConstraintFactory.forEachUniquePair(@NonNull Class<A> sourceClass, @NonNull BiJoiner<A, A>... joiners) As defined byConstraintFactory.forEachUniquePair(Class, BiJoiner).default <A> @NonNull BiConstraintStream<A,A> ConstraintFactory.forEachUniquePair(@NonNull Class<A> sourceClass, @NonNull BiJoiner<A, A> joiner1, @NonNull BiJoiner<A, A> joiner2) As defined byConstraintFactory.forEachUniquePair(Class, BiJoiner).default <A> @NonNull BiConstraintStream<A,A> ConstraintFactory.forEachUniquePair(@NonNull Class<A> sourceClass, @NonNull BiJoiner<A, A> joiner1, @NonNull BiJoiner<A, A> joiner2, @NonNull BiJoiner<A, A> joiner3) As defined byConstraintFactory.forEachUniquePair(Class, BiJoiner).default <A> @NonNull BiConstraintStream<A,A> ConstraintFactory.forEachUniquePair(@NonNull Class<A> sourceClass, @NonNull BiJoiner<A, A> joiner1, @NonNull BiJoiner<A, A> joiner2, @NonNull BiJoiner<A, A> joiner3, @NonNull BiJoiner<A, A> joiner4) As defined byConstraintFactory.forEachUniquePair(Class, BiJoiner).default <A> @NonNull BiConstraintStream<A,A> ConstraintFactory.fromUniquePair(@NonNull Class<A> fromClass) Deprecated, for removal: This API element is subject to removal in a future version.default <A> @NonNull BiConstraintStream<A,A> ConstraintFactory.fromUniquePair(@NonNull Class<A> fromClass, @NonNull 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> @NonNull BiConstraintStream<A,A> ConstraintFactory.fromUniquePair(@NonNull Class<A> fromClass, @NonNull 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> @NonNull BiConstraintStream<A,A> ConstraintFactory.fromUniquePair(@NonNull Class<A> fromClass, @NonNull BiJoiner<A, A> joiner1, @NonNull 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> @NonNull BiConstraintStream<A,A> ConstraintFactory.fromUniquePair(@NonNull Class<A> fromClass, @NonNull BiJoiner<A, A> joiner1, @NonNull BiJoiner<A, A> joiner2, @NonNull 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> @NonNull BiConstraintStream<A,A> ConstraintFactory.fromUniquePair(@NonNull Class<A> fromClass, @NonNull BiJoiner<A, A> joiner1, @NonNull BiJoiner<A, A> joiner2, @NonNull BiJoiner<A, A> joiner3, @NonNull 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 @NonNull BiConstraintStream<A,B> BiConstraintStream.complement(@NonNull Class<A> otherClass) As defined bycomplement(Class, Function), where the padding function pads with null.default @NonNull BiConstraintStream<A,B> Adds to the stream all instances of a given class which are not yet present in it.@NonNull BiConstraintStream<A,B> BiConstraintStream.concat(@NonNull BiConstraintStream<A, B> otherStream) Returns a newBiConstraintStreamcontaining all the tuples of both thisBiConstraintStreamand the providedBiConstraintStream.default @NonNull BiConstraintStream<A,B> BiConstraintStream.concat(@NonNull UniConstraintStream<A> otherStream) Returns a newBiConstraintStreamcontaining all the tuples of both thisBiConstraintStreamand the providedUniConstraintStream.@NonNull BiConstraintStream<A,B> BiConstraintStream.concat(@NonNull UniConstraintStream<A> otherStream, @NonNull Function<A, B> paddingFunction) Returns a newBiConstraintStreamcontaining all the tuples of both thisBiConstraintStreamand the providedUniConstraintStream.@NonNull BiConstraintStream<A,B> BiConstraintStream.distinct()Transforms the stream in such a way that all the tuples going through it are distinct.@NonNull BiConstraintStream<A,B> BiConstraintStream.filter(@NonNull BiPredicate<A, B> predicate) Exhaustively test each tuple of facts against theBiPredicateand match ifBiPredicate.test(Object, Object)returns true.<ResultB_> @NonNull BiConstraintStream<A,ResultB_> BiConstraintStream.flattenLast(@NonNull Function<B, @NonNull Iterable<ResultB_>> mapping) Takes each tuple and applies a mapping on the last fact, which turns it intoIterable.<ResultContainerA_,ResultA_, ResultContainerB_, ResultB_>
@NonNull BiConstraintStream<ResultA_,ResultB_> BiConstraintStream.groupBy(@NonNull BiConstraintCollector<A, B, ResultContainerA_, ResultA_> collectorA, @NonNull BiConstraintCollector<A, B, ResultContainerB_, ResultB_> collectorB) Convert theBiConstraintStreamto aBiConstraintStream, containing only a single tuple, the result of applying twoBiConstraintCollectors.<GroupKey_,ResultContainer_, Result_>
@NonNull BiConstraintStream<GroupKey_,Result_> BiConstraintStream.groupBy(@NonNull BiFunction<A, B, GroupKey_> groupKeyMapping, @NonNull BiConstraintCollector<A, B, ResultContainer_, Result_> collector) Convert theBiConstraintStreamto a differentBiConstraintStream, consisting of unique tuples.<GroupKeyA_,GroupKeyB_>
@NonNull BiConstraintStream<GroupKeyA_,GroupKeyB_> BiConstraintStream.groupBy(@NonNull BiFunction<A, B, GroupKeyA_> groupKeyAMapping, @NonNull BiFunction<A, B, GroupKeyB_> groupKeyBMapping) Convert theBiConstraintStreamto a differentBiConstraintStream, consisting of unique tuples.default <C> @NonNull BiConstraintStream<A,B> BiConstraintStream.ifExists(@NonNull UniConstraintStream<C> otherStream, @NonNull 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> @NonNull BiConstraintStream<A,B> BiConstraintStream.ifExists(@NonNull UniConstraintStream<C> otherStream, @NonNull TriJoiner<A, B, C>... joiners) As defined byifExists(UniConstraintStream, TriJoiner).default <C> @NonNull BiConstraintStream<A,B> BiConstraintStream.ifExists(@NonNull UniConstraintStream<C> otherStream, @NonNull TriJoiner<A, B, C> joiner1, @NonNull TriJoiner<A, B, C> joiner2) As defined byifExists(UniConstraintStream, TriJoiner).default <C> @NonNull BiConstraintStream<A,B> BiConstraintStream.ifExists(@NonNull UniConstraintStream<C> otherStream, @NonNull TriJoiner<A, B, C> joiner1, @NonNull TriJoiner<A, B, C> joiner2, @NonNull TriJoiner<A, B, C> joiner3) As defined byifExists(UniConstraintStream, TriJoiner).default <C> @NonNull BiConstraintStream<A,B> BiConstraintStream.ifExists(@NonNull UniConstraintStream<C> otherStream, @NonNull TriJoiner<A, B, C> joiner1, @NonNull TriJoiner<A, B, C> joiner2, @NonNull TriJoiner<A, B, C> joiner3, @NonNull TriJoiner<A, B, C> joiner4) As defined byifExists(UniConstraintStream, TriJoiner).default <C> @NonNull 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> @NonNull BiConstraintStream<A,B> As defined byifExists(Class, TriJoiner).default <C> @NonNull BiConstraintStream<A,B> BiConstraintStream.ifExists(@NonNull Class<C> otherClass, @NonNull TriJoiner<A, B, C> joiner1, @NonNull TriJoiner<A, B, C> joiner2) As defined byifExists(Class, TriJoiner).default <C> @NonNull BiConstraintStream<A,B> BiConstraintStream.ifExists(@NonNull Class<C> otherClass, @NonNull TriJoiner<A, B, C> joiner1, @NonNull TriJoiner<A, B, C> joiner2, @NonNull TriJoiner<A, B, C> joiner3) As defined byifExists(Class, TriJoiner).default <C> @NonNull BiConstraintStream<A,B> BiConstraintStream.ifExists(@NonNull Class<C> otherClass, @NonNull TriJoiner<A, B, C> joiner1, @NonNull TriJoiner<A, B, C> joiner2, @NonNull TriJoiner<A, B, C> joiner3, @NonNull 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> @NonNull BiConstraintStream<A,B> BiConstraintStream.ifExistsIncludingUnassigned(@NonNull Class<C> otherClass, @NonNull 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> @NonNull BiConstraintStream<A,B> BiConstraintStream.ifExistsIncludingUnassigned(@NonNull Class<C> otherClass, @NonNull TriJoiner<A, B, C>... joiners) As defined byifExistsIncludingUnassigned(Class, TriJoiner).default <C> @NonNull BiConstraintStream<A,B> BiConstraintStream.ifExistsIncludingUnassigned(@NonNull Class<C> otherClass, @NonNull TriJoiner<A, B, C> joiner1, @NonNull TriJoiner<A, B, C> joiner2) As defined byifExistsIncludingUnassigned(Class, TriJoiner).default <C> @NonNull BiConstraintStream<A,B> BiConstraintStream.ifExistsIncludingUnassigned(@NonNull Class<C> otherClass, @NonNull TriJoiner<A, B, C> joiner1, @NonNull TriJoiner<A, B, C> joiner2, @NonNull TriJoiner<A, B, C> joiner3) As defined byifExistsIncludingNullVars(Class, TriJoiner).default <C> @NonNull BiConstraintStream<A,B> BiConstraintStream.ifExistsIncludingUnassigned(@NonNull Class<C> otherClass, @NonNull TriJoiner<A, B, C> joiner1, @NonNull TriJoiner<A, B, C> joiner2, @NonNull TriJoiner<A, B, C> joiner3, @NonNull TriJoiner<A, B, C> joiner4) As defined byifExistsIncludingUnassigned(Class, TriJoiner).default <C> @NonNull BiConstraintStream<A,B> BiConstraintStream.ifNotExists(@NonNull UniConstraintStream<C> otherStream, @NonNull 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> @NonNull BiConstraintStream<A,B> BiConstraintStream.ifNotExists(@NonNull UniConstraintStream<C> otherStream, @NonNull TriJoiner<A, B, C>... joiners) As defined byifNotExists(UniConstraintStream, TriJoiner).default <C> @NonNull BiConstraintStream<A,B> BiConstraintStream.ifNotExists(@NonNull UniConstraintStream<C> otherStream, @NonNull TriJoiner<A, B, C> joiner1, @NonNull TriJoiner<A, B, C> joiner2) As defined byifNotExists(UniConstraintStream, TriJoiner).default <C> @NonNull BiConstraintStream<A,B> BiConstraintStream.ifNotExists(@NonNull UniConstraintStream<C> otherStream, @NonNull TriJoiner<A, B, C> joiner1, @NonNull TriJoiner<A, B, C> joiner2, @NonNull TriJoiner<A, B, C> joiner3) As defined byifNotExists(UniConstraintStream, TriJoiner).default <C> @NonNull BiConstraintStream<A,B> BiConstraintStream.ifNotExists(@NonNull UniConstraintStream<C> otherStream, @NonNull TriJoiner<A, B, C> joiner1, @NonNull TriJoiner<A, B, C> joiner2, @NonNull TriJoiner<A, B, C> joiner3, @NonNull TriJoiner<A, B, C> joiner4) As defined byifNotExists(UniConstraintStream, TriJoiner).default <C> @NonNull BiConstraintStream<A,B> BiConstraintStream.ifNotExists(@NonNull Class<C> otherClass, @NonNull 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> @NonNull BiConstraintStream<A,B> BiConstraintStream.ifNotExists(@NonNull Class<C> otherClass, @NonNull TriJoiner<A, B, C>... joiners) As defined byifNotExists(Class, TriJoiner).default <C> @NonNull BiConstraintStream<A,B> BiConstraintStream.ifNotExists(@NonNull Class<C> otherClass, @NonNull TriJoiner<A, B, C> joiner1, @NonNull TriJoiner<A, B, C> joiner2) As defined byifNotExists(Class, TriJoiner).default <C> @NonNull BiConstraintStream<A,B> BiConstraintStream.ifNotExists(@NonNull Class<C> otherClass, @NonNull TriJoiner<A, B, C> joiner1, @NonNull TriJoiner<A, B, C> joiner2, @NonNull TriJoiner<A, B, C> joiner3) As defined byifNotExists(Class, TriJoiner).default <C> @NonNull BiConstraintStream<A,B> BiConstraintStream.ifNotExists(@NonNull Class<C> otherClass, @NonNull TriJoiner<A, B, C> joiner1, @NonNull TriJoiner<A, B, C> joiner2, @NonNull TriJoiner<A, B, C> joiner3, @NonNull 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> @NonNull BiConstraintStream<A,B> BiConstraintStream.ifNotExistsIncludingUnassigned(@NonNull Class<C> otherClass, @NonNull 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> @NonNull BiConstraintStream<A,B> BiConstraintStream.ifNotExistsIncludingUnassigned(@NonNull Class<C> otherClass, @NonNull TriJoiner<A, B, C>... joiners) As defined byifNotExistsIncludingUnassigned(Class, TriJoiner).default <C> @NonNull BiConstraintStream<A,B> BiConstraintStream.ifNotExistsIncludingUnassigned(@NonNull Class<C> otherClass, @NonNull TriJoiner<A, B, C> joiner1, @NonNull TriJoiner<A, B, C> joiner2) As defined byifNotExistsIncludingUnassigned(Class, TriJoiner).default <C> @NonNull BiConstraintStream<A,B> BiConstraintStream.ifNotExistsIncludingUnassigned(@NonNull Class<C> otherClass, @NonNull TriJoiner<A, B, C> joiner1, @NonNull TriJoiner<A, B, C> joiner2, @NonNull TriJoiner<A, B, C> joiner3) As defined byifNotExistsIncludingUnassigned(Class, TriJoiner).default <C> @NonNull BiConstraintStream<A,B> BiConstraintStream.ifNotExistsIncludingUnassigned(@NonNull Class<C> otherClass, @NonNull TriJoiner<A, B, C> joiner1, @NonNull TriJoiner<A, B, C> joiner2, @NonNull TriJoiner<A, B, C> joiner3, @NonNull TriJoiner<A, B, C> joiner4) As defined byifNotExistsIncludingUnassigned(Class, TriJoiner).<ResultA_,ResultB_>
@NonNull BiConstraintStream<ResultA_,ResultB_> BiConstraintStream.map(@NonNull BiFunction<A, B, @NonNull ResultA_> mappingA, @NonNull 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 TypeMethodDescription@NonNull BiConstraintStream<A,B> BiConstraintStream.concat(@NonNull 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_>
@NonNull BiConstraintStream<GroupKey_,Result_> QuadConstraintStream.groupBy(@NonNull QuadFunction<A, B, C, D, GroupKey_> groupKeyMapping, @NonNull QuadConstraintCollector<A, B, C, D, ResultContainer_, Result_> collector) Convert theQuadConstraintStreamto aBiConstraintStream, consisting of unique tuples.<GroupKeyA_,GroupKeyB_>
@NonNull BiConstraintStream<GroupKeyA_,GroupKeyB_> QuadConstraintStream.groupBy(@NonNull QuadFunction<A, B, C, D, GroupKeyA_> groupKeyAMapping, @NonNull QuadFunction<A, B, C, D, GroupKeyB_> groupKeyBMapping) Convert theQuadConstraintStreamto aBiConstraintStream, consisting of unique tuples.<ResultContainerA_,ResultA_, ResultContainerB_, ResultB_>
@NonNull BiConstraintStream<ResultA_,ResultB_> QuadConstraintStream.groupBy(@NonNull QuadConstraintCollector<A, B, C, D, ResultContainerA_, ResultA_> collectorA, @NonNull QuadConstraintCollector<A, B, C, D, ResultContainerB_, ResultB_> collectorB) Convert theQuadConstraintStreamto aBiConstraintStream, containing only a single tuple, the result of applying twoQuadConstraintCollectors.<ResultA_,ResultB_>
@NonNull BiConstraintStream<ResultA_,ResultB_> QuadConstraintStream.map(@NonNull QuadFunction<A, B, C, D, ResultA_> mappingA, @NonNull 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 @NonNull QuadConstraintStream<A,B, C, D> QuadConstraintStream.concat(@NonNull BiConstraintStream<A, B> otherStream) Returns a newQuadConstraintStreamcontaining all the tuples of both thisQuadConstraintStreamand the providedBiConstraintStream.@NonNull QuadConstraintStream<A,B, C, D> QuadConstraintStream.concat(@NonNull BiConstraintStream<A, B> otherStream, @NonNull BiFunction<A, B, C> paddingFunctionC, @NonNull 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_>
@NonNull BiConstraintStream<GroupKey_,Result_> TriConstraintStream.groupBy(@NonNull TriFunction<A, B, C, GroupKey_> groupKeyMapping, @NonNull TriConstraintCollector<A, B, C, ResultContainer_, Result_> collector) Convert theTriConstraintStreamto aBiConstraintStream, consisting of unique tuples.<GroupKeyA_,GroupKeyB_>
@NonNull BiConstraintStream<GroupKeyA_,GroupKeyB_> TriConstraintStream.groupBy(@NonNull TriFunction<A, B, C, GroupKeyA_> groupKeyAMapping, @NonNull TriFunction<A, B, C, GroupKeyB_> groupKeyBMapping) Convert theTriConstraintStreamto aBiConstraintStream, consisting of unique tuples.<ResultContainerA_,ResultA_, ResultContainerB_, ResultB_>
@NonNull BiConstraintStream<ResultA_,ResultB_> TriConstraintStream.groupBy(@NonNull TriConstraintCollector<A, B, C, ResultContainerA_, ResultA_> collectorA, @NonNull TriConstraintCollector<A, B, C, ResultContainerB_, ResultB_> collectorB) Convert theTriConstraintStreamto aBiConstraintStream, containing only a single tuple, the result of applying twoTriConstraintCollectors.<ResultA_,ResultB_>
@NonNull BiConstraintStream<ResultA_,ResultB_> TriConstraintStream.map(@NonNull TriFunction<A, B, C, ResultA_> mappingA, @NonNull 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 @NonNull TriConstraintStream<A,B, C> TriConstraintStream.concat(@NonNull BiConstraintStream<A, B> otherStream) Returns a newTriConstraintStreamcontaining all the tuples of both thisTriConstraintStreamand the providedBiConstraintStream.@NonNull TriConstraintStream<A,B, C> TriConstraintStream.concat(@NonNull BiConstraintStream<A, B> otherStream, @NonNull 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> @NonNull BiConstraintStream<A,B> UniConstraintStream.concat(@NonNull BiConstraintStream<A, B> otherStream) Returns a newBiConstraintStreamcontaining all the tuples of both thisUniConstraintStreamand the providedBiConstraintStream.<B> @NonNull BiConstraintStream<A,B> UniConstraintStream.concat(@NonNull BiConstraintStream<A, B> otherStream, @NonNull Function<A, B> paddingFunctionB) Returns a newBiConstraintStreamcontaining all the tuples of both thisUniConstraintStreamand the providedBiConstraintStream.<ResultB_> @NonNull BiConstraintStream<A,ResultB_> Adds a fact to the end of the tuple, increasing the cardinality of the stream.<ResultContainerA_,ResultA_, ResultContainerB_, ResultB_>
@NonNull BiConstraintStream<ResultA_,ResultB_> UniConstraintStream.groupBy(@NonNull UniConstraintCollector<A, ResultContainerA_, ResultA_> collectorA, @NonNull UniConstraintCollector<A, ResultContainerB_, ResultB_> collectorB) Convert theUniConstraintStreamto aBiConstraintStream, containing only a single tuple, the result of applying twoUniConstraintCollectors.<GroupKey_,ResultContainer_, Result_>
@NonNull BiConstraintStream<GroupKey_,Result_> UniConstraintStream.groupBy(@NonNull Function<A, GroupKey_> groupKeyMapping, @NonNull UniConstraintCollector<A, ResultContainer_, Result_> collector) Convert theUniConstraintStreamto aBiConstraintStream, consisting of unique tuples with two facts.<GroupKeyA_,GroupKeyB_>
@NonNull BiConstraintStream<GroupKeyA_,GroupKeyB_> UniConstraintStream.groupBy(@NonNull Function<A, GroupKeyA_> groupKeyAMapping, @NonNull Function<A, GroupKeyB_> groupKeyBMapping) Convert theUniConstraintStreamto aBiConstraintStream, consisting of unique tuples with two facts.default <B> @NonNull BiConstraintStream<A,B> UniConstraintStream.join(@NonNull UniConstraintStream<B> otherStream) Create a newBiConstraintStreamfor every combination of A and B.default <B> @NonNull BiConstraintStream<A,B> UniConstraintStream.join(@NonNull UniConstraintStream<B> otherStream, @NonNull 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> @NonNull BiConstraintStream<A,B> UniConstraintStream.join(@NonNull UniConstraintStream<B> otherStream, @NonNull BiJoiner<A, B>... joiners) As defined byUniConstraintStream.join(UniConstraintStream, BiJoiner).default <B> @NonNull BiConstraintStream<A,B> UniConstraintStream.join(@NonNull UniConstraintStream<B> otherStream, @NonNull BiJoiner<A, B> joiner1, @NonNull BiJoiner<A, B> joiner2) As defined byUniConstraintStream.join(UniConstraintStream, BiJoiner).default <B> @NonNull BiConstraintStream<A,B> UniConstraintStream.join(@NonNull UniConstraintStream<B> otherStream, @NonNull BiJoiner<A, B> joiner1, @NonNull BiJoiner<A, B> joiner2, @NonNull BiJoiner<A, B> joiner3) As defined byUniConstraintStream.join(UniConstraintStream, BiJoiner).default <B> @NonNull BiConstraintStream<A,B> UniConstraintStream.join(@NonNull UniConstraintStream<B> otherStream, @NonNull BiJoiner<A, B> joiner1, @NonNull BiJoiner<A, B> joiner2, @NonNull BiJoiner<A, B> joiner3, @NonNull BiJoiner<A, B> joiner4) As defined byUniConstraintStream.join(UniConstraintStream, BiJoiner).default <B> @NonNull BiConstraintStream<A,B> Create a newBiConstraintStreamfor every combination of A and B.default <B> @NonNull 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> @NonNull BiConstraintStream<A,B> As defined byUniConstraintStream.join(Class, BiJoiner).default <B> @NonNull BiConstraintStream<A,B> UniConstraintStream.join(@NonNull Class<B> otherClass, @NonNull BiJoiner<A, B> joiner1, @NonNull BiJoiner<A, B> joiner2) As defined byUniConstraintStream.join(Class, BiJoiner).default <B> @NonNull BiConstraintStream<A,B> UniConstraintStream.join(@NonNull Class<B> otherClass, @NonNull BiJoiner<A, B> joiner1, @NonNull BiJoiner<A, B> joiner2, @NonNull BiJoiner<A, B> joiner3) As defined byUniConstraintStream.join(Class, BiJoiner).default <B> @NonNull BiConstraintStream<A,B> UniConstraintStream.join(@NonNull Class<B> otherClass, @NonNull BiJoiner<A, B> joiner1, @NonNull BiJoiner<A, B> joiner2, @NonNull BiJoiner<A, B> joiner3, @NonNull BiJoiner<A, B> joiner4) As defined byUniConstraintStream.join(Class, BiJoiner).<ResultA_,ResultB_>
@NonNull BiConstraintStream<ResultA_,ResultB_> UniConstraintStream.map(@NonNull Function<A, ResultA_> mappingA, @NonNull Function<A, ResultB_> mappingB) 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> @NonNull BiConstraintStream<A,B> UniConstraintStream.concat(@NonNull BiConstraintStream<A, B> otherStream) Returns a newBiConstraintStreamcontaining all the tuples of both thisUniConstraintStreamand the providedBiConstraintStream.<B> @NonNull BiConstraintStream<A,B> UniConstraintStream.concat(@NonNull BiConstraintStream<A, B> otherStream, @NonNull 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 TypeMethodDescription@NonNull BiConstraintStream<A,B> BavetAbstractBiConstraintStream.concat(@NonNull BiConstraintStream<A, B> otherStream) @NonNull BiConstraintStream<A,B> BavetAbstractBiConstraintStream.concat(@NonNull UniConstraintStream<A> otherStream, @NonNull Function<A, B> paddingFunction) @NonNull BiConstraintStream<A,B> BavetAbstractBiConstraintStream.distinct()<ResultB_> @NonNull BiConstraintStream<A,ResultB_> BavetAbstractBiConstraintStream.flattenLast(@NonNull Function<B, @NonNull Iterable<ResultB_>> mapping) <ResultContainerA_,ResultA_, ResultContainerB_, ResultB_>
@NonNull BiConstraintStream<ResultA_,ResultB_> BavetAbstractBiConstraintStream.groupBy(@NonNull BiConstraintCollector<A, B, ResultContainerA_, ResultA_> collectorA, @NonNull BiConstraintCollector<A, B, ResultContainerB_, ResultB_> collectorB) <GroupKey_,ResultContainer_, Result_>
@NonNull BiConstraintStream<GroupKey_,Result_> BavetAbstractBiConstraintStream.groupBy(@NonNull BiFunction<A, B, GroupKey_> groupKeyMapping, @NonNull BiConstraintCollector<A, B, ResultContainer_, Result_> collector) <GroupKeyA_,GroupKeyB_>
@NonNull BiConstraintStream<GroupKeyA_,GroupKeyB_> BavetAbstractBiConstraintStream.groupBy(@NonNull BiFunction<A, B, GroupKeyA_> groupKeyAMapping, @NonNull BiFunction<A, B, GroupKeyB_> groupKeyBMapping) final <C> @NonNull BiConstraintStream<A,B> BavetAbstractBiConstraintStream.ifExists(@NonNull UniConstraintStream<C> otherStream, @NonNull TriJoiner<A, B, C> @NonNull ... joiners) final <C> @NonNull BiConstraintStream<A,B> BavetAbstractBiConstraintStream.ifNotExists(@NonNull UniConstraintStream<C> otherStream, TriJoiner<A, B, C>... joiners) <ResultA_,ResultB_>
@NonNull BiConstraintStream<ResultA_,ResultB_> BavetAbstractBiConstraintStream.map(@NonNull BiFunction<A, B, ResultA_> mappingA, @NonNull BiFunction<A, B, ResultB_> mappingB) Methods in ai.timefold.solver.core.impl.score.stream.bavet.bi with parameters of type BiConstraintStreamModifier and TypeMethodDescription@NonNull BiConstraintStream<A,B> BavetAbstractBiConstraintStream.concat(@NonNull 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_>
@NonNull BiConstraintStream<GroupKey_,Result_> BavetAbstractQuadConstraintStream.groupBy(@NonNull QuadFunction<A, B, C, D, GroupKey_> groupKeyMapping, @NonNull QuadConstraintCollector<A, B, C, D, ResultContainer_, Result_> collector) <GroupKeyA_,GroupKeyB_>
@NonNull BiConstraintStream<GroupKeyA_,GroupKeyB_> BavetAbstractQuadConstraintStream.groupBy(@NonNull QuadFunction<A, B, C, D, GroupKeyA_> groupKeyAMapping, @NonNull QuadFunction<A, B, C, D, GroupKeyB_> groupKeyBMapping) <ResultContainerA_,ResultA_, ResultContainerB_, ResultB_>
@NonNull BiConstraintStream<ResultA_,ResultB_> BavetAbstractQuadConstraintStream.groupBy(@NonNull QuadConstraintCollector<A, B, C, D, ResultContainerA_, ResultA_> collectorA, @NonNull QuadConstraintCollector<A, B, C, D, ResultContainerB_, ResultB_> collectorB) <ResultA_,ResultB_>
@NonNull BiConstraintStream<ResultA_,ResultB_> BavetAbstractQuadConstraintStream.map(@NonNull QuadFunction<A, B, C, D, ResultA_> mappingA, @NonNull QuadFunction<A, B, C, D, ResultB_> mappingB) Methods in ai.timefold.solver.core.impl.score.stream.bavet.quad with parameters of type BiConstraintStreamModifier and TypeMethodDescription@NonNull QuadConstraintStream<A,B, C, D> BavetAbstractQuadConstraintStream.concat(@NonNull BiConstraintStream<A, B> otherStream, @NonNull BiFunction<A, B, C> paddingFunctionC, @NonNull 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_>
@NonNull BiConstraintStream<GroupKey_,Result_> BavetAbstractTriConstraintStream.groupBy(@NonNull TriFunction<A, B, C, GroupKey_> groupKeyMapping, @NonNull TriConstraintCollector<A, B, C, ResultContainer_, Result_> collector) <GroupKeyA_,GroupKeyB_>
@NonNull BiConstraintStream<GroupKeyA_,GroupKeyB_> BavetAbstractTriConstraintStream.groupBy(@NonNull TriFunction<A, B, C, GroupKeyA_> groupKeyAMapping, @NonNull TriFunction<A, B, C, GroupKeyB_> groupKeyBMapping) <ResultContainerA_,ResultA_, ResultContainerB_, ResultB_>
@NonNull BiConstraintStream<ResultA_,ResultB_> BavetAbstractTriConstraintStream.groupBy(@NonNull TriConstraintCollector<A, B, C, ResultContainerA_, ResultA_> collectorA, @NonNull TriConstraintCollector<A, B, C, ResultContainerB_, ResultB_> collectorB) <ResultA_,ResultB_>
@NonNull BiConstraintStream<ResultA_,ResultB_> BavetAbstractTriConstraintStream.map(@NonNull TriFunction<A, B, C, ResultA_> mappingA, @NonNull TriFunction<A, B, C, ResultB_> mappingB) Methods in ai.timefold.solver.core.impl.score.stream.bavet.tri with parameters of type BiConstraintStreamModifier and TypeMethodDescription@NonNull TriConstraintStream<A,B, C> BavetAbstractTriConstraintStream.concat(@NonNull BiConstraintStream<A, B> otherStream, @NonNull 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> @NonNull BiConstraintStream<A,B> BavetAbstractUniConstraintStream.concat(@NonNull BiConstraintStream<A, B> otherStream, @NonNull Function<A, B> paddingFunction) <ResultB_> @NonNull BiConstraintStream<A,ResultB_> <ResultContainerA_,ResultA_, ResultContainerB_, ResultB_>
@NonNull BiConstraintStream<ResultA_,ResultB_> BavetAbstractUniConstraintStream.groupBy(@NonNull UniConstraintCollector<A, ResultContainerA_, ResultA_> collectorA, @NonNull UniConstraintCollector<A, ResultContainerB_, ResultB_> collectorB) <GroupKey_,ResultContainer_, Result_>
@NonNull BiConstraintStream<GroupKey_,Result_> BavetAbstractUniConstraintStream.groupBy(@NonNull Function<A, GroupKey_> groupKeyMapping, @NonNull UniConstraintCollector<A, ResultContainer_, Result_> collector) <GroupKeyA_,GroupKeyB_>
@NonNull BiConstraintStream<GroupKeyA_,GroupKeyB_> BavetAbstractUniConstraintStream.groupBy(@NonNull Function<A, GroupKeyA_> groupKeyAMapping, @NonNull Function<A, GroupKeyB_> groupKeyBMapping) final <B> @NonNull BiConstraintStream<A,B> BavetAbstractUniConstraintStream.join(@NonNull UniConstraintStream<B> otherStream, @NonNull BiJoiner<A, B>... joiners) final <B> BiConstraintStream<A,B> BavetAbstractUniConstraintStream.join(UniConstraintStream<B> otherStream, BiJoinerComber<A, B> joinerComber) <ResultA_,ResultB_>
@NonNull BiConstraintStream<ResultA_,ResultB_> BavetAbstractUniConstraintStream.map(@NonNull Function<A, ResultA_> mappingA, @NonNull Function<A, ResultB_> mappingB) Methods in ai.timefold.solver.core.impl.score.stream.bavet.uni with parameters of type BiConstraintStreamModifier and TypeMethodDescription<B> @NonNull BiConstraintStream<A,B> BavetAbstractUniConstraintStream.concat(@NonNull BiConstraintStream<A, B> otherStream, @NonNull 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> @NonNull BiConstraintStream<A,A> InnerConstraintFactory.forEachUniquePair(@NonNull Class<A> sourceClass, BiJoiner<A, A> @NonNull ... joiners) <A> @NonNull BiConstraintStream<A,A> InnerConstraintFactory.fromUniquePair(@NonNull Class<A> fromClass, @NonNull 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 @NonNull BiConstraintStream<A,B> InnerBiConstraintStream.distinct()default <C> @NonNull BiConstraintStream<A,B> InnerBiConstraintStream.ifExists(@NonNull Class<C> otherClass, TriJoiner<A, B, C> @NonNull ... joiners) default <C> @NonNull BiConstraintStream<A,B> InnerBiConstraintStream.ifExistsIncludingUnassigned(@NonNull Class<C> otherClass, @NonNull TriJoiner<A, B, C> @NonNull ... joiners) default <C> @NonNull BiConstraintStream<A,B> InnerBiConstraintStream.ifNotExists(@NonNull Class<C> otherClass, @NonNull TriJoiner<A, B, C>... joiners) default <C> @NonNull BiConstraintStream<A,B> InnerBiConstraintStream.ifNotExistsIncludingUnassigned(@NonNull Class<C> otherClass, @NonNull 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 TypeMethodDescriptiondefault <B> @NonNull BiConstraintStream<A,B> <B> BiConstraintStream<A,B> InnerUniConstraintStream.join(UniConstraintStream<B> otherStream, BiJoinerComber<A, B> joinerComber) AllowsConstraintFactory.forEachUniquePair(Class)to reuse the joiner combing logic.
ConstraintFactory.forEachUniquePair(Class), which exhibits the same behavior for planning variables which both allow and don't allow unassigned values.