Package org.apache.commons.io.function

# Interface IOBiFunction<T,U,R>

Type Parameters:
  `T` - the type of the first argument to the function.
  `U` - the type of the second argument to the function.
  `R` - the type of the result of the function.

All Known Subinterfaces:
  `IOBinaryOperator<T>`

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 IOBiFunction<T,U,R>
Like `BiFunction` but throws `IOException`.

This is a functional interface whose functional method is `apply(Object, Object)`.

Since:
  2.12.0
See Also:
  - `BiFunction`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `default <V> IOBiFunction<T,U,V>`
  `andThen(IOFunction<? super R,? extends V> after)`
  Creates a composed function that first applies this function to its input, and then applies the `after` function to the result.
  `R`
  `apply(T t, U u)`
  Applies this function to the given arguments.
  `default BiFunction<T,U,R>`
  `asBiFunction()`
  Creates a `BiFunction` for this instance that throws `UncheckedIOException` instead of `IOException`.

- ## Method Details

  - ### andThen

    default <V> IOBiFunction<T,U,V> andThen(IOFunction<? super R,? extends V> after)
    Creates a composed function that first applies this function to its input, and then applies the `after` function to the result. If evaluation of either function throws an exception, it is relayed to the caller of the composed function.
    Type Parameters:
      `V` - the type of output of the `after` function, and of the composed function.
    Parameters:
      `after` - the function to apply after this function is applied.
    Returns:
      a composed function that first applies this function and then applies the `after` function.
    Throws:
      `NullPointerException` - if after is null.

  - ### apply

    R apply(T t, U u) throws IOException
    Applies this function to the given arguments.
    Parameters:
      `t` - the first function argument.
      `u` - the second function argument.
    Returns:
      the function result.
    Throws:
      `IOException` - if an I/O error occurs.

  - ### asBiFunction

    default BiFunction<T,U,R> asBiFunction()
    Creates a `BiFunction` for this instance that throws `UncheckedIOException` instead of `IOException`.
    Returns:
      an UncheckedIOException BiFunction.