Package org.apache.commons.io.function

# Interface IOPredicate<T>

Type Parameters:
  `T` - the type of the input to the predicate.

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 IOPredicate<T>
Like `Predicate` but throws `IOException`.

Since:
  2.12.0

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static <T> IOPredicate<T>`
  `alwaysFalse()`
  Always false.
  `static <T> IOPredicate<T>`
  `alwaysTrue()`
  Always true.
  `default IOPredicate<T>`
  `and(IOPredicate<? super T> other)`
  Creates a composed predicate that represents a short-circuiting logical AND of this predicate and another.
  `default Predicate<T>`
  `asPredicate()`
  Creates a `Predicate` for this instance that throws `UncheckedIOException` instead of `IOException`.
  `static <T> IOPredicate<T>`
  `isEqual(Object target)`
  Creates a predicate that tests if two arguments are equal using `Objects.equals(Object, Object)`.
  `default IOPredicate<T>`
  `negate()`
  Creates a predicate that represents the logical negation of this predicate.
  `default IOPredicate<T>`
  `or(IOPredicate<? super T> other)`
  Creates a composed predicate that represents a short-circuiting logical OR of this predicate and another.
  `boolean`
  `test(T t)`
  Evaluates this predicate on the given argument.

- ## Method Details

  - ### alwaysFalse

    static <T> IOPredicate<T> alwaysFalse()
    Always false.
    Type Parameters:
      `T` - the type of the input to the predicate.
    Returns:
      a constant predicate that tests always false.

  - ### alwaysTrue

    static <T> IOPredicate<T> alwaysTrue()
    Always true.
    Type Parameters:
      `T` - the type of the input to the predicate.
    Returns:
      a constant predicate that tests always true.

  - ### isEqual

    static <T> IOPredicate<T> isEqual(Object target)
    Creates a predicate that tests if two arguments are equal using `Objects.equals(Object, Object)`.
    Type Parameters:
      `T` - the type of arguments to the predicate.
    Parameters:
      `target` - the object to compare for equality, may be `null`
    Returns:
      a predicate that tests if two arguments are equal using `Objects.equals(Object, Object)`

  - ### and

    default IOPredicate<T> and(IOPredicate<? super T> other)
    Creates a composed predicate that represents a short-circuiting logical AND of this predicate and another. When evaluating the composed predicate, if this predicate is `false`, then the `other` predicate is not evaluated.

    Any exceptions thrown during evaluation of either predicate are relayed to the caller; if evaluation of this predicate throws an exception, the `other` predicate will not be evaluated.

    Parameters:
      `other` - a predicate that will be logically-ANDed with this predicate.
    Returns:
      a composed predicate that represents the short-circuiting logical AND of this predicate and the `other` predicate.
    Throws:
      `NullPointerException` - if other is null.

  - ### asPredicate

    default Predicate<T> asPredicate()
    Creates a `Predicate` for this instance that throws `UncheckedIOException` instead of `IOException`.
    Returns:
      an UncheckedIOException Predicate.

  - ### negate

    default IOPredicate<T> negate()
    Creates a predicate that represents the logical negation of this predicate.
    Returns:
      a predicate that represents the logical negation of this predicate.

  - ### or

    default IOPredicate<T> or(IOPredicate<? super T> other)
    Creates a composed predicate that represents a short-circuiting logical OR of this predicate and another. When evaluating the composed predicate, if this predicate is `true`, then the `other` predicate is not evaluated.

    Any exceptions thrown during evaluation of either predicate are relayed to the caller; if evaluation of this predicate throws an exception, the `other` predicate will not be evaluated.

    Parameters:
      `other` - a predicate that will be logically-ORed with this predicate.
    Returns:
      a composed predicate that represents the short-circuiting logical OR of this predicate and the `other` predicate.
    Throws:
      `NullPointerException` - if other is null.

  - ### test

    boolean test(T t) throws IOException
    Evaluates this predicate on the given argument.
    Parameters:
      `t` - the input argument.
    Returns:
      `true` if the input argument matches the predicate, otherwise `false`
    Throws:
      `IOException` - if an I/O error occurs.