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

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

- java.lang.Object
- - org.optaplanner.core.impl.score.stream.common.AbstractConstraintStreamHelper<D,​QuadConstraintStream<A,​B,​C,​D>,​QuadJoiner<A,​B,​C,​D>,​QuadPredicate<A,​B,​C,​D>>
  - - org.optaplanner.core.impl.score.stream.tri.TriConstraintStreamHelper<A,​B,​C,​D>

-     public final class TriConstraintStreamHelper<A,​B,​C,​D>
      extends AbstractConstraintStreamHelper<D,​QuadConstraintStream<A,​B,​C,​D>,​QuadJoiner<A,​B,​C,​D>,​QuadPredicate<A,​B,​C,​D>>

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `TriConstraintStreamHelper​(TriConstraintStream<A,​B,​C> stream)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected QuadConstraintStream<A,​B,​C,​D>` | `doJoin​(Class<D> otherClass)` |
    `protected QuadConstraintStream<A,​B,​C,​D>` | `doJoin​(Class<D> otherClass, QuadJoiner<A,​B,​C,​D> joiner)` |
    `protected QuadConstraintStream<A,​B,​C,​D>` | `doJoin​(Class<D> otherClass, QuadJoiner<A,​B,​C,​D>... joiners)` |
    `protected QuadPredicate<A,​B,​C,​D>` | `extractPredicate​(QuadJoiner<A,​B,​C,​D> joiner)` |
    `protected QuadConstraintStream<A,​B,​C,​D>` | `filter​(QuadConstraintStream<A,​B,​C,​D> stream, QuadPredicate<A,​B,​C,​D> predicate)` |
    `protected boolean` | `isFilteringJoiner​(QuadJoiner<A,​B,​C,​D> joiner)` |
    `protected QuadJoiner<A,​B,​C,​D>` | `mergeJoiners​(QuadJoiner<A,​B,​C,​D>... joiners)` |
    `protected QuadPredicate<A,​B,​C,​D>` | `mergePredicates​(QuadPredicate<A,​B,​C,​D> predicate1, QuadPredicate<A,​B,​C,​D> predicate2)` |

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

      `join`

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

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

- - ### Constructor Detail

    - #### TriConstraintStreamHelper

          public TriConstraintStreamHelper​(TriConstraintStream<A,​B,​C> stream)

  - ### Method Detail

    - #### doJoin

          protected QuadConstraintStream<A,​B,​C,​D> doJoin​(Class<D> otherClass)

      Specified by:
        `doJoin` in class `AbstractConstraintStreamHelper<D,​QuadConstraintStream<A,​B,​C,​D>,​QuadJoiner<A,​B,​C,​D>,​QuadPredicate<A,​B,​C,​D>>`

    - #### doJoin

          protected QuadConstraintStream<A,​B,​C,​D> doJoin​(Class<D> otherClass,
                                                                           QuadJoiner<A,​B,​C,​D> joiner)

      Specified by:
        `doJoin` in class `AbstractConstraintStreamHelper<D,​QuadConstraintStream<A,​B,​C,​D>,​QuadJoiner<A,​B,​C,​D>,​QuadPredicate<A,​B,​C,​D>>`

    - #### doJoin

          protected QuadConstraintStream<A,​B,​C,​D> doJoin​(Class<D> otherClass,
                                                                           QuadJoiner<A,​B,​C,​D>... joiners)

      Specified by:
        `doJoin` in class `AbstractConstraintStreamHelper<D,​QuadConstraintStream<A,​B,​C,​D>,​QuadJoiner<A,​B,​C,​D>,​QuadPredicate<A,​B,​C,​D>>`

    - #### filter

          protected QuadConstraintStream<A,​B,​C,​D> filter​(QuadConstraintStream<A,​B,​C,​D> stream,
                                                                           QuadPredicate<A,​B,​C,​D> predicate)

      Specified by:
        `filter` in class `AbstractConstraintStreamHelper<D,​QuadConstraintStream<A,​B,​C,​D>,​QuadJoiner<A,​B,​C,​D>,​QuadPredicate<A,​B,​C,​D>>`

    - #### mergeJoiners

          protected QuadJoiner<A,​B,​C,​D> mergeJoiners​(QuadJoiner<A,​B,​C,​D>... joiners)

      Specified by:
        `mergeJoiners` in class `AbstractConstraintStreamHelper<D,​QuadConstraintStream<A,​B,​C,​D>,​QuadJoiner<A,​B,​C,​D>,​QuadPredicate<A,​B,​C,​D>>`

    - #### isFilteringJoiner

          protected boolean isFilteringJoiner​(QuadJoiner<A,​B,​C,​D> joiner)

      Specified by:
        `isFilteringJoiner` in class `AbstractConstraintStreamHelper<D,​QuadConstraintStream<A,​B,​C,​D>,​QuadJoiner<A,​B,​C,​D>,​QuadPredicate<A,​B,​C,​D>>`

    - #### extractPredicate

          protected QuadPredicate<A,​B,​C,​D> extractPredicate​(QuadJoiner<A,​B,​C,​D> joiner)

      Specified by:
        `extractPredicate` in class `AbstractConstraintStreamHelper<D,​QuadConstraintStream<A,​B,​C,​D>,​QuadJoiner<A,​B,​C,​D>,​QuadPredicate<A,​B,​C,​D>>`

    - #### mergePredicates

          protected QuadPredicate<A,​B,​C,​D> mergePredicates​(QuadPredicate<A,​B,​C,​D> predicate1,
                                                                             QuadPredicate<A,​B,​C,​D> predicate2)

      Specified by:
        `mergePredicates` in class `AbstractConstraintStreamHelper<D,​QuadConstraintStream<A,​B,​C,​D>,​QuadJoiner<A,​B,​C,​D>,​QuadPredicate<A,​B,​C,​D>>`