Package org.apache.commons.io.function

# Interface IOConsumer<T>

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

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 IOConsumer<T>
Like `Consumer` but throws `IOException`.

Since:
  2.7

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final IOConsumer<?>`
  `NOOP_IO_CONSUMER`
  Consider private.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `accept(T t)`
  Performs this operation on the given argument.
  `default IOConsumer<T>`
  `andThen(IOConsumer<? super T> after)`
  Returns a composed `IOConsumer` that performs, in sequence, this operation followed by the `after` operation.
  `default Consumer<T>`
  `asConsumer()`
  Creates a `Consumer` for this instance that throws `UncheckedIOException` instead of `IOException`.
  `static <T> void`
  `forAll(IOConsumer<T> action, Iterable<T> iterable)`
  Performs an action for each element of the collection gathering any exceptions.
  `static <T> void`
  `forAll(IOConsumer<T> action, Stream<T> stream)`
  Performs an action for each element of the collection gathering any exceptions.
  `static <T> void`
  `forAll(IOConsumer<T> action, T... array)`
  Performs an action for each element of the array, gathering any exceptions.
  `static <T> void`
  `forEach(Iterable<T> iterable, IOConsumer<T> action)`
  Performs an action for each element of the collection, stopping at the first exception.
  `static <T> void`
  `forEach(Stream<T> stream, IOConsumer<T> action)`
  Performs an action for each element of the stream, stopping at the first exception.
  `static <T> void`
  `forEach(T[] array, IOConsumer<T> action)`
  Performs an action for each element of this array, stopping at the first exception.
  `static <T> IOConsumer<T>`
  `noop()`
  Returns the constant no-op consumer.

- ## Field Details

  - ### NOOP_IO_CONSUMER

    static final IOConsumer<?> NOOP_IO_CONSUMER
    Consider private.

- ## Method Details

  - ### forAll

    static <T> void forAll(IOConsumer<T> action, Iterable<T> iterable) throws IOExceptionList
    Performs an action for each element of the collection gathering any exceptions.
    Type Parameters:
      `T` - The element type.
    Parameters:
      `action` - The action to apply to each input element.
      `iterable` - The input to stream.
    Throws:
      `IOExceptionList` - if any I/O errors occur.
    Since:
      2.12.0

  - ### forAll

    static <T> void forAll(IOConsumer<T> action, Stream<T> stream) throws IOExceptionList
    Performs an action for each element of the collection gathering any exceptions.
    Type Parameters:
      `T` - The element type.
    Parameters:
      `action` - The action to apply to each input element.
      `stream` - The input to stream.
    Throws:
      `IOExceptionList` - if any I/O errors occur.
    Since:
      2.12.0

  - ### forAll

    @SafeVarargs static <T> void forAll(IOConsumer<T> action, T... array) throws IOExceptionList
    Performs an action for each element of the array, gathering any exceptions.
    Type Parameters:
      `T` - The element type.
    Parameters:
      `action` - The action to apply to each input element.
      `array` - The input to stream.
    Throws:
      `IOExceptionList` - if any I/O errors occur.
    Since:
      2.12.0

  - ### forEach

    static <T> void forEach(Iterable<T> iterable, IOConsumer<T> action) throws IOException
    Performs an action for each element of the collection, stopping at the first exception.
    Type Parameters:
      `T` - The element type.
    Parameters:
      `iterable` - The input to stream.
      `action` - The action to apply to each input element.
    Throws:
      `IOException` - if an I/O error occurs.
    Since:
      2.12.0

  - ### forEach

    static <T> void forEach(Stream<T> stream, IOConsumer<T> action) throws IOException
    Performs an action for each element of the stream, stopping at the first exception.
    Type Parameters:
      `T` - The element type.
    Parameters:
      `stream` - The input to stream.
      `action` - The action to apply to each input element.
    Throws:
      `IOException` - if an I/O error occurs.
    Since:
      2.12.0

  - ### forEach

    static <T> void forEach(T[] array, IOConsumer<T> action) throws IOException
    Performs an action for each element of this array, stopping at the first exception.
    Type Parameters:
      `T` - The element type.
    Parameters:
      `array` - The input to stream.
      `action` - The action to apply to each input element.
    Throws:
      `IOException` - if an I/O error occurs.
    Since:
      2.12.0

  - ### noop

    static <T> IOConsumer<T> noop()
    Returns the constant no-op consumer.
    Type Parameters:
      `T` - Type consumer type.
    Returns:
      a constant no-op consumer.
    Since:
      2.9.0

  - ### accept

    void accept(T t) throws IOException
    Performs this operation on the given argument.
    Parameters:
      `t` - the input argument
    Throws:
      `IOException` - if an I/O error occurs.

  - ### andThen

    default IOConsumer<T> andThen(IOConsumer<? super T> after)
    Returns a composed `IOConsumer` that performs, in sequence, this operation followed by the `after` operation. If performing either operation throws an exception, it is relayed to the caller of the composed operation. If performing this operation throws an exception, the `after` operation will not be performed.
    Parameters:
      `after` - the operation to perform after this operation
    Returns:
      a composed `Consumer` that performs in sequence this operation followed by the `after` operation
    Throws:
      `NullPointerException` - if `after` is null

  - ### asConsumer

    default Consumer<T> asConsumer()
    Creates a `Consumer` for this instance that throws `UncheckedIOException` instead of `IOException`.
    Returns:
      an UncheckedIOException Consumer.
    Since:
      2.12.0