Package org.apache.commons.io.function

# Interface IOBinaryOperator<T>

Type Parameters:
  `T` - the type of the operands and result of the operator.

All Superinterfaces:
  `IOBiFunction<T,T,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 IOBinaryOperator<T> extends IOBiFunction<T,T,T>
Like `BinaryOperator` but throws `IOException`.

Since:
  2.12.0
See Also:
  - `IOBiFunction`
  - `BinaryOperator`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `default BinaryOperator<T>`
  `asBinaryOperator()`
  Creates a `BinaryOperator` for this instance that throws `UncheckedIOException` instead of `IOException`.
  `static <T> IOBinaryOperator<T>`
  `maxBy(IOComparator<? super T> comparator)`
  Creates a `IOBinaryOperator` which returns the greater of two elements according to the specified `Comparator`.
  `static <T> IOBinaryOperator<T>`
  `minBy(IOComparator<? super T> comparator)`
  Creates a `IOBinaryOperator` which returns the lesser of two elements according to the specified `Comparator`.

  ### Methods inherited from interface org.apache.commons.io.function.IOBiFunction

  `andThen, apply, asBiFunction`

- ## Method Details

  - ### maxBy

    static <T> IOBinaryOperator<T> maxBy(IOComparator<? super T> comparator)
    Creates a `IOBinaryOperator` which returns the greater of two elements according to the specified `Comparator`.
    Type Parameters:
      `T` - the type of the input arguments of the comparator
    Parameters:
      `comparator` - a `Comparator` for comparing the two values
    Returns:
      a `BinaryOperator` which returns the greater of its operands, according to the supplied `Comparator`
    Throws:
      `NullPointerException` - if the argument is null

  - ### minBy

    static <T> IOBinaryOperator<T> minBy(IOComparator<? super T> comparator)
    Creates a `IOBinaryOperator` which returns the lesser of two elements according to the specified `Comparator`.
    Type Parameters:
      `T` - the type of the input arguments of the comparator
    Parameters:
      `comparator` - a `Comparator` for comparing the two values
    Returns:
      a `BinaryOperator` which returns the lesser of its operands, according to the supplied `Comparator`
    Throws:
      `NullPointerException` - if the argument is null

  - ### asBinaryOperator

    default BinaryOperator<T> asBinaryOperator()
    Creates a `BinaryOperator` for this instance that throws `UncheckedIOException` instead of `IOException`.
    Returns:
      an unchecked BiFunction.