Uses of Interface
ai.timefold.solver.core.api.score.stream.tri.TriConstraintStream
Packages that use 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.Contains streams that serve as bridges.
-
Uses of TriConstraintStream in ai.timefold.solver.core.api.score.stream.bi
Methods in ai.timefold.solver.core.api.score.stream.bi that return TriConstraintStreamModifier and TypeMethodDescriptiondefault <C> @NonNull TriConstraintStream<A,B, C> BiConstraintStream.concat(@NonNull TriConstraintStream<A, B, C> otherStream) Returns a newTriConstraintStreamcontaining all the tuples of both thisBiConstraintStreamand the providedTriConstraintStream.<C> @NonNull TriConstraintStream<A,B, C> BiConstraintStream.concat(@NonNull TriConstraintStream<A, B, C> otherStream, @NonNull BiFunction<A, B, C> paddingFunction) Returns a newTriConstraintStreamcontaining all the tuples of both thisBiConstraintStreamand the providedTriConstraintStream.<ResultC_> @NonNull TriConstraintStream<A,B, ResultC_> BiConstraintStream.expand(@NonNull BiFunction<A, B, ResultC_> mapping) Adds a fact to the end of the tuple, increasing the cardinality of the stream.<ResultContainerA_,ResultA_, ResultContainerB_, ResultB_, ResultContainerC_, ResultC_>
@NonNull TriConstraintStream<ResultA_,ResultB_, ResultC_> BiConstraintStream.groupBy(@NonNull BiConstraintCollector<A, B, ResultContainerA_, ResultA_> collectorA, @NonNull BiConstraintCollector<A, B, ResultContainerB_, ResultB_> collectorB, @NonNull BiConstraintCollector<A, B, ResultContainerC_, ResultC_> collectorC) Convert theBiConstraintStreamto aTriConstraintStream, containing only a single tuple, the result of applying threeBiConstraintCollectors.<GroupKey_,ResultContainerB_, ResultB_, ResultContainerC_, ResultC_>
@NonNull TriConstraintStream<GroupKey_,ResultB_, ResultC_> BiConstraintStream.groupBy(@NonNull BiFunction<A, B, GroupKey_> groupKeyMapping, @NonNull BiConstraintCollector<A, B, ResultContainerB_, ResultB_> collectorB, @NonNull BiConstraintCollector<A, B, ResultContainerC_, ResultC_> collectorC) Convert theBiConstraintStreamto aTriConstraintStream, consisting of unique tuples with three facts.<GroupKeyA_,GroupKeyB_, ResultContainer_, Result_>
@NonNull TriConstraintStream<GroupKeyA_,GroupKeyB_, Result_> BiConstraintStream.groupBy(@NonNull BiFunction<A, B, GroupKeyA_> groupKeyAMapping, @NonNull BiFunction<A, B, GroupKeyB_> groupKeyBMapping, @NonNull BiConstraintCollector<A, B, ResultContainer_, Result_> collector) Combines the semantics ofBiConstraintStream.groupBy(BiFunction, BiFunction)andBiConstraintStream.groupBy(BiConstraintCollector).<GroupKeyA_,GroupKeyB_, GroupKeyC_>
@NonNull TriConstraintStream<GroupKeyA_,GroupKeyB_, GroupKeyC_> BiConstraintStream.groupBy(@NonNull BiFunction<A, B, GroupKeyA_> groupKeyAMapping, @NonNull BiFunction<A, B, GroupKeyB_> groupKeyBMapping, @NonNull BiFunction<A, B, GroupKeyC_> groupKeyCMapping) Convert theBiConstraintStreamto aTriConstraintStream, consisting of unique tuples with three facts.default <C> @NonNull TriConstraintStream<A,B, C> BiConstraintStream.join(@NonNull UniConstraintStream<C> otherStream) Create a newTriConstraintStreamfor every combination of [A, B] and C.default <C> @NonNull TriConstraintStream<A,B, C> BiConstraintStream.join(@NonNull UniConstraintStream<C> otherStream, @NonNull TriJoiner<A, B, C> joiner) Create a newTriConstraintStreamfor every combination of [A, B] and C for which theTriJoineris true (for the properties it extracts from both facts).<C> @NonNull TriConstraintStream<A,B, C> BiConstraintStream.join(@NonNull UniConstraintStream<C> otherStream, @NonNull TriJoiner<A, B, C>... joiners) As defined byBiConstraintStream.join(Class, TriJoiner).default <C> @NonNull TriConstraintStream<A,B, C> BiConstraintStream.join(@NonNull UniConstraintStream<C> otherStream, @NonNull TriJoiner<A, B, C> joiner1, @NonNull TriJoiner<A, B, C> joiner2) As defined byBiConstraintStream.join(Class, TriJoiner).default <C> @NonNull TriConstraintStream<A,B, C> BiConstraintStream.join(@NonNull UniConstraintStream<C> otherStream, @NonNull TriJoiner<A, B, C> joiner1, @NonNull TriJoiner<A, B, C> joiner2, @NonNull TriJoiner<A, B, C> joiner3) As defined byBiConstraintStream.join(Class, TriJoiner).default <C> @NonNull TriConstraintStream<A,B, C> BiConstraintStream.join(@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 byBiConstraintStream.join(Class, TriJoiner).default <C> @NonNull TriConstraintStream<A,B, C> Create a newTriConstraintStreamfor every combination of [A, B] and C.default <C> @NonNull TriConstraintStream<A,B, C> Create a newTriConstraintStreamfor every combination of [A, B] and C for which theTriJoineris true (for the properties it extracts from both facts).<C> @NonNull TriConstraintStream<A,B, C> As defined byBiConstraintStream.join(Class, TriJoiner).default <C> @NonNull TriConstraintStream<A,B, C> BiConstraintStream.join(@NonNull Class<C> otherClass, @NonNull TriJoiner<A, B, C> joiner1, @NonNull TriJoiner<A, B, C> joiner2) As defined byBiConstraintStream.join(Class, TriJoiner).default <C> @NonNull TriConstraintStream<A,B, C> BiConstraintStream.join(@NonNull Class<C> otherClass, @NonNull TriJoiner<A, B, C> joiner1, @NonNull TriJoiner<A, B, C> joiner2, @NonNull TriJoiner<A, B, C> joiner3) As defined byBiConstraintStream.join(Class, TriJoiner).default <C> @NonNull TriConstraintStream<A,B, C> BiConstraintStream.join(@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 byBiConstraintStream.join(Class, TriJoiner).<ResultA_,ResultB_, ResultC_>
@NonNull TriConstraintStream<ResultA_,ResultB_, ResultC_> BiConstraintStream.map(@NonNull BiFunction<A, B, ResultA_> mappingA, @NonNull BiFunction<A, B, ResultB_> mappingB, @NonNull BiFunction<A, B, ResultC_> mappingC) As defined byBiConstraintStream.map(BiFunction), only resulting inTriConstraintStream.Methods in ai.timefold.solver.core.api.score.stream.bi with parameters of type TriConstraintStreamModifier and TypeMethodDescriptiondefault <C> @NonNull TriConstraintStream<A,B, C> BiConstraintStream.concat(@NonNull TriConstraintStream<A, B, C> otherStream) Returns a newTriConstraintStreamcontaining all the tuples of both thisBiConstraintStreamand the providedTriConstraintStream.<C> @NonNull TriConstraintStream<A,B, C> BiConstraintStream.concat(@NonNull TriConstraintStream<A, B, C> otherStream, @NonNull BiFunction<A, B, C> paddingFunction) Returns a newTriConstraintStreamcontaining all the tuples of both thisBiConstraintStreamand the providedTriConstraintStream. -
Uses of TriConstraintStream in ai.timefold.solver.core.api.score.stream.quad
Methods in ai.timefold.solver.core.api.score.stream.quad that return TriConstraintStreamModifier and TypeMethodDescription<GroupKey_,ResultContainerB_, ResultB_, ResultContainerC_, ResultC_>
@NonNull TriConstraintStream<GroupKey_,ResultB_, ResultC_> QuadConstraintStream.groupBy(@NonNull QuadFunction<A, B, C, D, GroupKey_> groupKeyMapping, @NonNull QuadConstraintCollector<A, B, C, D, ResultContainerB_, ResultB_> collectorB, @NonNull QuadConstraintCollector<A, B, C, D, ResultContainerC_, ResultC_> collectorC) Convert theQuadConstraintStreamto aTriConstraintStream, consisting of unique tuples with three facts.<GroupKeyA_,GroupKeyB_, GroupKeyC_>
@NonNull TriConstraintStream<GroupKeyA_,GroupKeyB_, GroupKeyC_> QuadConstraintStream.groupBy(@NonNull QuadFunction<A, B, C, D, GroupKeyA_> groupKeyAMapping, @NonNull QuadFunction<A, B, C, D, GroupKeyB_> groupKeyBMapping, @NonNull QuadFunction<A, B, C, D, GroupKeyC_> groupKeyCMapping) Convert theQuadConstraintStreamto aTriConstraintStream, consisting of unique tuples with three facts.<GroupKeyA_,GroupKeyB_, ResultContainer_, Result_>
@NonNull TriConstraintStream<GroupKeyA_,GroupKeyB_, Result_> QuadConstraintStream.groupBy(@NonNull QuadFunction<A, B, C, D, GroupKeyA_> groupKeyAMapping, @NonNull QuadFunction<A, B, C, D, GroupKeyB_> groupKeyBMapping, @NonNull QuadConstraintCollector<A, B, C, D, ResultContainer_, Result_> collector) Combines the semantics ofQuadConstraintStream.groupBy(QuadFunction, QuadFunction)andQuadConstraintStream.groupBy(QuadConstraintCollector).<ResultContainerA_,ResultA_, ResultContainerB_, ResultB_, ResultContainerC_, ResultC_>
@NonNull TriConstraintStream<ResultA_,ResultB_, ResultC_> QuadConstraintStream.groupBy(@NonNull QuadConstraintCollector<A, B, C, D, ResultContainerA_, ResultA_> collectorA, @NonNull QuadConstraintCollector<A, B, C, D, ResultContainerB_, ResultB_> collectorB, @NonNull QuadConstraintCollector<A, B, C, D, ResultContainerC_, ResultC_> collectorC) Convert theQuadConstraintStreamto aTriConstraintStream, containing only a single tuple, the result of applying threeQuadConstraintCollectors.<ResultA_,ResultB_, ResultC_>
@NonNull TriConstraintStream<ResultA_,ResultB_, ResultC_> QuadConstraintStream.map(@NonNull QuadFunction<A, B, C, D, ResultA_> mappingA, @NonNull QuadFunction<A, B, C, D, ResultB_> mappingB, @NonNull QuadFunction<A, B, C, D, ResultC_> mappingC) As defined byQuadConstraintStream.map(QuadFunction), only resulting inTriConstraintStream.Methods in ai.timefold.solver.core.api.score.stream.quad with parameters of type TriConstraintStreamModifier and TypeMethodDescriptiondefault @NonNull QuadConstraintStream<A,B, C, D> QuadConstraintStream.concat(@NonNull TriConstraintStream<A, B, C> otherStream) Returns a newQuadConstraintStreamcontaining all the tuples of both thisQuadConstraintStreamand the providedTriConstraintStream.@NonNull QuadConstraintStream<A,B, C, D> QuadConstraintStream.concat(@NonNull TriConstraintStream<A, B, C> otherStream, @NonNull TriFunction<A, B, C, D> paddingFunction) Returns a newQuadConstraintStreamcontaining all the tuples of both thisQuadConstraintStreamand the providedTriConstraintStream. -
Uses of TriConstraintStream in ai.timefold.solver.core.api.score.stream.tri
Methods in ai.timefold.solver.core.api.score.stream.tri that return TriConstraintStreamModifier and TypeMethodDescriptiondefault @NonNull TriConstraintStream<A,B, C> TriConstraintStream.complement(@NonNull Class<A> otherClass) As defined bycomplement(Class, Function, Function), where the padding function pads with null.default @NonNull TriConstraintStream<A,B, C> TriConstraintStream.complement(@NonNull Class<A> otherClass, @NonNull Function<A, B> paddingFunctionB, @NonNull Function<A, C> paddingFunctionC) Adds to the stream all instances of a given class which are not yet present in it.default @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.@NonNull TriConstraintStream<A,B, C> TriConstraintStream.concat(@NonNull TriConstraintStream<A, B, C> otherStream) Returns a newTriConstraintStreamcontaining all the tuples of both thisTriConstraintStreamand the providedTriConstraintStream.default @NonNull TriConstraintStream<A,B, C> TriConstraintStream.concat(@NonNull UniConstraintStream<A> otherStream) Returns a newTriConstraintStreamcontaining all the tuples of both thisTriConstraintStreamand the providedUniConstraintStream.@NonNull TriConstraintStream<A,B, C> TriConstraintStream.concat(@NonNull UniConstraintStream<A> otherStream, @NonNull Function<A, B> paddingFunctionB, @NonNull Function<A, C> paddingFunctionC) Returns a newTriConstraintStreamcontaining all the tuples of both thisTriConstraintStreamand the providedUniConstraintStream.@NonNull TriConstraintStream<A,B, C> TriConstraintStream.distinct()@NonNull TriConstraintStream<A,B, C> TriConstraintStream.filter(@NonNull TriPredicate<A, B, C> predicate) Exhaustively test each tuple of facts against theTriPredicateand match ifTriPredicate.test(Object, Object, Object)returns true.<ResultC_> @NonNull TriConstraintStream<A,B, ResultC_> TriConstraintStream.flattenLast(@NonNull Function<C, Iterable<ResultC_>> mapping) As defined byBiConstraintStream.flattenLast(Function).<GroupKey_,ResultContainerB_, ResultB_, ResultContainerC_, ResultC_>
@NonNull TriConstraintStream<GroupKey_,ResultB_, ResultC_> TriConstraintStream.groupBy(@NonNull TriFunction<A, B, C, GroupKey_> groupKeyMapping, @NonNull TriConstraintCollector<A, B, C, ResultContainerB_, ResultB_> collectorB, @NonNull TriConstraintCollector<A, B, C, ResultContainerC_, ResultC_> collectorC) Convert theTriConstraintStreamto aTriConstraintStream, consisting of unique tuples with three facts.<GroupKeyA_,GroupKeyB_, GroupKeyC_>
@NonNull TriConstraintStream<GroupKeyA_,GroupKeyB_, GroupKeyC_> TriConstraintStream.groupBy(@NonNull TriFunction<A, B, C, GroupKeyA_> groupKeyAMapping, @NonNull TriFunction<A, B, C, GroupKeyB_> groupKeyBMapping, @NonNull TriFunction<A, B, C, GroupKeyC_> groupKeyCMapping) Convert theTriConstraintStreamto aTriConstraintStream, consisting of unique tuples with three facts.<GroupKeyA_,GroupKeyB_, ResultContainer_, Result_>
@NonNull TriConstraintStream<GroupKeyA_,GroupKeyB_, Result_> TriConstraintStream.groupBy(@NonNull TriFunction<A, B, C, GroupKeyA_> groupKeyAMapping, @NonNull TriFunction<A, B, C, GroupKeyB_> groupKeyBMapping, @NonNull TriConstraintCollector<A, B, C, ResultContainer_, Result_> collector) Combines the semantics ofgroupBy(TriFunction, TriFunction)andgroupBy(TriConstraintCollector).<ResultContainerA_,ResultA_, ResultContainerB_, ResultB_, ResultContainerC_, ResultC_>
@NonNull TriConstraintStream<ResultA_,ResultB_, ResultC_> TriConstraintStream.groupBy(@NonNull TriConstraintCollector<A, B, C, ResultContainerA_, ResultA_> collectorA, @NonNull TriConstraintCollector<A, B, C, ResultContainerB_, ResultB_> collectorB, @NonNull TriConstraintCollector<A, B, C, ResultContainerC_, ResultC_> collectorC) Convert theTriConstraintStreamto aTriConstraintStream, containing only a single tuple, the result of applying threeTriConstraintCollectors.default <D> @NonNull TriConstraintStream<A,B, C> TriConstraintStream.ifExists(@NonNull UniConstraintStream<D> otherStream, @NonNull QuadJoiner<A, B, C, D> joiner) Create a newBiConstraintStreamfor every tuple of A, B and C where D exists for which theQuadJoineris true (for the properties it extracts from the facts).<D> @NonNull TriConstraintStream<A,B, C> TriConstraintStream.ifExists(@NonNull UniConstraintStream<D> otherStream, @NonNull QuadJoiner<A, B, C, D>... joiners) As defined byifExists(UniConstraintStream, QuadJoiner).default <D> @NonNull TriConstraintStream<A,B, C> TriConstraintStream.ifExists(@NonNull UniConstraintStream<D> otherStream, @NonNull QuadJoiner<A, B, C, D> joiner1, @NonNull QuadJoiner<A, B, C, D> joiner2) As defined byifExists(UniConstraintStream, QuadJoiner).default <D> @NonNull TriConstraintStream<A,B, C> TriConstraintStream.ifExists(@NonNull UniConstraintStream<D> otherStream, @NonNull QuadJoiner<A, B, C, D> joiner1, @NonNull QuadJoiner<A, B, C, D> joiner2, @NonNull QuadJoiner<A, B, C, D> joiner3) As defined byifExists(UniConstraintStream, QuadJoiner).default <D> @NonNull TriConstraintStream<A,B, C> TriConstraintStream.ifExists(@NonNull UniConstraintStream<D> otherStream, @NonNull QuadJoiner<A, B, C, D> joiner1, @NonNull QuadJoiner<A, B, C, D> joiner2, @NonNull QuadJoiner<A, B, C, D> joiner3, @NonNull QuadJoiner<A, B, C, D> joiner4) As defined byifExists(UniConstraintStream, QuadJoiner).default <D> @NonNull TriConstraintStream<A,B, C> Create a newBiConstraintStreamfor every tuple of A, B and C where D exists for which theQuadJoineris true (for the properties it extracts from the facts).<D> @NonNull TriConstraintStream<A,B, C> As defined byifExists(Class, QuadJoiner).default <D> @NonNull TriConstraintStream<A,B, C> TriConstraintStream.ifExists(@NonNull Class<D> otherClass, @NonNull QuadJoiner<A, B, C, D> joiner1, @NonNull QuadJoiner<A, B, C, D> joiner2) As defined byifExists(Class, QuadJoiner).default <D> @NonNull TriConstraintStream<A,B, C> TriConstraintStream.ifExists(@NonNull Class<D> otherClass, @NonNull QuadJoiner<A, B, C, D> joiner1, @NonNull QuadJoiner<A, B, C, D> joiner2, @NonNull QuadJoiner<A, B, C, D> joiner3) As defined byifExists(Class, QuadJoiner).default <D> @NonNull TriConstraintStream<A,B, C> TriConstraintStream.ifExists(@NonNull Class<D> otherClass, @NonNull QuadJoiner<A, B, C, D> joiner1, @NonNull QuadJoiner<A, B, C, D> joiner2, @NonNull QuadJoiner<A, B, C, D> joiner3, @NonNull 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) Deprecated, for removal: This API element is subject to removal in a future version.default <D> TriConstraintStream<A,B, C> TriConstraintStream.ifExistsIncludingNullVars(Class<D> otherClass, QuadJoiner<A, B, C, D>... joiners) Deprecated, for removal: This API element is subject to removal in a future version.default <D> TriConstraintStream<A,B, C> TriConstraintStream.ifExistsIncludingNullVars(Class<D> otherClass, QuadJoiner<A, B, C, D> joiner1, QuadJoiner<A, B, C, D> joiner2) Deprecated, for removal: This API element is subject to removal in a future version.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) Deprecated, for removal: This API element is subject to removal in a future version.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) Deprecated, for removal: This API element is subject to removal in a future version.default <D> @NonNull TriConstraintStream<A,B, C> TriConstraintStream.ifExistsIncludingUnassigned(@NonNull Class<D> otherClass, @NonNull QuadJoiner<A, B, C, D> joiner) Create a newBiConstraintStreamfor every tuple of A, B and C where D exists for which theQuadJoineris true (for the properties it extracts from the facts).<D> @NonNull TriConstraintStream<A,B, C> TriConstraintStream.ifExistsIncludingUnassigned(@NonNull Class<D> otherClass, @NonNull QuadJoiner<A, B, C, D>... joiners) As defined byifExistsIncludingUnassigned(Class, QuadJoiner).default <D> @NonNull TriConstraintStream<A,B, C> TriConstraintStream.ifExistsIncludingUnassigned(@NonNull Class<D> otherClass, @NonNull QuadJoiner<A, B, C, D> joiner1, @NonNull QuadJoiner<A, B, C, D> joiner2) As defined byifExistsIncludingUnassigned(Class, QuadJoiner).default <D> @NonNull TriConstraintStream<A,B, C> TriConstraintStream.ifExistsIncludingUnassigned(@NonNull Class<D> otherClass, @NonNull QuadJoiner<A, B, C, D> joiner1, @NonNull QuadJoiner<A, B, C, D> joiner2, @NonNull QuadJoiner<A, B, C, D> joiner3) As defined byifExistsIncludingUnassigned(Class, QuadJoiner).default <D> @NonNull TriConstraintStream<A,B, C> TriConstraintStream.ifExistsIncludingUnassigned(@NonNull Class<D> otherClass, @NonNull QuadJoiner<A, B, C, D> joiner1, @NonNull QuadJoiner<A, B, C, D> joiner2, @NonNull QuadJoiner<A, B, C, D> joiner3, @NonNull QuadJoiner<A, B, C, D> joiner4) As defined byifExistsIncludingUnassigned(Class, QuadJoiner).default <D> @NonNull TriConstraintStream<A,B, C> TriConstraintStream.ifNotExists(@NonNull UniConstraintStream<D> otherStream, @NonNull QuadJoiner<A, B, C, D> joiner) Create a newBiConstraintStreamfor every tuple of A, B and C where D does not exist for which theQuadJoineris true (for the properties it extracts from the facts).<D> @NonNull TriConstraintStream<A,B, C> TriConstraintStream.ifNotExists(@NonNull UniConstraintStream<D> otherStream, @NonNull QuadJoiner<A, B, C, D>... joiners) As defined byifNotExists(UniConstraintStream, QuadJoiner).default <D> @NonNull TriConstraintStream<A,B, C> TriConstraintStream.ifNotExists(@NonNull UniConstraintStream<D> otherStream, @NonNull QuadJoiner<A, B, C, D> joiner1, @NonNull QuadJoiner<A, B, C, D> joiner2) As defined byifNotExists(UniConstraintStream, QuadJoiner).default <D> @NonNull TriConstraintStream<A,B, C> TriConstraintStream.ifNotExists(@NonNull UniConstraintStream<D> otherStream, @NonNull QuadJoiner<A, B, C, D> joiner1, @NonNull QuadJoiner<A, B, C, D> joiner2, @NonNull QuadJoiner<A, B, C, D> joiner3) As defined byifNotExists(UniConstraintStream, QuadJoiner).default <D> @NonNull TriConstraintStream<A,B, C> TriConstraintStream.ifNotExists(@NonNull UniConstraintStream<D> otherStream, @NonNull QuadJoiner<A, B, C, D> joiner1, @NonNull QuadJoiner<A, B, C, D> joiner2, @NonNull QuadJoiner<A, B, C, D> joiner3, @NonNull QuadJoiner<A, B, C, D> joiner4) As defined byifNotExists(UniConstraintStream, QuadJoiner).default <D> @NonNull TriConstraintStream<A,B, C> TriConstraintStream.ifNotExists(@NonNull Class<D> otherClass, @NonNull QuadJoiner<A, B, C, D> joiner) Create a newBiConstraintStreamfor every tuple of A, B and C where D does not exist for which theQuadJoineris true (for the properties it extracts from the facts).<D> @NonNull TriConstraintStream<A,B, C> TriConstraintStream.ifNotExists(@NonNull Class<D> otherClass, @NonNull QuadJoiner<A, B, C, D>... joiners) As defined byifNotExists(Class, QuadJoiner).default <D> @NonNull TriConstraintStream<A,B, C> TriConstraintStream.ifNotExists(@NonNull Class<D> otherClass, @NonNull QuadJoiner<A, B, C, D> joiner1, @NonNull QuadJoiner<A, B, C, D> joiner2) As defined byifNotExists(Class, QuadJoiner).default <D> @NonNull TriConstraintStream<A,B, C> TriConstraintStream.ifNotExists(@NonNull Class<D> otherClass, @NonNull QuadJoiner<A, B, C, D> joiner1, @NonNull QuadJoiner<A, B, C, D> joiner2, @NonNull QuadJoiner<A, B, C, D> joiner3) As defined byifNotExists(Class, QuadJoiner).default <D> @NonNull TriConstraintStream<A,B, C> TriConstraintStream.ifNotExists(@NonNull Class<D> otherClass, @NonNull QuadJoiner<A, B, C, D> joiner1, @NonNull QuadJoiner<A, B, C, D> joiner2, @NonNull QuadJoiner<A, B, C, D> joiner3, @NonNull 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) Deprecated, for removal: This API element is subject to removal in a future version.default <D> TriConstraintStream<A,B, C> TriConstraintStream.ifNotExistsIncludingNullVars(Class<D> otherClass, QuadJoiner<A, B, C, D>... joiners) Deprecated, for removal: This API element is subject to removal in a future version.default <D> TriConstraintStream<A,B, C> TriConstraintStream.ifNotExistsIncludingNullVars(Class<D> otherClass, QuadJoiner<A, B, C, D> joiner1, QuadJoiner<A, B, C, D> joiner2) Deprecated, for removal: This API element is subject to removal in a future version.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) Deprecated, for removal: This API element is subject to removal in a future version.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) Deprecated, for removal: This API element is subject to removal in a future version.default <D> @NonNull TriConstraintStream<A,B, C> TriConstraintStream.ifNotExistsIncludingUnassigned(@NonNull Class<D> otherClass, @NonNull QuadJoiner<A, B, C, D> joiner) Create a newBiConstraintStreamfor every tuple of A, B and C where D does not exist for which theQuadJoineris true (for the properties it extracts from the facts).<D> @NonNull TriConstraintStream<A,B, C> TriConstraintStream.ifNotExistsIncludingUnassigned(@NonNull Class<D> otherClass, @NonNull QuadJoiner<A, B, C, D>... joiners) As defined byifNotExistsIncludingUnassigned(Class, QuadJoiner).default <D> @NonNull TriConstraintStream<A,B, C> TriConstraintStream.ifNotExistsIncludingUnassigned(@NonNull Class<D> otherClass, @NonNull QuadJoiner<A, B, C, D> joiner1, @NonNull QuadJoiner<A, B, C, D> joiner2) As defined byifNotExistsIncludingUnassigned(Class, QuadJoiner).default <D> @NonNull TriConstraintStream<A,B, C> TriConstraintStream.ifNotExistsIncludingUnassigned(@NonNull Class<D> otherClass, @NonNull QuadJoiner<A, B, C, D> joiner1, @NonNull QuadJoiner<A, B, C, D> joiner2, @NonNull QuadJoiner<A, B, C, D> joiner3) As defined byifNotExistsIncludingUnassigned(Class, QuadJoiner).default <D> @NonNull TriConstraintStream<A,B, C> TriConstraintStream.ifNotExistsIncludingUnassigned(@NonNull Class<D> otherClass, @NonNull QuadJoiner<A, B, C, D> joiner1, @NonNull QuadJoiner<A, B, C, D> joiner2, @NonNull QuadJoiner<A, B, C, D> joiner3, @NonNull QuadJoiner<A, B, C, D> joiner4) As defined byifNotExistsIncludingUnassigned(Class, QuadJoiner).<ResultA_,ResultB_, ResultC_>
@NonNull TriConstraintStream<ResultA_,ResultB_, ResultC_> TriConstraintStream.map(@NonNull TriFunction<A, B, C, ResultA_> mappingA, @NonNull TriFunction<A, B, C, ResultB_> mappingB, @NonNull TriFunction<A, B, C, ResultC_> mappingC) As defined bymap(TriFunction), only resulting inTriConstraintStream.Methods in ai.timefold.solver.core.api.score.stream.tri with parameters of type TriConstraintStreamModifier and TypeMethodDescription@NonNull TriConstraintStream<A,B, C> TriConstraintStream.concat(@NonNull TriConstraintStream<A, B, C> otherStream) Returns a newTriConstraintStreamcontaining all the tuples of both thisTriConstraintStreamand the providedTriConstraintStream. -
Uses of TriConstraintStream in ai.timefold.solver.core.api.score.stream.uni
Methods in ai.timefold.solver.core.api.score.stream.uni that return TriConstraintStreamModifier and TypeMethodDescriptiondefault <B,C> @NonNull TriConstraintStream<A, B, C> UniConstraintStream.concat(@NonNull TriConstraintStream<A, B, C> otherStream) Returns a newTriConstraintStreamcontaining all the tuples of both thisUniConstraintStreamand the providedTriConstraintStream.<B,C> @NonNull TriConstraintStream<A, B, C> UniConstraintStream.concat(@NonNull TriConstraintStream<A, B, C> otherStream, @NonNull Function<A, B> paddingFunctionB, @NonNull Function<A, C> paddingFunctionC) Returns a newTriConstraintStreamcontaining all the tuples of both thisUniConstraintStreamand the providedTriConstraintStream.<ResultB_,ResultC_>
@NonNull TriConstraintStream<A,ResultB_, ResultC_> UniConstraintStream.expand(@NonNull Function<A, ResultB_> mappingB, @NonNull Function<A, ResultC_> mappingC) Adds two facts to the end of the tuple, increasing the cardinality of the stream.<ResultContainerA_,ResultA_, ResultContainerB_, ResultB_, ResultContainerC_, ResultC_>
@NonNull TriConstraintStream<ResultA_,ResultB_, ResultC_> UniConstraintStream.groupBy(@NonNull UniConstraintCollector<A, ResultContainerA_, ResultA_> collectorA, @NonNull UniConstraintCollector<A, ResultContainerB_, ResultB_> collectorB, @NonNull UniConstraintCollector<A, ResultContainerC_, ResultC_> collectorC) Convert theUniConstraintStreamto aTriConstraintStream, containing only a single tuple, the result of applying threeUniConstraintCollectors.<GroupKey_,ResultContainerB_, ResultB_, ResultContainerC_, ResultC_>
@NonNull TriConstraintStream<GroupKey_,ResultB_, ResultC_> UniConstraintStream.groupBy(@NonNull Function<A, GroupKey_> groupKeyMapping, @NonNull UniConstraintCollector<A, ResultContainerB_, ResultB_> collectorB, @NonNull UniConstraintCollector<A, ResultContainerC_, ResultC_> collectorC) Convert theUniConstraintStreamto aTriConstraintStream, consisting of unique tuples with three facts.<GroupKeyA_,GroupKeyB_, ResultContainer_, Result_>
@NonNull TriConstraintStream<GroupKeyA_,GroupKeyB_, Result_> UniConstraintStream.groupBy(@NonNull Function<A, GroupKeyA_> groupKeyAMapping, @NonNull Function<A, GroupKeyB_> groupKeyBMapping, @NonNull UniConstraintCollector<A, ResultContainer_, Result_> collector) Combines the semantics ofUniConstraintStream.groupBy(Function, Function)andUniConstraintStream.groupBy(UniConstraintCollector).<GroupKeyA_,GroupKeyB_, GroupKeyC_>
@NonNull TriConstraintStream<GroupKeyA_,GroupKeyB_, GroupKeyC_> UniConstraintStream.groupBy(@NonNull Function<A, GroupKeyA_> groupKeyAMapping, @NonNull Function<A, GroupKeyB_> groupKeyBMapping, @NonNull Function<A, GroupKeyC_> groupKeyCMapping) Convert theUniConstraintStreamto aTriConstraintStream, consisting of unique tuples with three facts.<ResultA_,ResultB_, ResultC_>
@NonNull TriConstraintStream<ResultA_,ResultB_, ResultC_> UniConstraintStream.map(@NonNull Function<A, ResultA_> mappingA, @NonNull Function<A, ResultB_> mappingB, @NonNull Function<A, ResultC_> mappingC) As defined byUniConstraintStream.map(Function), only resulting inTriConstraintStream.Methods in ai.timefold.solver.core.api.score.stream.uni with parameters of type TriConstraintStreamModifier and TypeMethodDescriptiondefault <B,C> @NonNull TriConstraintStream<A, B, C> UniConstraintStream.concat(@NonNull TriConstraintStream<A, B, C> otherStream) Returns a newTriConstraintStreamcontaining all the tuples of both thisUniConstraintStreamand the providedTriConstraintStream.<B,C> @NonNull TriConstraintStream<A, B, C> UniConstraintStream.concat(@NonNull TriConstraintStream<A, B, C> otherStream, @NonNull Function<A, B> paddingFunctionB, @NonNull Function<A, C> paddingFunctionC) Returns a newTriConstraintStreamcontaining all the tuples of both thisUniConstraintStreamand the providedTriConstraintStream. -
Uses of TriConstraintStream in ai.timefold.solver.core.impl.score.stream.bavet.bi
Methods in ai.timefold.solver.core.impl.score.stream.bavet.bi that return TriConstraintStreamModifier and TypeMethodDescription<C> @NonNull TriConstraintStream<A,B, C> BavetAbstractBiConstraintStream.concat(@NonNull TriConstraintStream<A, B, C> otherStream, @NonNull BiFunction<A, B, C> paddingFunction) <ResultC_> @NonNull TriConstraintStream<A,B, ResultC_> BavetAbstractBiConstraintStream.expand(@NonNull BiFunction<A, B, ResultC_> mapping) <ResultContainerA_,ResultA_, ResultContainerB_, ResultB_, ResultContainerC_, ResultC_>
@NonNull TriConstraintStream<ResultA_,ResultB_, ResultC_> BavetAbstractBiConstraintStream.groupBy(@NonNull BiConstraintCollector<A, B, ResultContainerA_, ResultA_> collectorA, @NonNull BiConstraintCollector<A, B, ResultContainerB_, ResultB_> collectorB, @NonNull BiConstraintCollector<A, B, ResultContainerC_, ResultC_> collectorC) <GroupKey_,ResultContainerB_, ResultB_, ResultContainerC_, ResultC_>
@NonNull TriConstraintStream<GroupKey_,ResultB_, ResultC_> BavetAbstractBiConstraintStream.groupBy(@NonNull BiFunction<A, B, GroupKey_> groupKeyMapping, @NonNull BiConstraintCollector<A, B, ResultContainerB_, ResultB_> collectorB, @NonNull BiConstraintCollector<A, B, ResultContainerC_, ResultC_> collectorC) <GroupKeyA_,GroupKeyB_, ResultContainer_, Result_>
@NonNull TriConstraintStream<GroupKeyA_,GroupKeyB_, Result_> BavetAbstractBiConstraintStream.groupBy(@NonNull BiFunction<A, B, GroupKeyA_> groupKeyAMapping, @NonNull BiFunction<A, B, GroupKeyB_> groupKeyBMapping, @NonNull BiConstraintCollector<A, B, ResultContainer_, Result_> collector) <GroupKeyA_,GroupKeyB_, GroupKeyC_>
@NonNull TriConstraintStream<GroupKeyA_,GroupKeyB_, GroupKeyC_> BavetAbstractBiConstraintStream.groupBy(@NonNull BiFunction<A, B, GroupKeyA_> groupKeyAMapping, @NonNull BiFunction<A, B, GroupKeyB_> groupKeyBMapping, @NonNull BiFunction<A, B, GroupKeyC_> groupKeyCMapping) final <C> @NonNull TriConstraintStream<A,B, C> BavetAbstractBiConstraintStream.join(@NonNull UniConstraintStream<C> otherStream, TriJoiner<A, B, C> @NonNull ... joiners) <ResultA_,ResultB_, ResultC_>
@NonNull TriConstraintStream<ResultA_,ResultB_, ResultC_> BavetAbstractBiConstraintStream.map(@NonNull BiFunction<A, B, ResultA_> mappingA, @NonNull BiFunction<A, B, ResultB_> mappingB, @NonNull BiFunction<A, B, ResultC_> mappingC) Methods in ai.timefold.solver.core.impl.score.stream.bavet.bi with parameters of type TriConstraintStreamModifier and TypeMethodDescription<C> @NonNull TriConstraintStream<A,B, C> BavetAbstractBiConstraintStream.concat(@NonNull TriConstraintStream<A, B, C> otherStream, @NonNull BiFunction<A, B, C> paddingFunction) -
Uses of TriConstraintStream 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 TriConstraintStreamModifier and TypeClassDescriptionfinal classBavetAftBridgeTriConstraintStream<Solution_,A, B, C> final classBavetForeBridgeTriConstraintStream<Solution_,A, B, C> -
Uses of TriConstraintStream in ai.timefold.solver.core.impl.score.stream.bavet.quad
Methods in ai.timefold.solver.core.impl.score.stream.bavet.quad that return TriConstraintStreamModifier and TypeMethodDescription<GroupKey_,ResultContainerB_, ResultB_, ResultContainerC_, ResultC_>
@NonNull TriConstraintStream<GroupKey_,ResultB_, ResultC_> BavetAbstractQuadConstraintStream.groupBy(@NonNull QuadFunction<A, B, C, D, GroupKey_> groupKeyMapping, @NonNull QuadConstraintCollector<A, B, C, D, ResultContainerB_, ResultB_> collectorB, @NonNull QuadConstraintCollector<A, B, C, D, ResultContainerC_, ResultC_> collectorC) <GroupKeyA_,GroupKeyB_, GroupKeyC_>
@NonNull TriConstraintStream<GroupKeyA_,GroupKeyB_, GroupKeyC_> BavetAbstractQuadConstraintStream.groupBy(@NonNull QuadFunction<A, B, C, D, GroupKeyA_> groupKeyAMapping, @NonNull QuadFunction<A, B, C, D, GroupKeyB_> groupKeyBMapping, @NonNull QuadFunction<A, B, C, D, GroupKeyC_> groupKeyCMapping) <GroupKeyA_,GroupKeyB_, ResultContainer_, Result_>
@NonNull TriConstraintStream<GroupKeyA_,GroupKeyB_, Result_> BavetAbstractQuadConstraintStream.groupBy(@NonNull QuadFunction<A, B, C, D, GroupKeyA_> groupKeyAMapping, @NonNull QuadFunction<A, B, C, D, GroupKeyB_> groupKeyBMapping, @NonNull QuadConstraintCollector<A, B, C, D, ResultContainer_, Result_> collector) <ResultContainerA_,ResultA_, ResultContainerB_, ResultB_, ResultContainerC_, ResultC_>
@NonNull TriConstraintStream<ResultA_,ResultB_, ResultC_> BavetAbstractQuadConstraintStream.groupBy(@NonNull QuadConstraintCollector<A, B, C, D, ResultContainerA_, ResultA_> collectorA, @NonNull QuadConstraintCollector<A, B, C, D, ResultContainerB_, ResultB_> collectorB, @NonNull QuadConstraintCollector<A, B, C, D, ResultContainerC_, ResultC_> collectorC) <ResultA_,ResultB_, ResultC_>
@NonNull TriConstraintStream<ResultA_,ResultB_, ResultC_> BavetAbstractQuadConstraintStream.map(@NonNull QuadFunction<A, B, C, D, ResultA_> mappingA, @NonNull QuadFunction<A, B, C, D, ResultB_> mappingB, @NonNull QuadFunction<A, B, C, D, ResultC_> mappingC) Methods in ai.timefold.solver.core.impl.score.stream.bavet.quad with parameters of type TriConstraintStreamModifier and TypeMethodDescription@NonNull QuadConstraintStream<A,B, C, D> BavetAbstractQuadConstraintStream.concat(@NonNull TriConstraintStream<A, B, C> otherStream, @NonNull TriFunction<A, B, C, D> paddingFunction) -
Uses of TriConstraintStream in ai.timefold.solver.core.impl.score.stream.bavet.tri
Classes in ai.timefold.solver.core.impl.score.stream.bavet.tri that implement TriConstraintStreamModifier and TypeClassDescriptionclassBavetAbstractTriConstraintStream<Solution_,A, B, C> final classBavetBiConcatTriConstraintStream<Solution_,A, B, C> final classBavetJoinTriConstraintStream<Solution_,A, B, C> final classBavetTriConcatTriConstraintStream<Solution_,A, B, C> final classBavetUniConcatTriConstraintStream<Solution_,A, B, C> Methods in ai.timefold.solver.core.impl.score.stream.bavet.tri that return TriConstraintStreamModifier and TypeMethodDescription@NonNull TriConstraintStream<A,B, C> BavetAbstractTriConstraintStream.concat(@NonNull BiConstraintStream<A, B> otherStream, @NonNull BiFunction<A, B, C> paddingFunction) @NonNull TriConstraintStream<A,B, C> BavetAbstractTriConstraintStream.concat(@NonNull TriConstraintStream<A, B, C> otherStream) @NonNull TriConstraintStream<A,B, C> BavetAbstractTriConstraintStream.concat(@NonNull UniConstraintStream<A> otherStream, @NonNull Function<A, B> paddingFunctionB, @NonNull Function<A, C> paddingFunctionC) @NonNull TriConstraintStream<A,B, C> BavetAbstractTriConstraintStream.distinct()@NonNull TriConstraintStream<A,B, C> BavetAbstractTriConstraintStream.filter(@NonNull TriPredicate<A, B, C> predicate) <ResultC_> @NonNull TriConstraintStream<A,B, ResultC_> BavetAbstractTriConstraintStream.flattenLast(@NonNull Function<C, Iterable<ResultC_>> mapping) <GroupKey_,ResultContainerB_, ResultB_, ResultContainerC_, ResultC_>
@NonNull TriConstraintStream<GroupKey_,ResultB_, ResultC_> BavetAbstractTriConstraintStream.groupBy(@NonNull TriFunction<A, B, C, GroupKey_> groupKeyMapping, @NonNull TriConstraintCollector<A, B, C, ResultContainerB_, ResultB_> collectorB, @NonNull TriConstraintCollector<A, B, C, ResultContainerC_, ResultC_> collectorC) <GroupKeyA_,GroupKeyB_, GroupKeyC_>
@NonNull TriConstraintStream<GroupKeyA_,GroupKeyB_, GroupKeyC_> BavetAbstractTriConstraintStream.groupBy(@NonNull TriFunction<A, B, C, GroupKeyA_> groupKeyAMapping, @NonNull TriFunction<A, B, C, GroupKeyB_> groupKeyBMapping, @NonNull TriFunction<A, B, C, GroupKeyC_> groupKeyCMapping) <GroupKeyA_,GroupKeyB_, ResultContainer_, Result_>
@NonNull TriConstraintStream<GroupKeyA_,GroupKeyB_, Result_> BavetAbstractTriConstraintStream.groupBy(@NonNull TriFunction<A, B, C, GroupKeyA_> groupKeyAMapping, @NonNull TriFunction<A, B, C, GroupKeyB_> groupKeyBMapping, @NonNull TriConstraintCollector<A, B, C, ResultContainer_, Result_> collector) <ResultContainerA_,ResultA_, ResultContainerB_, ResultB_, ResultContainerC_, ResultC_>
@NonNull TriConstraintStream<ResultA_,ResultB_, ResultC_> BavetAbstractTriConstraintStream.groupBy(@NonNull TriConstraintCollector<A, B, C, ResultContainerA_, ResultA_> collectorA, @NonNull TriConstraintCollector<A, B, C, ResultContainerB_, ResultB_> collectorB, @NonNull TriConstraintCollector<A, B, C, ResultContainerC_, ResultC_> collectorC) final <D> @NonNull TriConstraintStream<A,B, C> BavetAbstractTriConstraintStream.ifExists(@NonNull UniConstraintStream<D> otherStream, @NonNull QuadJoiner<A, B, C, D> @NonNull ... joiners) final <D> @NonNull TriConstraintStream<A,B, C> BavetAbstractTriConstraintStream.ifNotExists(@NonNull UniConstraintStream<D> otherStream, @NonNull QuadJoiner<A, B, C, D> @NonNull ... joiners) <ResultA_,ResultB_, ResultC_>
@NonNull TriConstraintStream<ResultA_,ResultB_, ResultC_> BavetAbstractTriConstraintStream.map(@NonNull TriFunction<A, B, C, ResultA_> mappingA, @NonNull TriFunction<A, B, C, ResultB_> mappingB, @NonNull TriFunction<A, B, C, ResultC_> mappingC) Methods in ai.timefold.solver.core.impl.score.stream.bavet.tri with parameters of type TriConstraintStreamModifier and TypeMethodDescription@NonNull TriConstraintStream<A,B, C> BavetAbstractTriConstraintStream.concat(@NonNull TriConstraintStream<A, B, C> otherStream) -
Uses of TriConstraintStream in ai.timefold.solver.core.impl.score.stream.bavet.uni
Methods in ai.timefold.solver.core.impl.score.stream.bavet.uni that return TriConstraintStreamModifier and TypeMethodDescription<B,C> @NonNull TriConstraintStream<A, B, C> BavetAbstractUniConstraintStream.concat(@NonNull TriConstraintStream<A, B, C> otherStream, @NonNull Function<A, B> paddingFunctionB, @NonNull Function<A, C> paddingFunctionC) <ResultB_,ResultC_>
@NonNull TriConstraintStream<A,ResultB_, ResultC_> BavetAbstractUniConstraintStream.expand(@NonNull Function<A, ResultB_> mappingB, @NonNull Function<A, ResultC_> mappingC) <ResultContainerA_,ResultA_, ResultContainerB_, ResultB_, ResultContainerC_, ResultC_>
@NonNull TriConstraintStream<ResultA_,ResultB_, ResultC_> BavetAbstractUniConstraintStream.groupBy(@NonNull UniConstraintCollector<A, ResultContainerA_, ResultA_> collectorA, @NonNull UniConstraintCollector<A, ResultContainerB_, ResultB_> collectorB, @NonNull UniConstraintCollector<A, ResultContainerC_, ResultC_> collectorC) <GroupKey_,ResultContainerB_, ResultB_, ResultContainerC_, ResultC_>
@NonNull TriConstraintStream<GroupKey_,ResultB_, ResultC_> BavetAbstractUniConstraintStream.groupBy(@NonNull Function<A, GroupKey_> groupKeyMapping, @NonNull UniConstraintCollector<A, ResultContainerB_, ResultB_> collectorB, @NonNull UniConstraintCollector<A, ResultContainerC_, ResultC_> collectorC) <GroupKeyA_,GroupKeyB_, ResultContainer_, Result_>
@NonNull TriConstraintStream<GroupKeyA_,GroupKeyB_, Result_> BavetAbstractUniConstraintStream.groupBy(@NonNull Function<A, GroupKeyA_> groupKeyAMapping, @NonNull Function<A, GroupKeyB_> groupKeyBMapping, @NonNull UniConstraintCollector<A, ResultContainer_, Result_> collector) <GroupKeyA_,GroupKeyB_, GroupKeyC_>
@NonNull TriConstraintStream<GroupKeyA_,GroupKeyB_, GroupKeyC_> BavetAbstractUniConstraintStream.groupBy(@NonNull Function<A, GroupKeyA_> groupKeyAMapping, @NonNull Function<A, GroupKeyB_> groupKeyBMapping, @NonNull Function<A, GroupKeyC_> groupKeyCMapping) <ResultA_,ResultB_, ResultC_>
@NonNull TriConstraintStream<ResultA_,ResultB_, ResultC_> BavetAbstractUniConstraintStream.map(@NonNull Function<A, ResultA_> mappingA, @NonNull Function<A, ResultB_> mappingB, @NonNull Function<A, ResultC_> mappingC) Methods in ai.timefold.solver.core.impl.score.stream.bavet.uni with parameters of type TriConstraintStreamModifier and TypeMethodDescription<B,C> @NonNull TriConstraintStream<A, B, C> BavetAbstractUniConstraintStream.concat(@NonNull TriConstraintStream<A, B, C> otherStream, @NonNull Function<A, B> paddingFunctionB, @NonNull Function<A, C> paddingFunctionC) -
Uses of TriConstraintStream in ai.timefold.solver.core.impl.score.stream.common.bi
Methods in ai.timefold.solver.core.impl.score.stream.common.bi that return TriConstraintStream -
Uses of TriConstraintStream in ai.timefold.solver.core.impl.score.stream.common.tri
Subinterfaces of TriConstraintStream in ai.timefold.solver.core.impl.score.stream.common.triMethods in ai.timefold.solver.core.impl.score.stream.common.tri that return TriConstraintStreamModifier and TypeMethodDescriptiondefault @NonNull TriConstraintStream<A,B, C> InnerTriConstraintStream.distinct()default <D> @NonNull TriConstraintStream<A,B, C> InnerTriConstraintStream.ifExists(@NonNull Class<D> otherClass, @NonNull QuadJoiner<A, B, C, D> @NonNull ... joiners) default <D> @NonNull TriConstraintStream<A,B, C> InnerTriConstraintStream.ifExistsIncludingUnassigned(@NonNull Class<D> otherClass, @NonNull QuadJoiner<A, B, C, D> @NonNull ... joiners) default <D> @NonNull TriConstraintStream<A,B, C> InnerTriConstraintStream.ifNotExists(@NonNull Class<D> otherClass, @NonNull QuadJoiner<A, B, C, D> @NonNull ... joiners) default <D> @NonNull TriConstraintStream<A,B, C> InnerTriConstraintStream.ifNotExistsIncludingUnassigned(@NonNull Class<D> otherClass, @NonNull QuadJoiner<A, B, C, D> @NonNull ... joiners)
ifExistsIncludingUnassigned(Class, QuadJoiner).