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

- - ### Field Summary

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

  - ### Method Summary

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

    - #### NOOP_IO_CONSUMER

          static final IOConsumer<?> NOOP_IO_CONSUMER

      Consider private.

  - ### Method Detail

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

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

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

    - #### forAll

          static <T> void forAll(IOConsumer<T> action,
                                 java.util.stream.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.

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

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

    - #### forEach

          static <T> void forEach(java.util.stream.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.

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

    - #### noop

          static <T> IOConsumer<T> noop()

      Returns the constant no-op consumer.
      Type Parameters:
        `T` - Type consumer type.
      Returns:
        a constant no-op consumer.