Package org.optaplanner.core.impl.score.stream.tri

## Class AbstractTriJoiner<A,​B,​C>

- java.lang.Object
- - org.optaplanner.core.impl.score.stream.common.AbstractJoiner
  - - org.optaplanner.core.impl.score.stream.tri.AbstractTriJoiner<A,​B,​C>

- All Implemented Interfaces:
    `TriJoiner<A,​B,​C>`
  Direct Known Subclasses:
    `CompositeTriJoiner`, `FilteringTriJoiner`, `NoneTriJoiner`, `SingleTriJoiner`

      public abstract class AbstractTriJoiner<A,​B,​C>
      extends AbstractJoiner
      implements TriJoiner<A,​B,​C>

- - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `AbstractTriJoiner()` |
    `protected` | `AbstractTriJoiner​(TriPredicate<A,​B,​C> filter)` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `TriPredicate<A,​B,​C>` | `getFilter()` |
    `abstract BiFunction<A,​B,​Object[]>` | `getLeftCombinedMapping()` |
    `abstract BiFunction<A,​B,​Object>` | `getLeftMapping​(int index)` |
    `abstract Function<C,​Object[]>` | `getRightCombinedMapping()` |
    `abstract Function<C,​Object>` | `getRightMapping​(int index)` |
    `boolean` | `matches​(A a, B b, C c)` |
    `static <A,​B,​C> AbstractTriJoiner<A,​B,​C>` | `merge​(TriJoiner<A,​B,​C>... joiners)` |

    - ### Methods inherited from class org.optaplanner.core.impl.score.stream.common.AbstractJoiner

      `getJoinerTypes`

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

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

- - ### Constructor Detail

    - #### AbstractTriJoiner

          protected AbstractTriJoiner()

    - #### AbstractTriJoiner

          protected AbstractTriJoiner​(TriPredicate<A,​B,​C> filter)

  - ### Method Detail

    - #### merge

          @SafeVarargs
          public static <A,​B,​C> AbstractTriJoiner<A,​B,​C> merge​(TriJoiner<A,​B,​C>... joiners)

    - #### matches

          public boolean matches​(A a,
                                 B b,
                                 C c)

    - #### getLeftMapping

          public abstract BiFunction<A,​B,​Object> getLeftMapping​(int index)

    - #### getLeftCombinedMapping

          public abstract BiFunction<A,​B,​Object[]> getLeftCombinedMapping()

    - #### getRightMapping

          public abstract Function<C,​Object> getRightMapping​(int index)

    - #### getRightCombinedMapping

          public abstract Function<C,​Object[]> getRightCombinedMapping()

    - #### getFilter

          public TriPredicate<A,​B,​C> getFilter()