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

- Packages that use TriPredicate
  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.tri | The `ConstraintStream` API for tri-tuples.
  org.optaplanner.core.impl.score.stream.bavet.tri |
  org.optaplanner.core.impl.score.stream.bi |
  org.optaplanner.core.impl.score.stream.drools.tri |
  org.optaplanner.core.impl.score.stream.tri |

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

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

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

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

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

    Methods in org.optaplanner.core.api.score.stream.tri with parameters of type TriPredicate
    Modifier and Type | Method | Description
    --- | --- | ---
    `TriConstraintStream<A,​B,​C>` | TriConstraintStream.`filter​(TriPredicate<A,​B,​C> predicate)` | Exhaustively test each tuple of facts against the `TriPredicate` and match if `test(Object, Object, Object)` returns true.

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

    Methods in org.optaplanner.core.impl.score.stream.bavet.tri with parameters of type TriPredicate
    Modifier and Type | Method | Description
    --- | --- | ---
    `BavetAbstractTriConstraintStream<Solution_,​A,​B,​C>` | BavetAbstractTriConstraintStream.`filter​(TriPredicate<A,​B,​C> predicate)` |

    Constructors in org.optaplanner.core.impl.score.stream.bavet.tri with parameters of type TriPredicate
    Constructor | Description
    --- | ---
    `BavetFilterTriConstraintStream​(BavetConstraintFactory<Solution_> constraintFactory, BavetAbstractTriConstraintStream<Solution_,​A,​B,​C> parent, TriPredicate<A,​B,​C> predicate)` |
    `BavetFilterTriNode​(BavetConstraintSession session, int nodeOrder, BavetAbstractTriNode<A,​B,​C> parentNode, TriPredicate<A,​B,​C> predicate)` |

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

    Methods in org.optaplanner.core.impl.score.stream.bi that return TriPredicate
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected TriPredicate<A,​B,​C>` | BiConstraintStreamHelper.`extractPredicate​(TriJoiner<A,​B,​C> joiner)` |
    `protected TriPredicate<A,​B,​C>` | BiConstraintStreamHelper.`mergePredicates​(TriPredicate<A,​B,​C> predicate1, TriPredicate<A,​B,​C> predicate2)` |

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

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

    Methods in org.optaplanner.core.impl.score.stream.drools.tri with parameters of type TriPredicate
    Modifier and Type | Method | Description
    --- | --- | ---
    `DroolsTriCondition<A,​B,​C,​PatternVar>` | DroolsTriCondition.`andFilter​(TriPredicate<A,​B,​C> predicate)` |
    `TriConstraintStream<A,​B,​C>` | DroolsAbstractTriConstraintStream.`filter​(TriPredicate<A,​B,​C> predicate)` |

    Constructors in org.optaplanner.core.impl.score.stream.drools.tri with parameters of type TriPredicate
    Constructor | Description
    --- | ---
    `DroolsFilterTriConstraintStream​(DroolsConstraintFactory<Solution_> constraintFactory, DroolsAbstractTriConstraintStream<Solution_,​A,​B,​C> parent, TriPredicate<A,​B,​C> triPredicate)` |

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

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

    Constructors in org.optaplanner.core.impl.score.stream.tri with parameters of type TriPredicate
    Constructor | Description
    --- | ---
    `AbstractTriJoiner​(TriPredicate<A,​B,​C> filter)` |
    `FilteringTriJoiner​(TriPredicate<A,​B,​C> filter)` |