Class UnfinishedJoiners
java.lang.Object
ai.timefold.solver.core.impl.score.stream.UnfinishedJoiners
These joiners are not finished because they show score corruptions when used.
We merged them anyway, as we will get back to them,
but didn't want to have this relatively large PR open indefinitely.
TODO once the joiners are finished,
move them to
Joiners
and remove this class.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic <A,B, C, D, E, Property_>
@NonNull PentaJoiner<A,B, C, D, E> containedIn(@NonNull QuadFunction<A, B, C, D, Property_> leftMapping, @NonNull Function<E, Collection<Property_>> rightMapping) As defined bycontainedIn(Function, Function).static <A,B, C, D, Property_>
@NonNull QuadJoiner<A,B, C, D> containedIn(@NonNull TriFunction<A, B, C, Property_> leftMapping, @NonNull Function<D, Collection<Property_>> rightMapping) As defined bycontainedIn(Function, Function).static <A,B, C, Property_>
@NonNull TriJoiner<A,B, C> containedIn(@NonNull BiFunction<A, B, Property_> leftMapping, @NonNull Function<C, Collection<Property_>> rightMapping) As defined bycontainedIn(Function, Function).static <A,B, Property_>
@NonNull BiJoiner<A,B> containedIn(@NonNull Function<A, Property_> leftMapping, @NonNull Function<B, Collection<Property_>> rightMapping) Joins every A and B where a value of property on A is contained in the collection of properties on B.static <A,B, C, D, E, Property_>
@NonNull PentaJoiner<A,B, C, D, E> containing(@NonNull QuadFunction<A, B, C, D, Collection<Property_>> leftMapping, @NonNull Function<E, Property_> rightMapping) As defined bycontaining(Function, Function).static <A,B, C, D, Property_>
@NonNull QuadJoiner<A,B, C, D> containing(@NonNull TriFunction<A, B, C, Collection<Property_>> leftMapping, @NonNull Function<D, Property_> rightMapping) As defined bycontaining(Function, Function).static <A,B, C, Property_>
@NonNull TriJoiner<A,B, C> containing(@NonNull BiFunction<A, B, Collection<Property_>> leftMapping, @NonNull Function<C, Property_> rightMapping) As defined bycontaining(Function, Function).static <A,B, Property_>
@NonNull BiJoiner<A,B> containing(@NonNull Function<A, Collection<Property_>> leftMapping, @NonNull Function<B, Property_> rightMapping) Joins every A and B where a value of property on B is contained in the collection of properties on A.static <A,B, C, D, E, Property_>
@NonNull PentaJoiner<A,B, C, D, E> containingAnyOf(@NonNull QuadFunction<A, B, C, D, Collection<Property_>> leftMapping, @NonNull Function<E, Collection<Property_>> rightMapping) As defined bycontainingAnyOf(Function, Function).static <A,B, C, D, Property_>
@NonNull QuadJoiner<A,B, C, D> containingAnyOf(@NonNull TriFunction<A, B, C, Collection<Property_>> leftMapping, @NonNull Function<D, Collection<Property_>> rightMapping) As defined bycontainingAnyOf(Function, Function).static <A,B, C, Property_>
@NonNull TriJoiner<A,B, C> containingAnyOf(@NonNull BiFunction<A, B, Collection<Property_>> leftMapping, @NonNull Function<C, Collection<Property_>> rightMapping) As defined bycontainingAnyOf(Function, Function).static <A,Property_>
@NonNull BiJoiner<A,A> containingAnyOf(@NonNull Function<A, Collection<Property_>> mapping) As defined bycontainingAnyOf(Function, Function)with both arguments using the same mapping.static <A,B, Property_>
@NonNull BiJoiner<A,B> containingAnyOf(@NonNull Function<A, Collection<Property_>> leftMapping, @NonNull Function<B, Collection<Property_>> rightMapping) Joins every A and B where a collection of properties on A overlaps with a collection of properties on B.
-
Constructor Details
-
UnfinishedJoiners
public UnfinishedJoiners()
-
-
Method Details
-
containing
public static <A,B, @NonNull BiJoiner<A,Property_> B> containing(@NonNull Function<A, Collection<Property_>> leftMapping, @NonNull Function<B, Property_> rightMapping) Joins every A and B where a value of property on B is contained in the collection of properties on A.For example:
["A", "B"]containing"A"istrue["A"]containing"A"istrue["X", "Y"]containing"A"isfalse[]containing"A"isfalse["A", "B"]containingnullisfalse[]containingnullisfalse
- Type Parameters:
A- the type of object on the leftB- the type of object on the rightProperty_- the type of the property to compare- Parameters:
leftMapping- mapping function to apply to ArightMapping- mapping function to apply to B
-
containedIn
public static <A,B, @NonNull BiJoiner<A,Property_> B> containedIn(@NonNull Function<A, Property_> leftMapping, @NonNull Function<B, Collection<Property_>> rightMapping) Joins every A and B where a value of property on A is contained in the collection of properties on B.For example:
"A"contained in["A", "B"]istrue"A"contained in["A"]istrue"A"contained in["X", "Y"]isfalse"A"contained in[]isfalsenullcontained in["A", "B"]isfalsenullcontained in[]isfalse
- Type Parameters:
A- the type of object on the leftB- the type of object on the rightProperty_- the type of the property to compare- Parameters:
leftMapping- mapping function to apply to ArightMapping- mapping function to apply to B
-
containingAnyOf
public static <A,Property_> @NonNull BiJoiner<A,A> containingAnyOf(@NonNull Function<A, Collection<Property_>> mapping) As defined bycontainingAnyOf(Function, Function)with both arguments using the same mapping.- Type Parameters:
A- the type of both objectsProperty_- the type of the property to compare- Parameters:
mapping- mapping function to apply to both A and B
-
containingAnyOf
public static <A,B, @NonNull BiJoiner<A,Property_> B> containingAnyOf(@NonNull Function<A, Collection<Property_>> leftMapping, @NonNull Function<B, Collection<Property_>> rightMapping) Joins every A and B where a collection of properties on A overlaps with a collection of properties on B.For example:
["A", "B"]intersecting["A", "B"]istrue["A", "B"]intersecting["A"]istrue["A"]intersecting["A", "B"]istrue["A", "B"]intersecting["X", "Y"]isfalse["A", "B"]intersecting[]isfalse[]intersecting["A", "B"]isfalse[]intersecting[]isfalse
- Type Parameters:
A- the type of object on the leftB- the type of object on the rightProperty_- the type of the property to compare- Parameters:
leftMapping- mapping function to apply to ArightMapping- mapping function to apply to B
-
containing
public static <A,B, @NonNull TriJoiner<A,C, Property_> B, containingC> (@NonNull BiFunction<A, B, Collection<Property_>> leftMapping, @NonNull Function<C, Property_> rightMapping) As defined bycontaining(Function, Function).- Type Parameters:
A- the type of the first object on the leftB- the type of the second object on the leftC- the type of the object on the rightProperty_- the type of the collection elements- Parameters:
leftMapping- mapping function to apply to (A,B)rightMapping- mapping function to apply to C
-
containedIn
public static <A,B, @NonNull TriJoiner<A,C, Property_> B, containedInC> (@NonNull BiFunction<A, B, Property_> leftMapping, @NonNull Function<C, Collection<Property_>> rightMapping) As defined bycontainedIn(Function, Function).- Type Parameters:
A- the type of the first object on the leftB- the type of the second object on the leftC- the type of the object on the rightProperty_- the type of the collection elements- Parameters:
leftMapping- mapping function to apply to (A,B)rightMapping- mapping function to apply to C
-
containingAnyOf
public static <A,B, @NonNull TriJoiner<A,C, Property_> B, containingAnyOfC> (@NonNull BiFunction<A, B, Collection<Property_>> leftMapping, @NonNull Function<C, Collection<Property_>> rightMapping) As defined bycontainingAnyOf(Function, Function).- Type Parameters:
A- the type of the first object on the leftB- the type of the second object on the leftC- the type of the object on the rightProperty_- the type of the collection elements- Parameters:
leftMapping- mapping function to apply to (A,B)rightMapping- mapping function to apply to C
-
containing
public static <A,B, @NonNull QuadJoiner<A,C, D, Property_> B, containingC, D> (@NonNull TriFunction<A, B, C, Collection<Property_>> leftMapping, @NonNull Function<D, Property_> rightMapping) As defined bycontaining(Function, Function).- Type Parameters:
A- the type of the first object on the leftB- the type of the second object on the leftC- the type of the third object on the leftD- the type of the object on the rightProperty_- the type of the collection elements- Parameters:
leftMapping- mapping function to apply to (A,B,C)rightMapping- mapping function to apply to D
-
containedIn
public static <A,B, @NonNull QuadJoiner<A,C, D, Property_> B, containedInC, D> (@NonNull TriFunction<A, B, C, Property_> leftMapping, @NonNull Function<D, Collection<Property_>> rightMapping) As defined bycontainedIn(Function, Function).- Type Parameters:
A- the type of the first object on the leftB- the type of the second object on the leftC- the type of the third object on the leftD- the type of the object on the rightProperty_- the type of the collection elements- Parameters:
leftMapping- mapping function to apply to (A,B,C)rightMapping- mapping function to apply to D
-
containingAnyOf
public static <A,B, @NonNull QuadJoiner<A,C, D, Property_> B, containingAnyOfC, D> (@NonNull TriFunction<A, B, C, Collection<Property_>> leftMapping, @NonNull Function<D, Collection<Property_>> rightMapping) As defined bycontainingAnyOf(Function, Function).- Type Parameters:
A- the type of the first object on the leftB- the type of the second object on the leftC- the type of the third object on the leftD- the type of the object on the rightProperty_- the type of the collection elements- Parameters:
leftMapping- mapping function to apply to (A,B,C)rightMapping- mapping function to apply to D
-
containing
public static <A,B, @NonNull PentaJoiner<A,C, D, E, Property_> B, containingC, D, E> (@NonNull QuadFunction<A, B, C, D, Collection<Property_>> leftMapping, @NonNull Function<E, Property_> rightMapping) As defined bycontaining(Function, Function).- Type Parameters:
A- the type of the first object on the leftB- the type of the second object on the leftC- the type of the third object on the leftD- the type of the fourth object on the leftE- the type of the object on the rightProperty_- the type of the collection elements- Parameters:
leftMapping- mapping function to apply to (A,B,C,D)rightMapping- mapping function to apply to E
-
containedIn
public static <A,B, @NonNull PentaJoiner<A,C, D, E, Property_> B, containedInC, D, E> (@NonNull QuadFunction<A, B, C, D, Property_> leftMapping, @NonNull Function<E, Collection<Property_>> rightMapping) As defined bycontainedIn(Function, Function).- Type Parameters:
A- the type of the first object on the leftB- the type of the second object on the leftC- the type of the third object on the leftD- the type of the fourth object on the leftE- the type of the object on the rightProperty_- the type of the collection elements- Parameters:
leftMapping- mapping function to apply to (A,B,C,D)rightMapping- mapping function to apply to E
-
containingAnyOf
public static <A,B, @NonNull PentaJoiner<A,C, D, E, Property_> B, containingAnyOfC, D, E> (@NonNull QuadFunction<A, B, C, D, Collection<Property_>> leftMapping, @NonNull Function<E, Collection<Property_>> rightMapping) As defined bycontainingAnyOf(Function, Function).- Type Parameters:
A- the type of the first object on the leftB- the type of the second object on the leftC- the type of the third object on the leftD- the type of the fourth object on the leftE- the type of the object on the rightProperty_- the type of the collection elements- Parameters:
leftMapping- mapping function to apply to (A,B,C,D)rightMapping- mapping function to apply to E
-