org.optaplanner.core.api.score.stream

## Class Joiners

- java.lang.Object
- - org.optaplanner.core.api.score.stream.Joiners

-     public final class Joiners
      extends Object

  Creates an `BiJoiner`, `TriJoiner`, ... instance for use in `UniConstraintStream.join(Class, BiJoiner)`, ...

- - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static <A> BiJoiner<A,A>` | `equal()`
    `static <A,B,C,Property_> TriJoiner<A,B,C>` | `equal(BiFunction<A,B,Property_> leftMapping, Function<C,Property_> rightMapping)`
    `static <A,Property_> BiJoiner<A,A>` | `equal(Function<A,Property_> mapping)`
    `static <A,B,Property_> BiJoiner<A,B>` | `equal(Function<A,Property_> leftMapping, Function<B,Property_> rightMapping)`
    `static <A,B,C,D,E,Property_> PentaJoiner<A,B,C,D,E>` | `equal(QuadFunction<A,B,C,D,Property_> leftMapping, Function<E,Property_> rightMapping)`
    `static <A,B,C,D,Property_> QuadJoiner<A,B,C,D>` | `equal(TriFunction<A,B,C,Property_> leftMapping, Function<D,Property_> rightMapping)`
    `static <A,B> BiJoiner<A,B>` | `filtering(BiPredicate<A,B> filter)` Applies a filter to the joined tuple, with the semantics of `BiConstraintStream.filter(BiPredicate)`.
    `static <A,B,C,D,E> PentaJoiner<A,B,C,D,E>` | `filtering(PentaPredicate<A,B,C,D,E> filter)`
    `static <A,B,C,D> QuadJoiner<A,B,C,D>` | `filtering(QuadPredicate<A,B,C,D> filter)`
    `static <A,B,C> TriJoiner<A,B,C>` | `filtering(TriPredicate<A,B,C> filter)`
    `static <A,B,C,Property_ extends Comparable<Property_>> TriJoiner<A,B,C>` | `greaterThan(BiFunction<A,B,Property_> leftMapping, Function<C,Property_> rightMapping)`
    `static <A,Property_ extends Comparable<Property_>> BiJoiner<A,A>` | `greaterThan(Function<A,Property_> mapping)`
    `static <A,B,Property_ extends Comparable<Property_>> BiJoiner<A,B>` | `greaterThan(Function<A,Property_> leftMapping, Function<B,Property_> rightMapping)`
    `static <A,B,C,D,E,Property_ extends Comparable<Property_>> PentaJoiner<A,B,C,D,E>` | `greaterThan(QuadFunction<A,B,C,D,Property_> leftMapping, Function<E,Property_> rightMapping)`
    `static <A,B,C,D,Property_ extends Comparable<Property_>> QuadJoiner<A,B,C,D>` | `greaterThan(TriFunction<A,B,C,Property_> leftMapping, Function<D,Property_> rightMapping)`
    `static <A,B,C,Property_ extends Comparable<Property_>> TriJoiner<A,B,C>` | `greaterThanOrEqual(BiFunction<A,B,Property_> leftMapping, Function<C,Property_> rightMapping)`
    `static <A,Property_ extends Comparable<Property_>> BiJoiner<A,A>` | `greaterThanOrEqual(Function<A,Property_> mapping)`
    `static <A,B,Property_ extends Comparable<Property_>> BiJoiner<A,B>` | `greaterThanOrEqual(Function<A,Property_> leftMapping, Function<B,Property_> rightMapping)`
    `static <A,B,C,D,E,Property_ extends Comparable<Property_>> PentaJoiner<A,B,C,D,E>` | `greaterThanOrEqual(QuadFunction<A,B,C,D,Property_> leftMapping, Function<E,Property_> rightMapping)`
    `static <A,B,C,D,Property_ extends Comparable<Property_>> QuadJoiner<A,B,C,D>` | `greaterThanOrEqual(TriFunction<A,B,C,Property_> leftMapping, Function<D,Property_> rightMapping)`
    `static <A,B,C,Property_ extends Comparable<Property_>> TriJoiner<A,B,C>` | `lessThan(BiFunction<A,B,Property_> leftMapping, Function<C,Property_> rightMapping)`
    `static <A,Property_ extends Comparable<Property_>> BiJoiner<A,A>` | `lessThan(Function<A,Property_> mapping)`
    `static <A,B,Property_ extends Comparable<Property_>> BiJoiner<A,B>` | `lessThan(Function<A,Property_> leftMapping, Function<B,Property_> rightMapping)`
    `static <A,B,C,D,E,Property_ extends Comparable<Property_>> PentaJoiner<A,B,C,D,E>` | `lessThan(QuadFunction<A,B,C,D,Property_> leftMapping, Function<E,Property_> rightMapping)`
    `static <A,B,C,D,Property_ extends Comparable<Property_>> QuadJoiner<A,B,C,D>` | `lessThan(TriFunction<A,B,C,Property_> leftMapping, Function<D,Property_> rightMapping)`
    `static <A,B,C,Property_ extends Comparable<Property_>> TriJoiner<A,B,C>` | `lessThanOrEqual(BiFunction<A,B,Property_> leftMapping, Function<C,Property_> rightMapping)`
    `static <A,Property_ extends Comparable<Property_>> BiJoiner<A,A>` | `lessThanOrEqual(Function<A,Property_> mapping)`
    `static <A,B,Property_ extends Comparable<Property_>> BiJoiner<A,B>` | `lessThanOrEqual(Function<A,Property_> leftMapping, Function<B,Property_> rightMapping)`
    `static <A,B,C,D,E,Property_ extends Comparable<Property_>> PentaJoiner<A,B,C,D,E>` | `lessThanOrEqual(QuadFunction<A,B,C,D,Property_> leftMapping, Function<E,Property_> rightMapping)`
    `static <A,B,C,D,Property_ extends Comparable<Property_>> QuadJoiner<A,B,C,D>` | `lessThanOrEqual(TriFunction<A,B,C,Property_> leftMapping, Function<D,Property_> rightMapping)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### equal

          public static <A> BiJoiner<A,A> equal()

    - #### equal

          public static <A,Property_> BiJoiner<A,A> equal(Function<A,Property_> mapping)

    - #### equal

          public static <A,B,Property_> BiJoiner<A,B> equal(Function<A,Property_> leftMapping,
                                                            Function<B,Property_> rightMapping)

    - #### lessThan

          public static <A,Property_ extends Comparable<Property_>> BiJoiner<A,A> lessThan(Function<A,Property_> mapping)

    - #### lessThan

          public static <A,B,Property_ extends Comparable<Property_>> BiJoiner<A,B> lessThan(Function<A,Property_> leftMapping,
                                                                                             Function<B,Property_> rightMapping)

    - #### lessThanOrEqual

          public static <A,Property_ extends Comparable<Property_>> BiJoiner<A,A> lessThanOrEqual(Function<A,Property_> mapping)

    - #### lessThanOrEqual

          public static <A,B,Property_ extends Comparable<Property_>> BiJoiner<A,B> lessThanOrEqual(Function<A,Property_> leftMapping,
                                                                                                    Function<B,Property_> rightMapping)

    - #### greaterThan

          public static <A,Property_ extends Comparable<Property_>> BiJoiner<A,A> greaterThan(Function<A,Property_> mapping)

    - #### greaterThan

          public static <A,B,Property_ extends Comparable<Property_>> BiJoiner<A,B> greaterThan(Function<A,Property_> leftMapping,
                                                                                                Function<B,Property_> rightMapping)

    - #### greaterThanOrEqual

          public static <A,Property_ extends Comparable<Property_>> BiJoiner<A,A> greaterThanOrEqual(Function<A,Property_> mapping)

    - #### greaterThanOrEqual

          public static <A,B,Property_ extends Comparable<Property_>> BiJoiner<A,B> greaterThanOrEqual(Function<A,Property_> leftMapping,
                                                                                                       Function<B,Property_> rightMapping)

    - #### filtering

          public static <A,B> BiJoiner<A,B> filtering(BiPredicate<A,B> filter)

      Applies a filter to the joined tuple, with the semantics of `BiConstraintStream.filter(BiPredicate)`.
      Type Parameters:
        `A` - type of the first fact in the tuple
        `B` - type of the second fact in the tuple
      Parameters:
        `filter` - never null, filter to apply
      Returns:
        never null

    - #### equal

          public static <A,B,C,Property_> TriJoiner<A,B,C> equal(BiFunction<A,B,Property_> leftMapping,
                                                                 Function<C,Property_> rightMapping)

    - #### lessThan

          public static <A,B,C,Property_ extends Comparable<Property_>> TriJoiner<A,B,C> lessThan(BiFunction<A,B,Property_> leftMapping,
                                                                                                  Function<C,Property_> rightMapping)

    - #### lessThanOrEqual

          public static <A,B,C,Property_ extends Comparable<Property_>> TriJoiner<A,B,C> lessThanOrEqual(BiFunction<A,B,Property_> leftMapping,
                                                                                                         Function<C,Property_> rightMapping)

    - #### greaterThan

          public static <A,B,C,Property_ extends Comparable<Property_>> TriJoiner<A,B,C> greaterThan(BiFunction<A,B,Property_> leftMapping,
                                                                                                     Function<C,Property_> rightMapping)

    - #### greaterThanOrEqual

          public static <A,B,C,Property_ extends Comparable<Property_>> TriJoiner<A,B,C> greaterThanOrEqual(BiFunction<A,B,Property_> leftMapping,
                                                                                                            Function<C,Property_> rightMapping)

    - #### filtering

          public static <A,B,C> TriJoiner<A,B,C> filtering(TriPredicate<A,B,C> filter)

    - #### equal

          public static <A,B,C,D,Property_> QuadJoiner<A,B,C,D> equal(TriFunction<A,B,C,Property_> leftMapping,
                                                                      Function<D,Property_> rightMapping)

    - #### lessThan

          public static <A,B,C,D,Property_ extends Comparable<Property_>> QuadJoiner<A,B,C,D> lessThan(TriFunction<A,B,C,Property_> leftMapping,
                                                                                                       Function<D,Property_> rightMapping)

    - #### lessThanOrEqual

          public static <A,B,C,D,Property_ extends Comparable<Property_>> QuadJoiner<A,B,C,D> lessThanOrEqual(TriFunction<A,B,C,Property_> leftMapping,
                                                                                                              Function<D,Property_> rightMapping)

    - #### greaterThan

          public static <A,B,C,D,Property_ extends Comparable<Property_>> QuadJoiner<A,B,C,D> greaterThan(TriFunction<A,B,C,Property_> leftMapping,
                                                                                                          Function<D,Property_> rightMapping)

    - #### greaterThanOrEqual

          public static <A,B,C,D,Property_ extends Comparable<Property_>> QuadJoiner<A,B,C,D> greaterThanOrEqual(TriFunction<A,B,C,Property_> leftMapping,
                                                                                                                 Function<D,Property_> rightMapping)

    - #### filtering

          public static <A,B,C,D> QuadJoiner<A,B,C,D> filtering(QuadPredicate<A,B,C,D> filter)

    - #### equal

          public static <A,B,C,D,E,Property_> PentaJoiner<A,B,C,D,E> equal(QuadFunction<A,B,C,D,Property_> leftMapping,
                                                                           Function<E,Property_> rightMapping)

    - #### lessThan

          public static <A,B,C,D,E,Property_ extends Comparable<Property_>> PentaJoiner<A,B,C,D,E> lessThan(QuadFunction<A,B,C,D,Property_> leftMapping,
                                                                                                            Function<E,Property_> rightMapping)

    - #### lessThanOrEqual

          public static <A,B,C,D,E,Property_ extends Comparable<Property_>> PentaJoiner<A,B,C,D,E> lessThanOrEqual(QuadFunction<A,B,C,D,Property_> leftMapping,
                                                                                                                   Function<E,Property_> rightMapping)

    - #### greaterThan

          public static <A,B,C,D,E,Property_ extends Comparable<Property_>> PentaJoiner<A,B,C,D,E> greaterThan(QuadFunction<A,B,C,D,Property_> leftMapping,
                                                                                                               Function<E,Property_> rightMapping)

    - #### greaterThanOrEqual

          public static <A,B,C,D,E,Property_ extends Comparable<Property_>> PentaJoiner<A,B,C,D,E> greaterThanOrEqual(QuadFunction<A,B,C,D,Property_> leftMapping,
                                                                                                                      Function<E,Property_> rightMapping)

    - #### filtering

          public static <A,B,C,D,E> PentaJoiner<A,B,C,D,E> filtering(PentaPredicate<A,B,C,D,E> filter)

Copyright © 2006–2021 JBoss by Red Hat. All rights reserved.