Uses of Interface
ai.timefold.solver.core.api.score.stream.uni.UniConstraintStream
Packages that use UniConstraintStream
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 UniConstraintStream in ai.timefold.solver.core.api.score.stream
Methods in ai.timefold.solver.core.api.score.stream that return UniConstraintStreamModifier and TypeMethodDescription<A> UniConstraintStream<A>Start aConstraintStreamof all instances of the sourceClass that are known asproblem factsorplanning entities.default <A> UniConstraintStream<A>ConstraintFactory.forEachIncludingNullVars(Class<A> sourceClass) Deprecated, for removal: This API element is subject to removal in a future version.<A> UniConstraintStream<A>ConstraintFactory.forEachIncludingUnassigned(Class<A> sourceClass) As defined byConstraintFactory.forEach(Class), but without any filtering of unassignedplanning entities(forPlanningVariable.allowsUnassigned()) or shadow entities not assigned to any applicable list variable (forPlanningListVariable.allowsUnassignedValues()).<A> UniConstraintStream<A>Deprecated, for removal: This API element is subject to removal in a future version.This method is deprecated in favor ofConstraintFactory.forEach(Class), which exhibits the same behavior for planning variables which both allow and don't allow unassigned values.<A> UniConstraintStream<A>ConstraintFactory.fromUnfiltered(Class<A> fromClass) Deprecated, for removal: This API element is subject to removal in a future version. -
Uses of UniConstraintStream in ai.timefold.solver.core.api.score.stream.bi
Methods in ai.timefold.solver.core.api.score.stream.bi that return UniConstraintStreamModifier and TypeMethodDescription<ResultContainer_,Result_>
UniConstraintStream<Result_>BiConstraintStream.groupBy(BiConstraintCollector<A, B, ResultContainer_, Result_> collector) Runs all tuples of the stream through a given @BiConstraintCollectorand converts them into a newUniConstraintStreamwhich only has a single tuple, the result of applyingBiConstraintCollector.<GroupKey_>
UniConstraintStream<GroupKey_>BiConstraintStream.groupBy(BiFunction<A, B, GroupKey_> groupKeyMapping) Convert theBiConstraintStreamto aUniConstraintStream, containing the set of tuples resulting from applying the group key mapping function on all tuples of the original stream.<ResultA_> UniConstraintStream<ResultA_>BiConstraintStream.map(BiFunction<A, B, ResultA_> mapping) As defined bymap(Function).Methods in ai.timefold.solver.core.api.score.stream.bi with parameters of type UniConstraintStreamModifier and TypeMethodDescriptiondefault 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.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 byBiConstraintStream.ifExists(UniConstraintStream, TriJoiner).default <C> BiConstraintStream<A,B> BiConstraintStream.ifExists(UniConstraintStream<C> otherStream, TriJoiner<A, B, C> joiner1, TriJoiner<A, B, C> joiner2) As defined byBiConstraintStream.ifExists(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 byBiConstraintStream.ifExists(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 byBiConstraintStream.ifExists(UniConstraintStream, 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) default <C> BiConstraintStream<A,B> BiConstraintStream.ifNotExists(UniConstraintStream<C> otherStream, TriJoiner<A, B, C> joiner1, TriJoiner<A, B, C> joiner2) 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) 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) default <C> TriConstraintStream<A,B, C> BiConstraintStream.join(UniConstraintStream<C> otherStream) Create a newTriConstraintStreamfor every combination of [A, B] and C.default <C> TriConstraintStream<A,B, C> BiConstraintStream.join(UniConstraintStream<C> otherStream, TriJoiner<A, B, C> joiner) Create a newTriConstraintStreamfor every combination of [A, B] and C for which theTriJoineris true (for the properties it extracts from both facts).<C> TriConstraintStream<A,B, C> BiConstraintStream.join(UniConstraintStream<C> otherStream, TriJoiner<A, B, C>... joiners) As defined byBiConstraintStream.join(Class, TriJoiner).default <C> TriConstraintStream<A,B, C> BiConstraintStream.join(UniConstraintStream<C> otherStream, TriJoiner<A, B, C> joiner1, TriJoiner<A, B, C> joiner2) As defined byBiConstraintStream.join(Class, TriJoiner).default <C> TriConstraintStream<A,B, C> BiConstraintStream.join(UniConstraintStream<C> otherStream, TriJoiner<A, B, C> joiner1, TriJoiner<A, B, C> joiner2, TriJoiner<A, B, C> joiner3) As defined byBiConstraintStream.join(Class, TriJoiner).default <C> TriConstraintStream<A,B, C> BiConstraintStream.join(UniConstraintStream<C> otherStream, TriJoiner<A, B, C> joiner1, TriJoiner<A, B, C> joiner2, TriJoiner<A, B, C> joiner3, TriJoiner<A, B, C> joiner4) As defined byBiConstraintStream.join(Class, TriJoiner). -
Uses of UniConstraintStream in ai.timefold.solver.core.api.score.stream.quad
Methods in ai.timefold.solver.core.api.score.stream.quad that return UniConstraintStreamModifier and TypeMethodDescription<GroupKey_>
UniConstraintStream<GroupKey_>Convert theQuadConstraintStreamto aUniConstraintStream, containing the set of tuples resulting from applying the group key mapping function on all tuples of the original stream.<ResultContainer_,Result_>
UniConstraintStream<Result_>Convert theQuadConstraintStreamto aUniConstraintStream, containing only a single tuple, the result of applyingQuadConstraintCollector.<ResultA_> UniConstraintStream<ResultA_>As defined bymap(Function).Methods in ai.timefold.solver.core.api.score.stream.quad with parameters of type UniConstraintStreamModifier and TypeMethodDescriptiondefault QuadConstraintStream<A,B, C, D> QuadConstraintStream.concat(UniConstraintStream<A> otherStream) Returns a newQuadConstraintStreamcontaining all the tuples of both thisQuadConstraintStreamand the providedUniConstraintStream.QuadConstraintStream.concat(UniConstraintStream<A> otherStream, Function<A, B> paddingFunctionB, Function<A, C> paddingFunctionC, Function<A, D> paddingFunctionD) Returns a newQuadConstraintStreamcontaining all the tuples of both thisQuadConstraintStreamand the providedUniConstraintStream.default <E> QuadConstraintStream<A,B, C, D> QuadConstraintStream.ifExists(UniConstraintStream<E> otherStream, PentaJoiner<A, B, C, D, E> joiner) Create a newQuadConstraintStreamfor every tuple of A, B, C and D where E exists for which thePentaJoineris true (for the properties it extracts from the facts).<E> QuadConstraintStream<A,B, C, D> QuadConstraintStream.ifExists(UniConstraintStream<E> otherStream, PentaJoiner<A, B, C, D, E>... joiners) default <E> QuadConstraintStream<A,B, C, D> QuadConstraintStream.ifExists(UniConstraintStream<E> otherStream, PentaJoiner<A, B, C, D, E> joiner1, PentaJoiner<A, B, C, D, E> joiner2) default <E> QuadConstraintStream<A,B, C, D> QuadConstraintStream.ifExists(UniConstraintStream<E> otherStream, PentaJoiner<A, B, C, D, E> joiner1, PentaJoiner<A, B, C, D, E> joiner2, PentaJoiner<A, B, C, D, E> joiner3) default <E> QuadConstraintStream<A,B, C, D> QuadConstraintStream.ifExists(UniConstraintStream<E> otherStream, PentaJoiner<A, B, C, D, E> joiner1, PentaJoiner<A, B, C, D, E> joiner2, PentaJoiner<A, B, C, D, E> joiner3, PentaJoiner<A, B, C, D, E> joiner4) default <E> QuadConstraintStream<A,B, C, D> QuadConstraintStream.ifNotExists(UniConstraintStream<E> otherStream, PentaJoiner<A, B, C, D, E> joiner) Create a newQuadConstraintStreamfor every tuple of A, B, C and D where E does not exist for which thePentaJoineris true (for the properties it extracts from the facts).<E> QuadConstraintStream<A,B, C, D> QuadConstraintStream.ifNotExists(UniConstraintStream<E> otherStream, PentaJoiner<A, B, C, D, E>... joiners) default <E> QuadConstraintStream<A,B, C, D> QuadConstraintStream.ifNotExists(UniConstraintStream<E> otherStream, PentaJoiner<A, B, C, D, E> joiner1, PentaJoiner<A, B, C, D, E> joiner2) default <E> QuadConstraintStream<A,B, C, D> QuadConstraintStream.ifNotExists(UniConstraintStream<E> otherStream, PentaJoiner<A, B, C, D, E> joiner1, PentaJoiner<A, B, C, D, E> joiner2, PentaJoiner<A, B, C, D, E> joiner3) default <E> QuadConstraintStream<A,B, C, D> QuadConstraintStream.ifNotExists(UniConstraintStream<E> otherStream, PentaJoiner<A, B, C, D, E> joiner1, PentaJoiner<A, B, C, D, E> joiner2, PentaJoiner<A, B, C, D, E> joiner3, PentaJoiner<A, B, C, D, E> joiner4) -
Uses of UniConstraintStream in ai.timefold.solver.core.api.score.stream.tri
Methods in ai.timefold.solver.core.api.score.stream.tri that return UniConstraintStreamModifier and TypeMethodDescription<GroupKey_>
UniConstraintStream<GroupKey_>TriConstraintStream.groupBy(TriFunction<A, B, C, GroupKey_> groupKeyMapping) Convert theTriConstraintStreamto aUniConstraintStream, containing the set of tuples resulting from applying the group key mapping function on all tuples of the original stream.<ResultContainer_,Result_>
UniConstraintStream<Result_>TriConstraintStream.groupBy(TriConstraintCollector<A, B, C, ResultContainer_, Result_> collector) Convert theTriConstraintStreamto aUniConstraintStream, containing only a single tuple, the result of applyingTriConstraintCollector.<ResultA_> UniConstraintStream<ResultA_>TriConstraintStream.map(TriFunction<A, B, C, ResultA_> mapping) As defined bymap(Function).Methods in ai.timefold.solver.core.api.score.stream.tri with parameters of type UniConstraintStreamModifier and TypeMethodDescriptiondefault TriConstraintStream<A,B, C> TriConstraintStream.concat(UniConstraintStream<A> otherStream) Returns a newTriConstraintStreamcontaining all the tuples of both thisTriConstraintStreamand the providedUniConstraintStream.TriConstraintStream.concat(UniConstraintStream<A> otherStream, Function<A, B> paddingFunctionB, Function<A, C> paddingFunctionC) Returns a newTriConstraintStreamcontaining all the tuples of both thisTriConstraintStreamand the providedUniConstraintStream.default <D> TriConstraintStream<A,B, C> TriConstraintStream.ifExists(UniConstraintStream<D> otherStream, 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> TriConstraintStream<A,B, C> TriConstraintStream.ifExists(UniConstraintStream<D> otherStream, QuadJoiner<A, B, C, D>... joiners) default <D> TriConstraintStream<A,B, C> TriConstraintStream.ifExists(UniConstraintStream<D> otherStream, QuadJoiner<A, B, C, D> joiner1, QuadJoiner<A, B, C, D> joiner2) default <D> TriConstraintStream<A,B, C> TriConstraintStream.ifExists(UniConstraintStream<D> otherStream, QuadJoiner<A, B, C, D> joiner1, QuadJoiner<A, B, C, D> joiner2, QuadJoiner<A, B, C, D> joiner3) default <D> TriConstraintStream<A,B, C> TriConstraintStream.ifExists(UniConstraintStream<D> otherStream, QuadJoiner<A, B, C, D> joiner1, QuadJoiner<A, B, C, D> joiner2, QuadJoiner<A, B, C, D> joiner3, QuadJoiner<A, B, C, D> joiner4) default <D> TriConstraintStream<A,B, C> TriConstraintStream.ifNotExists(UniConstraintStream<D> otherStream, 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> TriConstraintStream<A,B, C> TriConstraintStream.ifNotExists(UniConstraintStream<D> otherStream, QuadJoiner<A, B, C, D>... joiners) default <D> TriConstraintStream<A,B, C> TriConstraintStream.ifNotExists(UniConstraintStream<D> otherStream, QuadJoiner<A, B, C, D> joiner1, QuadJoiner<A, B, C, D> joiner2) default <D> TriConstraintStream<A,B, C> TriConstraintStream.ifNotExists(UniConstraintStream<D> otherStream, QuadJoiner<A, B, C, D> joiner1, QuadJoiner<A, B, C, D> joiner2, QuadJoiner<A, B, C, D> joiner3) default <D> TriConstraintStream<A,B, C> TriConstraintStream.ifNotExists(UniConstraintStream<D> otherStream, QuadJoiner<A, B, C, D> joiner1, QuadJoiner<A, B, C, D> joiner2, QuadJoiner<A, B, C, D> joiner3, QuadJoiner<A, B, C, D> joiner4) default <D> QuadConstraintStream<A,B, C, D> TriConstraintStream.join(UniConstraintStream<D> otherStream) Create a newQuadConstraintStreamfor every combination of [A, B, C] and D.default <D> QuadConstraintStream<A,B, C, D> TriConstraintStream.join(UniConstraintStream<D> otherStream, QuadJoiner<A, B, C, D> joiner) Create a newQuadConstraintStreamfor every combination of [A, B] and C for which theQuadJoineris true (for the properties it extracts from all facts).<D> QuadConstraintStream<A,B, C, D> TriConstraintStream.join(UniConstraintStream<D> otherStream, QuadJoiner<A, B, C, D>... joiners) As defined byTriConstraintStream.join(Class, QuadJoiner).default <D> QuadConstraintStream<A,B, C, D> TriConstraintStream.join(UniConstraintStream<D> otherStream, QuadJoiner<A, B, C, D> joiner1, QuadJoiner<A, B, C, D> joiner2) As defined byTriConstraintStream.join(Class, QuadJoiner).default <D> QuadConstraintStream<A,B, C, D> TriConstraintStream.join(UniConstraintStream<D> otherStream, QuadJoiner<A, B, C, D> joiner1, QuadJoiner<A, B, C, D> joiner2, QuadJoiner<A, B, C, D> joiner3) As defined byTriConstraintStream.join(Class, QuadJoiner).default <D> QuadConstraintStream<A,B, C, D> TriConstraintStream.join(UniConstraintStream<D> otherStream, QuadJoiner<A, B, C, D> joiner1, QuadJoiner<A, B, C, D> joiner2, QuadJoiner<A, B, C, D> joiner3, QuadJoiner<A, B, C, D> joiner4) As defined byTriConstraintStream.join(Class, QuadJoiner). -
Uses of UniConstraintStream in ai.timefold.solver.core.api.score.stream.uni
Methods in ai.timefold.solver.core.api.score.stream.uni that return UniConstraintStreamModifier and TypeMethodDescriptiondefault UniConstraintStream<A>UniConstraintStream.complement(Class<A> otherClass) Adds to the stream all instances of a given class which are not yet present in it.UniConstraintStream.concat(UniConstraintStream<A> otherStream) Returns a newUniConstraintStreamcontaining all the tuples of both thisUniConstraintStreamand the providedUniConstraintStream.UniConstraintStream.distinct()Transforms the stream in such a way that all the tuples going through it are distinct.Exhaustively test each fact against thePredicateand match ifPredicate.test(Object)returns true.<ResultA_> UniConstraintStream<ResultA_>UniConstraintStream.flattenLast(Function<A, Iterable<ResultA_>> mapping) Takes each tuple and applies a mapping on it, which turns the tuple into aIterable.<ResultContainer_,Result_>
UniConstraintStream<Result_>UniConstraintStream.groupBy(UniConstraintCollector<A, ResultContainer_, Result_> collector) Convert theUniConstraintStreamto a differentUniConstraintStream, containing only a single tuple, the result of applyingUniConstraintCollector.<GroupKey_>
UniConstraintStream<GroupKey_>Convert theUniConstraintStreamto a differentUniConstraintStream, containing the set of tuples resulting from applying the group key mapping function on all tuples of the original stream.default <B> UniConstraintStream<A>UniConstraintStream.ifExists(UniConstraintStream<B> otherStream, BiJoiner<A, B> joiner) Create a newUniConstraintStreamfor every A where B exists for which theBiJoineris true (for the properties it extracts from both facts).<B> UniConstraintStream<A>UniConstraintStream.ifExists(UniConstraintStream<B> otherStream, BiJoiner<A, B>... joiners) As defined byifExists(UniConstraintStream, BiJoiner).default <B> UniConstraintStream<A>UniConstraintStream.ifExists(UniConstraintStream<B> otherStream, BiJoiner<A, B> joiner1, BiJoiner<A, B> joiner2) As defined byifExists(UniConstraintStream, BiJoiner).default <B> UniConstraintStream<A>UniConstraintStream.ifExists(UniConstraintStream<B> otherStream, BiJoiner<A, B> joiner1, BiJoiner<A, B> joiner2, BiJoiner<A, B> joiner3) As defined byifExists(UniConstraintStream, BiJoiner).default <B> UniConstraintStream<A>UniConstraintStream.ifExists(UniConstraintStream<B> otherStream, BiJoiner<A, B> joiner1, BiJoiner<A, B> joiner2, BiJoiner<A, B> joiner3, BiJoiner<A, B> joiner4) As defined byifExists(UniConstraintStream, BiJoiner).default <B> UniConstraintStream<A>Create a newUniConstraintStreamfor every A where B exists for which theBiJoineris true (for the properties it extracts from both facts).<B> UniConstraintStream<A>As defined byifExists(Class, BiJoiner).default <B> UniConstraintStream<A>As defined byifExists(Class, BiJoiner).default <B> UniConstraintStream<A>UniConstraintStream.ifExists(Class<B> otherClass, BiJoiner<A, B> joiner1, BiJoiner<A, B> joiner2, BiJoiner<A, B> joiner3) As defined byifExists(Class, BiJoiner).default <B> UniConstraintStream<A>UniConstraintStream.ifExists(Class<B> otherClass, BiJoiner<A, B> joiner1, BiJoiner<A, B> joiner2, BiJoiner<A, B> joiner3, BiJoiner<A, B> joiner4) As defined byifExists(Class, BiJoiner).default <B> UniConstraintStream<A>UniConstraintStream.ifExistsIncludingNullVars(Class<B> otherClass, BiJoiner<A, B> joiner) Deprecated, for removal: This API element is subject to removal in a future version.default <B> UniConstraintStream<A>UniConstraintStream.ifExistsIncludingNullVars(Class<B> otherClass, BiJoiner<A, B>... joiners) Deprecated, for removal: This API element is subject to removal in a future version.default <B> UniConstraintStream<A>UniConstraintStream.ifExistsIncludingNullVars(Class<B> otherClass, BiJoiner<A, B> joiner1, BiJoiner<A, B> joiner2) Deprecated, for removal: This API element is subject to removal in a future version.default <B> UniConstraintStream<A>UniConstraintStream.ifExistsIncludingNullVars(Class<B> otherClass, BiJoiner<A, B> joiner1, BiJoiner<A, B> joiner2, BiJoiner<A, B> joiner3) Deprecated, for removal: This API element is subject to removal in a future version.default <B> UniConstraintStream<A>UniConstraintStream.ifExistsIncludingNullVars(Class<B> otherClass, BiJoiner<A, B> joiner1, BiJoiner<A, B> joiner2, BiJoiner<A, B> joiner3, BiJoiner<A, B> joiner4) Deprecated, for removal: This API element is subject to removal in a future version.default <B> UniConstraintStream<A>UniConstraintStream.ifExistsIncludingUnassigned(Class<B> otherClass, BiJoiner<A, B> joiner) Create a newUniConstraintStreamfor every A where B exists for which theBiJoineris true (for the properties it extracts from both facts).<B> UniConstraintStream<A>UniConstraintStream.ifExistsIncludingUnassigned(Class<B> otherClass, BiJoiner<A, B>... joiners) As defined byifExistsIncludingUnassigned(Class, BiJoiner).default <B> UniConstraintStream<A>UniConstraintStream.ifExistsIncludingUnassigned(Class<B> otherClass, BiJoiner<A, B> joiner1, BiJoiner<A, B> joiner2) As defined byifExistsIncludingUnassigned(Class, BiJoiner).default <B> UniConstraintStream<A>UniConstraintStream.ifExistsIncludingUnassigned(Class<B> otherClass, BiJoiner<A, B> joiner1, BiJoiner<A, B> joiner2, BiJoiner<A, B> joiner3) As defined byifExistsIncludingUnassigned(Class, BiJoiner).default <B> UniConstraintStream<A>UniConstraintStream.ifExistsIncludingUnassigned(Class<B> otherClass, BiJoiner<A, B> joiner1, BiJoiner<A, B> joiner2, BiJoiner<A, B> joiner3, BiJoiner<A, B> joiner4) As defined byifExistsIncludingUnassigned(Class, BiJoiner).default UniConstraintStream<A>UniConstraintStream.ifExistsOther(Class<A> otherClass) Create a newUniConstraintStreamfor every A, if another A exists that does notObject.equals(Object)the first.default UniConstraintStream<A>Create a newUniConstraintStreamfor every A, if another A exists that does notObject.equals(Object)the first, and for which theBiJoineris true (for the properties it extracts from both facts).default UniConstraintStream<A>As defined byifExistsOther(Class, BiJoiner).default UniConstraintStream<A>UniConstraintStream.ifExistsOther(Class<A> otherClass, BiJoiner<A, A> joiner1, BiJoiner<A, A> joiner2) As defined byifExistsOther(Class, BiJoiner).default UniConstraintStream<A>UniConstraintStream.ifExistsOther(Class<A> otherClass, BiJoiner<A, A> joiner1, BiJoiner<A, A> joiner2, BiJoiner<A, A> joiner3) As defined byifExistsOther(Class, BiJoiner).default UniConstraintStream<A>UniConstraintStream.ifExistsOther(Class<A> otherClass, BiJoiner<A, A> joiner1, BiJoiner<A, A> joiner2, BiJoiner<A, A> joiner3, BiJoiner<A, A> joiner4) As defined byifExistsOther(Class, BiJoiner).default UniConstraintStream<A>UniConstraintStream.ifExistsOtherIncludingNullVars(Class<A> otherClass) Deprecated, for removal: This API element is subject to removal in a future version.default UniConstraintStream<A>Deprecated, for removal: This API element is subject to removal in a future version.default UniConstraintStream<A>Deprecated, for removal: This API element is subject to removal in a future version.default UniConstraintStream<A>UniConstraintStream.ifExistsOtherIncludingNullVars(Class<A> otherClass, BiJoiner<A, A> joiner1, BiJoiner<A, A> joiner2) Deprecated, for removal: This API element is subject to removal in a future version.default UniConstraintStream<A>UniConstraintStream.ifExistsOtherIncludingNullVars(Class<A> otherClass, 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.default UniConstraintStream<A>UniConstraintStream.ifExistsOtherIncludingNullVars(Class<A> otherClass, 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.default UniConstraintStream<A>UniConstraintStream.ifExistsOtherIncludingUnassigned(Class<A> otherClass) Create a newUniConstraintStreamfor every A, if another A exists that does notObject.equals(Object)the first.default UniConstraintStream<A>Create a newUniConstraintStreamfor every A, if another A exists that does notObject.equals(Object)the first, and for which theBiJoineris true (for the properties it extracts from both facts).default UniConstraintStream<A>As defined byifExistsOtherIncludingUnassigned(Class, BiJoiner).default UniConstraintStream<A>UniConstraintStream.ifExistsOtherIncludingUnassigned(Class<A> otherClass, BiJoiner<A, A> joiner1, BiJoiner<A, A> joiner2) As defined byifExistsOtherIncludingUnassigned(Class, BiJoiner).default UniConstraintStream<A>UniConstraintStream.ifExistsOtherIncludingUnassigned(Class<A> otherClass, BiJoiner<A, A> joiner1, BiJoiner<A, A> joiner2, BiJoiner<A, A> joiner3) As defined byifExistsOtherIncludingUnassigned(Class, BiJoiner).default UniConstraintStream<A>UniConstraintStream.ifExistsOtherIncludingUnassigned(Class<A> otherClass, BiJoiner<A, A> joiner1, BiJoiner<A, A> joiner2, BiJoiner<A, A> joiner3, BiJoiner<A, A> joiner4) As defined byifExistsOtherIncludingUnassigned(Class, BiJoiner).default <B> UniConstraintStream<A>UniConstraintStream.ifNotExists(UniConstraintStream<B> otherStream, BiJoiner<A, B> joiner) Create a newUniConstraintStreamfor every A where B does not exist for which theBiJoineris true (for the properties it extracts from both facts).<B> UniConstraintStream<A>UniConstraintStream.ifNotExists(UniConstraintStream<B> otherStream, BiJoiner<A, B>... joiners) As defined byifNotExists(UniConstraintStream, BiJoiner).default <B> UniConstraintStream<A>UniConstraintStream.ifNotExists(UniConstraintStream<B> otherStream, BiJoiner<A, B> joiner1, BiJoiner<A, B> joiner2) As defined byifNotExists(UniConstraintStream, BiJoiner).default <B> UniConstraintStream<A>UniConstraintStream.ifNotExists(UniConstraintStream<B> otherStream, BiJoiner<A, B> joiner1, BiJoiner<A, B> joiner2, BiJoiner<A, B> joiner3) As defined byifNotExists(UniConstraintStream, BiJoiner).default <B> UniConstraintStream<A>UniConstraintStream.ifNotExists(UniConstraintStream<B> otherStream, BiJoiner<A, B> joiner1, BiJoiner<A, B> joiner2, BiJoiner<A, B> joiner3, BiJoiner<A, B> joiner4) As defined byifNotExists(UniConstraintStream, BiJoiner).default <B> UniConstraintStream<A>UniConstraintStream.ifNotExists(Class<B> otherClass, BiJoiner<A, B> joiner) Create a newUniConstraintStreamfor every A where B does not exist for which theBiJoineris true (for the properties it extracts from both facts).<B> UniConstraintStream<A>UniConstraintStream.ifNotExists(Class<B> otherClass, BiJoiner<A, B>... joiners) As defined byifNotExists(Class, BiJoiner).default <B> UniConstraintStream<A>As defined byifNotExists(Class, BiJoiner).default <B> UniConstraintStream<A>UniConstraintStream.ifNotExists(Class<B> otherClass, BiJoiner<A, B> joiner1, BiJoiner<A, B> joiner2, BiJoiner<A, B> joiner3) As defined byifNotExists(Class, BiJoiner).default <B> UniConstraintStream<A>UniConstraintStream.ifNotExists(Class<B> otherClass, BiJoiner<A, B> joiner1, BiJoiner<A, B> joiner2, BiJoiner<A, B> joiner3, BiJoiner<A, B> joiner4) As defined byifNotExists(Class, BiJoiner).default <B> UniConstraintStream<A>UniConstraintStream.ifNotExistsIncludingNullVars(Class<B> otherClass, BiJoiner<A, B> joiner) Deprecated, for removal: This API element is subject to removal in a future version.default <B> UniConstraintStream<A>UniConstraintStream.ifNotExistsIncludingNullVars(Class<B> otherClass, BiJoiner<A, B>... joiners) Deprecated, for removal: This API element is subject to removal in a future version.default <B> UniConstraintStream<A>UniConstraintStream.ifNotExistsIncludingNullVars(Class<B> otherClass, BiJoiner<A, B> joiner1, BiJoiner<A, B> joiner2) Deprecated, for removal: This API element is subject to removal in a future version.default <B> UniConstraintStream<A>UniConstraintStream.ifNotExistsIncludingNullVars(Class<B> otherClass, BiJoiner<A, B> joiner1, BiJoiner<A, B> joiner2, BiJoiner<A, B> joiner3) Deprecated, for removal: This API element is subject to removal in a future version.default <B> UniConstraintStream<A>UniConstraintStream.ifNotExistsIncludingNullVars(Class<B> otherClass, BiJoiner<A, B> joiner1, BiJoiner<A, B> joiner2, BiJoiner<A, B> joiner3, BiJoiner<A, B> joiner4) Deprecated, for removal: This API element is subject to removal in a future version.default <B> UniConstraintStream<A>UniConstraintStream.ifNotExistsIncludingUnassigned(Class<B> otherClass, BiJoiner<A, B> joiner) Create a newUniConstraintStreamfor every A where B does not exist for which theBiJoineris true (for the properties it extracts from both facts).<B> UniConstraintStream<A>UniConstraintStream.ifNotExistsIncludingUnassigned(Class<B> otherClass, BiJoiner<A, B>... joiners) As defined byifNotExistsIncludingUnassigned(Class, BiJoiner).default <B> UniConstraintStream<A>UniConstraintStream.ifNotExistsIncludingUnassigned(Class<B> otherClass, BiJoiner<A, B> joiner1, BiJoiner<A, B> joiner2) As defined byifNotExistsIncludingUnassigned(Class, BiJoiner).default <B> UniConstraintStream<A>UniConstraintStream.ifNotExistsIncludingUnassigned(Class<B> otherClass, BiJoiner<A, B> joiner1, BiJoiner<A, B> joiner2, BiJoiner<A, B> joiner3) As defined byifNotExistsIncludingUnassigned(Class, BiJoiner).default <B> UniConstraintStream<A>UniConstraintStream.ifNotExistsIncludingUnassigned(Class<B> otherClass, BiJoiner<A, B> joiner1, BiJoiner<A, B> joiner2, BiJoiner<A, B> joiner3, BiJoiner<A, B> joiner4) As defined byifNotExistsIncludingUnassigned(Class, BiJoiner).default UniConstraintStream<A>UniConstraintStream.ifNotExistsOther(Class<A> otherClass) Create a newUniConstraintStreamfor every A, if no other A exists that does notObject.equals(Object)the first.default UniConstraintStream<A>Create a newUniConstraintStreamfor every A, if no other A exists that does notObject.equals(Object)the first, and for which theBiJoineris true (for the properties it extracts from both facts).default UniConstraintStream<A>As defined byifNotExistsOther(Class, BiJoiner).default UniConstraintStream<A>UniConstraintStream.ifNotExistsOther(Class<A> otherClass, BiJoiner<A, A> joiner1, BiJoiner<A, A> joiner2) As defined byifNotExistsOther(Class, BiJoiner).default UniConstraintStream<A>UniConstraintStream.ifNotExistsOther(Class<A> otherClass, BiJoiner<A, A> joiner1, BiJoiner<A, A> joiner2, BiJoiner<A, A> joiner3) As defined byifNotExistsOther(Class, BiJoiner).default UniConstraintStream<A>UniConstraintStream.ifNotExistsOther(Class<A> otherClass, BiJoiner<A, A> joiner1, BiJoiner<A, A> joiner2, BiJoiner<A, A> joiner3, BiJoiner<A, A> joiner4) As defined byifNotExistsOther(Class, BiJoiner).default UniConstraintStream<A>UniConstraintStream.ifNotExistsOtherIncludingNullVars(Class<A> otherClass) Deprecated, for removal: This API element is subject to removal in a future version.default UniConstraintStream<A>Deprecated, for removal: This API element is subject to removal in a future version.default UniConstraintStream<A>UniConstraintStream.ifNotExistsOtherIncludingNullVars(Class<A> otherClass, BiJoiner<A, A>... joiners) Deprecated, for removal: This API element is subject to removal in a future version.default UniConstraintStream<A>UniConstraintStream.ifNotExistsOtherIncludingNullVars(Class<A> otherClass, BiJoiner<A, A> joiner1, BiJoiner<A, A> joiner2) Deprecated, for removal: This API element is subject to removal in a future version.default UniConstraintStream<A>UniConstraintStream.ifNotExistsOtherIncludingNullVars(Class<A> otherClass, 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.default UniConstraintStream<A>UniConstraintStream.ifNotExistsOtherIncludingNullVars(Class<A> otherClass, 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.default UniConstraintStream<A>UniConstraintStream.ifNotExistsOtherIncludingUnassigned(Class<A> otherClass) Create a newUniConstraintStreamfor every A, if no other A exists that does notObject.equals(Object)the first.default UniConstraintStream<A>Create a newUniConstraintStreamfor every A, if no other A exists that does notObject.equals(Object)the first, and for which theBiJoineris true (for the properties it extracts from both facts).default UniConstraintStream<A>UniConstraintStream.ifNotExistsOtherIncludingUnassigned(Class<A> otherClass, BiJoiner<A, A>... joiners) As defined byifNotExistsOtherIncludingUnassigned(Class, BiJoiner).default UniConstraintStream<A>UniConstraintStream.ifNotExistsOtherIncludingUnassigned(Class<A> otherClass, BiJoiner<A, A> joiner1, BiJoiner<A, A> joiner2) As defined byifNotExistsOtherIncludingUnassigned(Class, BiJoiner).default UniConstraintStream<A>UniConstraintStream.ifNotExistsOtherIncludingUnassigned(Class<A> otherClass, BiJoiner<A, A> joiner1, BiJoiner<A, A> joiner2, BiJoiner<A, A> joiner3) As defined byifNotExistsOtherIncludingUnassigned(Class, BiJoiner).default UniConstraintStream<A>UniConstraintStream.ifNotExistsOtherIncludingUnassigned(Class<A> otherClass, BiJoiner<A, A> joiner1, BiJoiner<A, A> joiner2, BiJoiner<A, A> joiner3, BiJoiner<A, A> joiner4) As defined byifNotExistsOtherIncludingUnassigned(Class, BiJoiner).<ResultA_> UniConstraintStream<ResultA_>Transforms the stream in such a way that tuples are remapped using the given function.Methods in ai.timefold.solver.core.api.score.stream.uni with parameters of type UniConstraintStreamModifier and TypeMethodDescriptionUniConstraintStream.concat(UniConstraintStream<A> otherStream) Returns a newUniConstraintStreamcontaining all the tuples of both thisUniConstraintStreamand the providedUniConstraintStream.default <B> UniConstraintStream<A>UniConstraintStream.ifExists(UniConstraintStream<B> otherStream, BiJoiner<A, B> joiner) Create a newUniConstraintStreamfor every A where B exists for which theBiJoineris true (for the properties it extracts from both facts).<B> UniConstraintStream<A>UniConstraintStream.ifExists(UniConstraintStream<B> otherStream, BiJoiner<A, B>... joiners) As defined byifExists(UniConstraintStream, BiJoiner).default <B> UniConstraintStream<A>UniConstraintStream.ifExists(UniConstraintStream<B> otherStream, BiJoiner<A, B> joiner1, BiJoiner<A, B> joiner2) As defined byifExists(UniConstraintStream, BiJoiner).default <B> UniConstraintStream<A>UniConstraintStream.ifExists(UniConstraintStream<B> otherStream, BiJoiner<A, B> joiner1, BiJoiner<A, B> joiner2, BiJoiner<A, B> joiner3) As defined byifExists(UniConstraintStream, BiJoiner).default <B> UniConstraintStream<A>UniConstraintStream.ifExists(UniConstraintStream<B> otherStream, BiJoiner<A, B> joiner1, BiJoiner<A, B> joiner2, BiJoiner<A, B> joiner3, BiJoiner<A, B> joiner4) As defined byifExists(UniConstraintStream, BiJoiner).default <B> UniConstraintStream<A>UniConstraintStream.ifNotExists(UniConstraintStream<B> otherStream, BiJoiner<A, B> joiner) Create a newUniConstraintStreamfor every A where B does not exist for which theBiJoineris true (for the properties it extracts from both facts).<B> UniConstraintStream<A>UniConstraintStream.ifNotExists(UniConstraintStream<B> otherStream, BiJoiner<A, B>... joiners) As defined byifNotExists(UniConstraintStream, BiJoiner).default <B> UniConstraintStream<A>UniConstraintStream.ifNotExists(UniConstraintStream<B> otherStream, BiJoiner<A, B> joiner1, BiJoiner<A, B> joiner2) As defined byifNotExists(UniConstraintStream, BiJoiner).default <B> UniConstraintStream<A>UniConstraintStream.ifNotExists(UniConstraintStream<B> otherStream, BiJoiner<A, B> joiner1, BiJoiner<A, B> joiner2, BiJoiner<A, B> joiner3) As defined byifNotExists(UniConstraintStream, BiJoiner).default <B> UniConstraintStream<A>UniConstraintStream.ifNotExists(UniConstraintStream<B> otherStream, BiJoiner<A, B> joiner1, BiJoiner<A, B> joiner2, BiJoiner<A, B> joiner3, BiJoiner<A, B> joiner4) As defined byifNotExists(UniConstraintStream, BiJoiner).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 byjoin(UniConstraintStream, BiJoiner).default <B> BiConstraintStream<A,B> UniConstraintStream.join(UniConstraintStream<B> otherStream, BiJoiner<A, B> joiner1, BiJoiner<A, B> joiner2) As defined byjoin(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 byjoin(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 byjoin(UniConstraintStream, BiJoiner). -
Uses of UniConstraintStream in ai.timefold.solver.core.impl.score.stream.bavet
Methods in ai.timefold.solver.core.impl.score.stream.bavet that return UniConstraintStreamModifier and TypeMethodDescription<A> UniConstraintStream<A><A> UniConstraintStream<A>BavetConstraintFactory.forEachIncludingUnassigned(Class<A> sourceClass) <A> UniConstraintStream<A> -
Uses of UniConstraintStream in ai.timefold.solver.core.impl.score.stream.bavet.bi
Methods in ai.timefold.solver.core.impl.score.stream.bavet.bi that return UniConstraintStreamModifier and TypeMethodDescription<ResultContainer_,Result_>
UniConstraintStream<Result_>BavetAbstractBiConstraintStream.groupBy(BiConstraintCollector<A, B, ResultContainer_, Result_> collector) <GroupKey_>
UniConstraintStream<GroupKey_>BavetAbstractBiConstraintStream.groupBy(BiFunction<A, B, GroupKey_> groupKeyMapping) <ResultA_> UniConstraintStream<ResultA_>BavetAbstractBiConstraintStream.map(BiFunction<A, B, ResultA_> mapping) Methods in ai.timefold.solver.core.impl.score.stream.bavet.bi with parameters of type UniConstraintStreamModifier and TypeMethodDescriptionBavetAbstractBiConstraintStream.concat(UniConstraintStream<A> otherStream, Function<A, B> paddingFunction) 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) final <C> TriConstraintStream<A,B, C> BavetAbstractBiConstraintStream.join(UniConstraintStream<C> otherStream, TriJoiner<A, B, C>... joiners) -
Uses of UniConstraintStream 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 UniConstraintStreamModifier and TypeClassDescriptionfinal classBavetAftBridgeUniConstraintStream<Solution_,A> final classBavetForeBridgeUniConstraintStream<Solution_,A> -
Uses of UniConstraintStream in ai.timefold.solver.core.impl.score.stream.bavet.quad
Methods in ai.timefold.solver.core.impl.score.stream.bavet.quad that return UniConstraintStreamModifier and TypeMethodDescription<GroupKey_>
UniConstraintStream<GroupKey_><ResultContainer_,Result_>
UniConstraintStream<Result_>BavetAbstractQuadConstraintStream.groupBy(QuadConstraintCollector<A, B, C, D, ResultContainer_, Result_> collector) <ResultA_> UniConstraintStream<ResultA_>Methods in ai.timefold.solver.core.impl.score.stream.bavet.quad with parameters of type UniConstraintStreamModifier and TypeMethodDescriptionBavetAbstractQuadConstraintStream.concat(UniConstraintStream<A> otherStream, Function<A, B> paddingFunctionB, Function<A, C> paddingFunctionC, Function<A, D> paddingFunctionD) final <E> QuadConstraintStream<A,B, C, D> BavetAbstractQuadConstraintStream.ifExists(UniConstraintStream<E> otherStream, PentaJoiner<A, B, C, D, E>... joiners) final <E> QuadConstraintStream<A,B, C, D> BavetAbstractQuadConstraintStream.ifNotExists(UniConstraintStream<E> otherStream, PentaJoiner<A, B, C, D, E>... joiners) -
Uses of UniConstraintStream in ai.timefold.solver.core.impl.score.stream.bavet.tri
Methods in ai.timefold.solver.core.impl.score.stream.bavet.tri that return UniConstraintStreamModifier and TypeMethodDescription<GroupKey_>
UniConstraintStream<GroupKey_>BavetAbstractTriConstraintStream.groupBy(TriFunction<A, B, C, GroupKey_> groupKeyMapping) <ResultContainer_,Result_>
UniConstraintStream<Result_>BavetAbstractTriConstraintStream.groupBy(TriConstraintCollector<A, B, C, ResultContainer_, Result_> collector) <ResultA_> UniConstraintStream<ResultA_>BavetAbstractTriConstraintStream.map(TriFunction<A, B, C, ResultA_> mapping) Methods in ai.timefold.solver.core.impl.score.stream.bavet.tri with parameters of type UniConstraintStreamModifier and TypeMethodDescriptionBavetAbstractTriConstraintStream.concat(UniConstraintStream<A> otherStream, Function<A, B> paddingFunctionB, Function<A, C> paddingFunctionC) final <D> TriConstraintStream<A,B, C> BavetAbstractTriConstraintStream.ifExists(UniConstraintStream<D> otherStream, QuadJoiner<A, B, C, D>... joiners) final <D> TriConstraintStream<A,B, C> BavetAbstractTriConstraintStream.ifNotExists(UniConstraintStream<D> otherStream, QuadJoiner<A, B, C, D>... joiners) final <D> QuadConstraintStream<A,B, C, D> BavetAbstractTriConstraintStream.join(UniConstraintStream<D> otherStream, QuadJoiner<A, B, C, D>... joiners) -
Uses of UniConstraintStream in ai.timefold.solver.core.impl.score.stream.bavet.uni
Classes in ai.timefold.solver.core.impl.score.stream.bavet.uni that implement UniConstraintStreamModifier and TypeClassDescriptionclassBavetAbstractUniConstraintStream<Solution_,A> final classBavetForEachUniConstraintStream<Solution_,A> final classBavetUniConcatUniConstraintStream<Solution_,A> Methods in ai.timefold.solver.core.impl.score.stream.bavet.uni that return UniConstraintStreamModifier and TypeMethodDescriptionBavetAbstractUniConstraintStream.concat(UniConstraintStream<A> otherStream) BavetAbstractUniConstraintStream.distinct()<ResultA_> UniConstraintStream<ResultA_>BavetAbstractUniConstraintStream.flattenLast(Function<A, Iterable<ResultA_>> mapping) <ResultContainer_,Result_>
UniConstraintStream<Result_>BavetAbstractUniConstraintStream.groupBy(UniConstraintCollector<A, ResultContainer_, Result_> collector) <GroupKey_>
UniConstraintStream<GroupKey_>final <B> UniConstraintStream<A>BavetAbstractUniConstraintStream.ifExists(UniConstraintStream<B> otherStream, BiJoiner<A, B>... joiners) final <B> UniConstraintStream<A>BavetAbstractUniConstraintStream.ifNotExists(UniConstraintStream<B> otherStream, BiJoiner<A, B>... joiners) <ResultA_> UniConstraintStream<ResultA_>Methods in ai.timefold.solver.core.impl.score.stream.bavet.uni with parameters of type UniConstraintStreamModifier and TypeMethodDescriptionBavetAbstractUniConstraintStream.concat(UniConstraintStream<A> otherStream) final <B> UniConstraintStream<A>BavetAbstractUniConstraintStream.ifExists(UniConstraintStream<B> otherStream, BiJoiner<A, B>... joiners) final <B> UniConstraintStream<A>BavetAbstractUniConstraintStream.ifNotExists(UniConstraintStream<B> otherStream, BiJoiner<A, B>... joiners) 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) -
Uses of UniConstraintStream in ai.timefold.solver.core.impl.score.stream.common.uni
Subinterfaces of UniConstraintStream in ai.timefold.solver.core.impl.score.stream.common.uniMethods in ai.timefold.solver.core.impl.score.stream.common.uni that return UniConstraintStreamModifier and TypeMethodDescriptiondefault UniConstraintStream<A>InnerUniConstraintStream.distinct()default <B> UniConstraintStream<A>default <B> UniConstraintStream<A>InnerUniConstraintStream.ifExistsIncludingUnassigned(Class<B> otherClass, BiJoiner<A, B>... joiners) default <B> UniConstraintStream<A>InnerUniConstraintStream.ifNotExists(Class<B> otherClass, BiJoiner<A, B>... joiners) default <B> UniConstraintStream<A>InnerUniConstraintStream.ifNotExistsIncludingUnassigned(Class<B> otherClass, BiJoiner<A, B>... joiners) Methods in ai.timefold.solver.core.impl.score.stream.common.uni with parameters of type UniConstraintStreamModifier and TypeMethodDescription<B> BiConstraintStream<A,B> InnerUniConstraintStream.join(UniConstraintStream<B> otherStream, BiJoinerComber<A, B> joinerComber) AllowsConstraintFactory.forEachUniquePair(Class)to reuse the joiner combing logic.
ConstraintFactory.forEachIncludingUnassigned(Class)instead.