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`.

- - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and 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 java.util.function.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 Detail

    - #### 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.

    - #### 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 java.util.function.Predicate<T> asPredicate()

      Creates a `Predicate` for this instance that throws `UncheckedIOException` instead of `IOException`.
      Returns:
        an UncheckedIOException Predicate.

    - #### 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)`

    - #### 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.