## Uses of Interface
org.optaplanner.core.api.score.stream.quad.QuadConstraintStream

- Packages that use QuadConstraintStream
  Package | Description
  --- | ---
  org.optaplanner.core.api.score.stream.bi | The `ConstraintStream` API for bi-tuples.
  org.optaplanner.core.api.score.stream.quad | The `ConstraintStream` API for four matched facts.
  org.optaplanner.core.api.score.stream.tri | The `ConstraintStream` API for tri-tuples.
  org.optaplanner.core.api.score.stream.uni | The `ConstraintStream` API for uni-tuples.
  org.optaplanner.core.impl.score.stream.bavet.bi |
  org.optaplanner.core.impl.score.stream.bavet.tri |
  org.optaplanner.core.impl.score.stream.bavet.uni |
  org.optaplanner.core.impl.score.stream.drools.bi |
  org.optaplanner.core.impl.score.stream.drools.quad |
  org.optaplanner.core.impl.score.stream.drools.tri |
  org.optaplanner.core.impl.score.stream.drools.uni |
  org.optaplanner.core.impl.score.stream.quad |

- - ### Uses of QuadConstraintStream in org.optaplanner.core.api.score.stream.bi

    Methods in org.optaplanner.core.api.score.stream.bi that return QuadConstraintStream
    Modifier and Type | Method and Description
    --- | ---
    `<GroupKeyA_,GroupKeyB_,ResultContainerC_,ResultC_,ResultContainerD_,ResultD_> QuadConstraintStream<GroupKeyA_,GroupKeyB_,ResultC_,ResultD_>` | BiConstraintStream.`groupBy(BiFunction<A,B,GroupKeyA_> groupKeyAMapping, BiFunction<A,B,GroupKeyB_> groupKeyBMapping, BiConstraintCollector<A,B,ResultContainerC_,ResultC_> collectorC, BiConstraintCollector<A,B,ResultContainerD_,ResultD_> collectorD)` Combines the semantics of `BiConstraintStream.groupBy(BiFunction, BiFunction)` and `BiConstraintStream.groupBy(BiConstraintCollector)`.

  - ### Uses of QuadConstraintStream in org.optaplanner.core.api.score.stream.quad

    Methods in org.optaplanner.core.api.score.stream.quad that return QuadConstraintStream
    Modifier and Type | Method and Description
    --- | ---
    `QuadConstraintStream<A,B,C,D>` | QuadConstraintStream.`filter(QuadPredicate<A,B,C,D> predicate)` Exhaustively test each tuple of facts against the `QuadPredicate` and match if `QuadPredicate.test(Object, Object, Object, Object)` returns true.
    `<GroupKeyA_,GroupKeyB_,ResultContainerC_,ResultC_,ResultContainerD_,ResultD_> QuadConstraintStream<GroupKeyA_,GroupKeyB_,ResultC_,ResultD_>` | QuadConstraintStream.`groupBy(QuadFunction<A,B,C,D,GroupKeyA_> groupKeyAMapping, QuadFunction<A,B,C,D,GroupKeyB_> groupKeyBMapping, QuadConstraintCollector<A,B,C,D,ResultContainerC_,ResultC_> collectorC, QuadConstraintCollector<A,B,C,D,ResultContainerD_,ResultD_> collectorD)` Combines the semantics of `groupBy(QuadFunction, QuadFunction)` and `groupBy(QuadConstraintCollector)`.
    `<E> QuadConstraintStream<A,B,C,D>` | QuadConstraintStream.`ifExists(Class<E> otherClass, PentaJoiner<A,B,C,D,E>... joiners)` As defined by `ifExists(Class, PentaJoiner)`.
    `default <E> QuadConstraintStream<A,B,C,D>` | QuadConstraintStream.`ifExists(Class<E> otherClass, PentaJoiner<A,B,C,D,E> joiner)` Create a new `BiConstraintStream` for every tuple of A, B, C and D where E exists for which the `PentaJoiner` is true (for the properties it extracts from the facts).
    `default <E> QuadConstraintStream<A,B,C,D>` | QuadConstraintStream.`ifExists(Class<E> otherClass, PentaJoiner<A,B,C,D,E> joiner1, PentaJoiner<A,B,C,D,E> joiner2)` As defined by `ifExists(Class, PentaJoiner)`.
    `default <E> QuadConstraintStream<A,B,C,D>` | QuadConstraintStream.`ifExists(Class<E> otherClass, PentaJoiner<A,B,C,D,E> joiner1, PentaJoiner<A,B,C,D,E> joiner2, PentaJoiner<A,B,C,D,E> joiner3)` As defined by `ifExists(Class, PentaJoiner)`.
    `default <E> QuadConstraintStream<A,B,C,D>` | QuadConstraintStream.`ifExists(Class<E> otherClass, PentaJoiner<A,B,C,D,E> joiner1, PentaJoiner<A,B,C,D,E> joiner2, PentaJoiner<A,B,C,D,E> joiner3, PentaJoiner<A,B,C,D,E> joiner4)` As defined by `ifExists(Class, PentaJoiner)`.
    `<E> QuadConstraintStream<A,B,C,D>` | QuadConstraintStream.`ifNotExists(Class<E> otherClass, PentaJoiner<A,B,C,D,E>... joiners)` As defined by `ifNotExists(Class, PentaJoiner)`.
    `default <E> QuadConstraintStream<A,B,C,D>` | QuadConstraintStream.`ifNotExists(Class<E> otherClass, PentaJoiner<A,B,C,D,E> joiner)` Create a new `BiConstraintStream` for every tuple of A, B, C and D where E does not exist for which the `PentaJoiner` is true (for the properties it extracts from the facts).
    `default <E> QuadConstraintStream<A,B,C,D>` | QuadConstraintStream.`ifNotExists(Class<E> otherClass, PentaJoiner<A,B,C,D,E> joiner1, PentaJoiner<A,B,C,D,E> joiner2)` As defined by `ifNotExists(Class, PentaJoiner)`.
    `default <E> QuadConstraintStream<A,B,C,D>` | QuadConstraintStream.`ifNotExists(Class<E> otherClass, PentaJoiner<A,B,C,D,E> joiner1, PentaJoiner<A,B,C,D,E> joiner2, PentaJoiner<A,B,C,D,E> joiner3)` As defined by `ifNotExists(Class, PentaJoiner)`.
    `default <E> QuadConstraintStream<A,B,C,D>` | QuadConstraintStream.`ifNotExists(Class<E> otherClass, PentaJoiner<A,B,C,D,E> joiner1, PentaJoiner<A,B,C,D,E> joiner2, PentaJoiner<A,B,C,D,E> joiner3, PentaJoiner<A,B,C,D,E> joiner4)` As defined by `ifNotExists(Class, PentaJoiner)`.

  - ### Uses of QuadConstraintStream in org.optaplanner.core.api.score.stream.tri

    Methods in org.optaplanner.core.api.score.stream.tri that return QuadConstraintStream
    Modifier and Type | Method and Description
    --- | ---
    `<GroupKeyA_,GroupKeyB_,ResultContainerC_,ResultC_,ResultContainerD_,ResultD_> QuadConstraintStream<GroupKeyA_,GroupKeyB_,ResultC_,ResultD_>` | TriConstraintStream.`groupBy(TriFunction<A,B,C,GroupKeyA_> groupKeyAMapping, TriFunction<A,B,C,GroupKeyB_> groupKeyBMapping, TriConstraintCollector<A,B,C,ResultContainerC_,ResultC_> collectorC, TriConstraintCollector<A,B,C,ResultContainerD_,ResultD_> collectorD)` Combines the semantics of `TriConstraintStream.groupBy(TriFunction, TriFunction)` and `TriConstraintStream.groupBy(TriConstraintCollector)`.
    `default <D> QuadConstraintStream<A,B,C,D>` | TriConstraintStream.`join(Class<D> otherClass)` Create a new `QuadConstraintStream` for every combination of [A, B, C] and D.
    `default <D> QuadConstraintStream<A,B,C,D>` | TriConstraintStream.`join(Class<D> otherClass, QuadJoiner<A,B,C,D>... joiners)` As defined by `TriConstraintStream.join(Class, QuadJoiner)`.
    `default <D> QuadConstraintStream<A,B,C,D>` | TriConstraintStream.`join(Class<D> otherClass, QuadJoiner<A,B,C,D> joiner)` Create a new `QuadConstraintStream` for every combination of [A, B, C] and D for which the `QuadJoiner` is true (for the properties it extracts from all facts).
    `default <D> QuadConstraintStream<A,B,C,D>` | TriConstraintStream.`join(Class<D> otherClass, QuadJoiner<A,B,C,D> joiner1, QuadJoiner<A,B,C,D> joiner2)` As defined by `TriConstraintStream.join(Class, QuadJoiner)`.
    `default <D> QuadConstraintStream<A,B,C,D>` | TriConstraintStream.`join(Class<D> otherClass, QuadJoiner<A,B,C,D> joiner1, QuadJoiner<A,B,C,D> joiner2, QuadJoiner<A,B,C,D> joiner3)` As defined by `TriConstraintStream.join(Class, QuadJoiner)`.
    `default <D> QuadConstraintStream<A,B,C,D>` | TriConstraintStream.`join(Class<D> otherClass, QuadJoiner<A,B,C,D> joiner1, QuadJoiner<A,B,C,D> joiner2, QuadJoiner<A,B,C,D> joiner3, QuadJoiner<A,B,C,D> joiner4)` As defined by `TriConstraintStream.join(Class, QuadJoiner)`.
    `default <D> QuadConstraintStream<A,B,C,D>` | TriConstraintStream.`join(UniConstraintStream<D> otherStream)` Create a new `QuadConstraintStream` for every combination of [A, B, C] and D.
    `<D> QuadConstraintStream<A,B,C,D>` | TriConstraintStream.`join(UniConstraintStream<D> otherStream, QuadJoiner<A,B,C,D> joiner)` Create a new `QuadConstraintStream` for every combination of [A, B] and C for which the `QuadJoiner` is true (for the properties it extracts from all facts).

  - ### Uses of QuadConstraintStream in org.optaplanner.core.api.score.stream.uni

    Methods in org.optaplanner.core.api.score.stream.uni that return QuadConstraintStream
    Modifier and Type | Method and Description
    --- | ---
    `<GroupKeyA_,GroupKeyB_,ResultContainerC_,ResultC_,ResultContainerD_,ResultD_> QuadConstraintStream<GroupKeyA_,GroupKeyB_,ResultC_,ResultD_>` | UniConstraintStream.`groupBy(Function<A,GroupKeyA_> groupKeyAMapping, Function<A,GroupKeyB_> groupKeyBMapping, UniConstraintCollector<A,ResultContainerC_,ResultC_> collectorC, UniConstraintCollector<A,ResultContainerD_,ResultD_> collectorD)` Combines the semantics of `UniConstraintStream.groupBy(Function, Function)` and `UniConstraintStream.groupBy(UniConstraintCollector)`.

  - ### Uses of QuadConstraintStream in org.optaplanner.core.impl.score.stream.bavet.bi

    Methods in org.optaplanner.core.impl.score.stream.bavet.bi that return QuadConstraintStream
    Modifier and Type | Method and Description
    --- | ---
    `<GroupKeyA_,GroupKeyB_,ResultContainerC_,ResultC_,ResultContainerD_,ResultD_> QuadConstraintStream<GroupKeyA_,GroupKeyB_,ResultC_,ResultD_>` | BavetAbstractBiConstraintStream.`groupBy(BiFunction<A,B,GroupKeyA_> groupKeyAMapping, BiFunction<A,B,GroupKeyB_> groupKeyBMapping, BiConstraintCollector<A,B,ResultContainerC_,ResultC_> collectorC, BiConstraintCollector<A,B,ResultContainerD_,ResultD_> collectorD)`

  - ### Uses of QuadConstraintStream in org.optaplanner.core.impl.score.stream.bavet.tri

    Methods in org.optaplanner.core.impl.score.stream.bavet.tri that return QuadConstraintStream
    Modifier and Type | Method and Description
    --- | ---
    `<GroupKeyA_,GroupKeyB_,ResultContainerC_,ResultC_,ResultContainerD_,ResultD_> QuadConstraintStream<GroupKeyA_,GroupKeyB_,ResultC_,ResultD_>` | BavetAbstractTriConstraintStream.`groupBy(TriFunction<A,B,C,GroupKeyA_> groupKeyAMapping, TriFunction<A,B,C,GroupKeyB_> groupKeyBMapping, TriConstraintCollector<A,B,C,ResultContainerC_,ResultC_> collectorC, TriConstraintCollector<A,B,C,ResultContainerD_,ResultD_> collectorD)`
    `<D> QuadConstraintStream<A,B,C,D>` | BavetAbstractTriConstraintStream.`join(UniConstraintStream<D> otherStream, QuadJoiner<A,B,C,D> joiner)`

  - ### Uses of QuadConstraintStream in org.optaplanner.core.impl.score.stream.bavet.uni

    Methods in org.optaplanner.core.impl.score.stream.bavet.uni that return QuadConstraintStream
    Modifier and Type | Method and Description
    --- | ---
    `<GroupKeyA_,GroupKeyB_,ResultContainerC_,ResultC_,ResultContainerD_,ResultD_> QuadConstraintStream<GroupKeyA_,GroupKeyB_,ResultC_,ResultD_>` | BavetAbstractUniConstraintStream.`groupBy(Function<A,GroupKeyA_> groupKeyAMapping, Function<A,GroupKeyB_> groupKeyBMapping, UniConstraintCollector<A,ResultContainerC_,ResultC_> collectorC, UniConstraintCollector<A,ResultContainerD_,ResultD_> collectorD)`

  - ### Uses of QuadConstraintStream in org.optaplanner.core.impl.score.stream.drools.bi

    Methods in org.optaplanner.core.impl.score.stream.drools.bi that return QuadConstraintStream
    Modifier and Type | Method and Description
    --- | ---
    `<GroupKeyA_,GroupKeyB_,ResultContainerC_,ResultC_,ResultContainerD_,ResultD_> QuadConstraintStream<GroupKeyA_,GroupKeyB_,ResultC_,ResultD_>` | DroolsAbstractBiConstraintStream.`groupBy(BiFunction<A,B,GroupKeyA_> groupKeyAMapping, BiFunction<A,B,GroupKeyB_> groupKeyBMapping, BiConstraintCollector<A,B,ResultContainerC_,ResultC_> collectorC, BiConstraintCollector<A,B,ResultContainerD_,ResultD_> collectorD)`

  - ### Uses of QuadConstraintStream in org.optaplanner.core.impl.score.stream.drools.quad

    Classes in org.optaplanner.core.impl.score.stream.drools.quad that implement QuadConstraintStream
    Modifier and Type | Class and Description
    --- | ---
    `class` | `DroolsAbstractQuadConstraintStream<Solution_,A,B,C,D>`
    `class` | `DroolsExistsQuadConstraintStream<Solution_,A,B,C,D>`
    `class` | `DroolsFilterQuadConstraintStream<Solution_,A,B,C,D>`
    `class` | `DroolsGroupingQuadConstraintStream<Solution_,NewA,NewB,NewC,NewD>`
    `class` | `DroolsJoinQuadConstraintStream<Solution_,A,B,C,D>`
    `class` | `DroolsScoringQuadConstraintStream<Solution_,A,B,C,D>`

    Methods in org.optaplanner.core.impl.score.stream.drools.quad that return QuadConstraintStream
    Modifier and Type | Method and Description
    --- | ---
    `QuadConstraintStream<A,B,C,D>` | DroolsAbstractQuadConstraintStream.`filter(QuadPredicate<A,B,C,D> predicate)`
    `<GroupKeyA_,GroupKeyB_,ResultContainerC_,ResultC_,ResultContainerD_,ResultD_> QuadConstraintStream<GroupKeyA_,GroupKeyB_,ResultC_,ResultD_>` | DroolsAbstractQuadConstraintStream.`groupBy(QuadFunction<A,B,C,D,GroupKeyA_> groupKeyAMapping, QuadFunction<A,B,C,D,GroupKeyB_> groupKeyBMapping, QuadConstraintCollector<A,B,C,D,ResultContainerC_,ResultC_> collectorC, QuadConstraintCollector<A,B,C,D,ResultContainerD_,ResultD_> collectorD)`
    `<E> QuadConstraintStream<A,B,C,D>` | DroolsAbstractQuadConstraintStream.`ifExists(Class<E> otherClass, PentaJoiner<A,B,C,D,E>... joiners)`
    `<E> QuadConstraintStream<A,B,C,D>` | DroolsAbstractQuadConstraintStream.`ifNotExists(Class<E> otherClass, PentaJoiner<A,B,C,D,E>... joiners)`

  - ### Uses of QuadConstraintStream in org.optaplanner.core.impl.score.stream.drools.tri

    Methods in org.optaplanner.core.impl.score.stream.drools.tri that return QuadConstraintStream
    Modifier and Type | Method and Description
    --- | ---
    `<GroupKeyA_,GroupKeyB_,ResultContainerC_,ResultC_,ResultContainerD_,ResultD_> QuadConstraintStream<GroupKeyA_,GroupKeyB_,ResultC_,ResultD_>` | DroolsAbstractTriConstraintStream.`groupBy(TriFunction<A,B,C,GroupKeyA_> groupKeyAMapping, TriFunction<A,B,C,GroupKeyB_> groupKeyBMapping, TriConstraintCollector<A,B,C,ResultContainerC_,ResultC_> collectorC, TriConstraintCollector<A,B,C,ResultContainerD_,ResultD_> collectorD)`
    `<D> QuadConstraintStream<A,B,C,D>` | DroolsAbstractTriConstraintStream.`join(UniConstraintStream<D> otherStream, QuadJoiner<A,B,C,D> joiner)`

  - ### Uses of QuadConstraintStream in org.optaplanner.core.impl.score.stream.drools.uni

    Methods in org.optaplanner.core.impl.score.stream.drools.uni that return QuadConstraintStream
    Modifier and Type | Method and Description
    --- | ---
    `<GroupKeyA_,GroupKeyB_,ResultContainerC_,ResultC_,ResultContainerD_,ResultD_> QuadConstraintStream<GroupKeyA_,GroupKeyB_,ResultC_,ResultD_>` | DroolsAbstractUniConstraintStream.`groupBy(Function<A,GroupKeyA_> groupKeyAMapping, Function<A,GroupKeyB_> groupKeyBMapping, UniConstraintCollector<A,ResultContainerC_,ResultC_> collectorC, UniConstraintCollector<A,ResultContainerD_,ResultD_> collectorD)`

  - ### Uses of QuadConstraintStream in org.optaplanner.core.impl.score.stream.quad

    Subinterfaces of QuadConstraintStream in org.optaplanner.core.impl.score.stream.quad
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `InnerQuadConstraintStream<A,B,C,D>`

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