## Uses of Interface
org.optaplanner.core.api.function.QuadPredicate

- Packages that use QuadPredicate
  Package | Description
  --- | ---
  org.optaplanner.core.api.function | Functions that are not available in `java.util.function`.
  org.optaplanner.core.api.score.stream | The `ConstraintStream` API: a way to define constraints for `Score` calculation.
  org.optaplanner.core.api.score.stream.quad | The `ConstraintStream` API for four matched facts.
  org.optaplanner.core.impl.score.stream.drools.quad |
  org.optaplanner.core.impl.score.stream.quad |
  org.optaplanner.core.impl.score.stream.tri |

- - ### Uses of QuadPredicate in org.optaplanner.core.api.function

    Methods in org.optaplanner.core.api.function that return QuadPredicate
    Modifier and Type | Method | Description
    --- | --- | ---
    `default QuadPredicate<A,​B,​C,​D>` | QuadPredicate.`and​(QuadPredicate<? super A,​? super B,​? super C,​? super D> other)` | Returns a composed predicate that represents a short-circuiting logical AND of this predicate and another.
    `default QuadPredicate<A,​B,​C,​D>` | QuadPredicate.`negate()` | Returns a predicate that represents the logical negation of this predicate.
    `default QuadPredicate<A,​B,​C,​D>` | QuadPredicate.`or​(QuadPredicate<? super A,​? super B,​? super C,​? super D> other)` | Returns a composed predicate that represents a short-circuiting logical OR of this predicate and another.

    Methods in org.optaplanner.core.api.function with parameters of type QuadPredicate
    Modifier and Type | Method | Description
    --- | --- | ---
    `default QuadPredicate<A,​B,​C,​D>` | QuadPredicate.`and​(QuadPredicate<? super A,​? super B,​? super C,​? super D> other)` | Returns a composed predicate that represents a short-circuiting logical AND of this predicate and another.
    `default QuadPredicate<A,​B,​C,​D>` | QuadPredicate.`or​(QuadPredicate<? super A,​? super B,​? super C,​? super D> other)` | Returns a composed predicate that represents a short-circuiting logical OR of this predicate and another.

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

    Methods in org.optaplanner.core.api.score.stream with parameters of type QuadPredicate
    Modifier and Type | Method | Description
    --- | --- | ---
    `static <A,​B,​C,​D> QuadJoiner<A,​B,​C,​D>` | Joiners.`filtering​(QuadPredicate<A,​B,​C,​D> filter)` |

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

    Methods in org.optaplanner.core.api.score.stream.quad with parameters of type QuadPredicate
    Modifier and Type | Method | 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 `test(Object, Object, Object, Object)` returns true.

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

    Methods in org.optaplanner.core.impl.score.stream.drools.quad with parameters of type QuadPredicate
    Modifier and Type | Method | Description
    --- | --- | ---
    `DroolsQuadCondition<A,​B,​C,​D,​PatternVar>` | DroolsQuadCondition.`andFilter​(QuadPredicate<A,​B,​C,​D> predicate)` |
    `QuadConstraintStream<A,​B,​C,​D>` | DroolsAbstractQuadConstraintStream.`filter​(QuadPredicate<A,​B,​C,​D> predicate)` |

    Constructors in org.optaplanner.core.impl.score.stream.drools.quad with parameters of type QuadPredicate
    Constructor | Description
    --- | ---
    `DroolsFilterQuadConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractQuadConstraintStream<Solution_,​A,​B,​C,​D> parent, QuadPredicate<A,​B,​C,​D> predicate)` |

    Constructor parameters in org.optaplanner.core.impl.score.stream.drools.quad with type arguments of type QuadPredicate
    Constructor | Description
    --- | ---
    `DroolsQuadCondition​(DroolsQuadRuleStructure<A,​B,​C,​D,​PatternVar> ruleStructure, DroolsCondition.ImmediatelyPreviousFilter<QuadPredicate<A,​B,​C,​D>> previousFilter)` |

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

    Methods in org.optaplanner.core.impl.score.stream.quad that return QuadPredicate
    Modifier and Type | Method | Description
    --- | --- | ---
    `QuadPredicate<A,​B,​C,​D>` | AbstractQuadJoiner.`getFilter()` |

    Constructors in org.optaplanner.core.impl.score.stream.quad with parameters of type QuadPredicate
    Constructor | Description
    --- | ---
    `AbstractQuadJoiner​(QuadPredicate<A,​B,​C,​D> filter)` |
    `FilteringQuadJoiner​(QuadPredicate<A,​B,​C,​D> filter)` |

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

    Methods in org.optaplanner.core.impl.score.stream.tri that return QuadPredicate
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected QuadPredicate<A,​B,​C,​D>` | TriConstraintStreamHelper.`extractPredicate​(QuadJoiner<A,​B,​C,​D> joiner)` |
    `protected QuadPredicate<A,​B,​C,​D>` | TriConstraintStreamHelper.`mergePredicates​(QuadPredicate<A,​B,​C,​D> predicate1, QuadPredicate<A,​B,​C,​D> predicate2)` |

    Methods in org.optaplanner.core.impl.score.stream.tri with parameters of type QuadPredicate
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected QuadConstraintStream<A,​B,​C,​D>` | TriConstraintStreamHelper.`filter​(QuadConstraintStream<A,​B,​C,​D> stream, QuadPredicate<A,​B,​C,​D> predicate)` |
    `protected QuadPredicate<A,​B,​C,​D>` | TriConstraintStreamHelper.`mergePredicates​(QuadPredicate<A,​B,​C,​D> predicate1, QuadPredicate<A,​B,​C,​D> predicate2)` |