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

## Class AbstractQuadJoiner<A,​B,​C,​D>

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

- All Implemented Interfaces:
    `QuadJoiner<A,​B,​C,​D>`
  Direct Known Subclasses:
    `CompositeQuadJoiner`, `FilteringQuadJoiner`, `NoneQuadJoiner`, `SingleQuadJoiner`

      public abstract class AbstractQuadJoiner<A,​B,​C,​D>
      extends AbstractJoiner
      implements QuadJoiner<A,​B,​C,​D>

- - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `AbstractQuadJoiner()` |
    `protected` | `AbstractQuadJoiner​(QuadPredicate<A,​B,​C,​D> filter)` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `QuadPredicate<A,​B,​C,​D>` | `getFilter()` |
    `abstract TriFunction<A,​B,​C,​Object[]>` | `getLeftCombinedMapping()` |
    `abstract TriFunction<A,​B,​C,​Object>` | `getLeftMapping​(int index)` |
    `abstract Function<D,​Object[]>` | `getRightCombinedMapping()` |
    `abstract Function<D,​Object>` | `getRightMapping​(int index)` |
    `boolean` | `matches​(A a, B b, C c, D d)` |
    `static <A,​B,​C,​D> AbstractQuadJoiner<A,​B,​C,​D>` | `merge​(QuadJoiner<A,​B,​C,​D>... 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

    - #### AbstractQuadJoiner

          protected AbstractQuadJoiner()

    - #### AbstractQuadJoiner

          protected AbstractQuadJoiner​(QuadPredicate<A,​B,​C,​D> filter)

  - ### Method Detail

    - #### merge

          @SafeVarargs
          public static <A,​B,​C,​D> AbstractQuadJoiner<A,​B,​C,​D> merge​(QuadJoiner<A,​B,​C,​D>... joiners)

    - #### matches

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

    - #### getLeftMapping

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

    - #### getLeftCombinedMapping

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

    - #### getRightMapping

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

    - #### getRightCombinedMapping

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

    - #### getFilter

          public QuadPredicate<A,​B,​C,​D> getFilter()