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

## Class AbstractBiJoiner<A,​B>

- java.lang.Object
- - org.optaplanner.core.impl.score.stream.common.AbstractJoiner
  - - org.optaplanner.core.impl.score.stream.bi.AbstractBiJoiner<A,​B>

- All Implemented Interfaces:
    `BiJoiner<A,​B>`
  Direct Known Subclasses:
    `CompositeBiJoiner`, `FilteringBiJoiner`, `NoneBiJoiner`, `SingleBiJoiner`

      public abstract class AbstractBiJoiner<A,​B>
      extends AbstractJoiner
      implements BiJoiner<A,​B>

- - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `AbstractBiJoiner()` |
    `protected` | `AbstractBiJoiner​(BiPredicate<A,​B> filter)` |

  - ### Method Summary

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

    - #### AbstractBiJoiner

          protected AbstractBiJoiner()

    - #### AbstractBiJoiner

          protected AbstractBiJoiner​(BiPredicate<A,​B> filter)

  - ### Method Detail

    - #### merge

          @SafeVarargs
          public static <A,​B> AbstractBiJoiner<A,​B> merge​(BiJoiner<A,​B>... joiners)

    - #### matches

          public boolean matches​(A a,
                                 B b)

    - #### getLeftMapping

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

    - #### getLeftCombinedMapping

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

    - #### getRightMapping

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

    - #### getRightCombinedMapping

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

    - #### getFilter

          public BiPredicate<A,​B> getFilter()