# Interface FailablePredicate<T, E extends Throwable>

Type Parameters:
  `T` - Predicate type.
  `E` - The kind of thrown exception or error.

Functional Interface:
  This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface FailablePredicate<T, E extends Throwable>
A functional interface like `Predicate` that declares a `Throwable`.

Since:
  3.11

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final FailablePredicate`
  `FALSE`
  FALSE singleton
  `static final FailablePredicate`
  `TRUE`
  TRUE singleton

- ## Method Summary

  Modifier and Type
  Method
  Description
  `default FailablePredicate<T,E>`
  `and(FailablePredicate<? super T, E> other)`
  Returns a composed `FailablePredicate` like `Predicate.and(Predicate)`.
  `static <T, E extends Throwable>
  FailablePredicate<T,E>`
  `falsePredicate()`
  Gets the FALSE singleton.
  `default FailablePredicate<T,E>`
  `negate()`
  Returns a predicate that negates this predicate.
  `default FailablePredicate<T,E>`
  `or(FailablePredicate<? super T, E> other)`
  Returns a composed `FailablePredicate` like `Predicate.and(Predicate)`.
  `boolean`
  `test(T object)`
  Tests the predicate.
  `static <T, E extends Throwable>
  FailablePredicate<T,E>`
  `truePredicate()`
  Gets the TRUE singleton.

- ## Field Details

  - ### FALSE

    static final FailablePredicate FALSE
    FALSE singleton

  - ### TRUE

    static final FailablePredicate TRUE
    TRUE singleton

- ## Method Details

  - ### falsePredicate

    static <T, E extends Throwable> FailablePredicate<T,E> falsePredicate()
    Gets the FALSE singleton.
    Type Parameters:
      `T` - Predicate type.
      `E` - The kind of thrown exception or error.
    Returns:
      The NOP singleton.

  - ### truePredicate

    static <T, E extends Throwable> FailablePredicate<T,E> truePredicate()
    Gets the TRUE singleton.
    Type Parameters:
      `T` - Predicate type.
      `E` - The kind of thrown exception or error.
    Returns:
      The NOP singleton.

  - ### and

    default FailablePredicate<T,E> and(FailablePredicate<? super T, E> other)
    Returns a composed `FailablePredicate` like `Predicate.and(Predicate)`.
    Parameters:
      `other` - a predicate that will be logically-ANDed with this predicate.
    Returns:
      a composed `FailablePredicate` like `Predicate.and(Predicate)`.
    Throws:
      `NullPointerException` - if other is null

  - ### negate

    default FailablePredicate<T,E> negate()
    Returns a predicate that negates this predicate.
    Returns:
      a predicate that negates this predicate.

  - ### or

    default FailablePredicate<T,E> or(FailablePredicate<? super T, E> other)
    Returns a composed `FailablePredicate` like `Predicate.and(Predicate)`.
    Parameters:
      `other` - a predicate that will be logically-ORed with this predicate.
    Returns:
      a composed `FailablePredicate` like `Predicate.and(Predicate)`.
    Throws:
      `NullPointerException` - if other is null

  - ### test

    boolean test(T object) throws E
    Tests the predicate.
    Parameters:
      `object` - the object to test the predicate on
    Returns:
      the predicate's evaluation
    Throws:
      `E` - if the predicate fails