# Uses of Interface
org.apache.commons.io.function.IOFunction

Packages that use IOFunction
Package
Description
org.apache.commons.io.function
Provides IO-only related functional interfaces for lambda expressions and method references.
org.apache.commons.io.output
Provides implementations of output classes, such as `OutputStream` and `Writer`.

- ## Uses of IOFunction in org.apache.commons.io.function

  Subinterfaces of IOFunction in org.apache.commons.io.function
  Modifier and Type
  Interface
  Description
  `interface`
  `IOUnaryOperator<T>`
  Like `UnaryOperator` but throws `IOException`.
  Methods in org.apache.commons.io.function that return IOFunction
  Modifier and Type
  Method
  Description
  `default <V> IOFunction<T,V>`
  IOFunction.`andThen(Function<? super R,? extends V> after)`
  Returns a composed `IOFunction` that first applies this function to its input, and then applies the `after` function to the result.
  `default <V> IOFunction<T,V>`
  IOFunction.`andThen(IOFunction<? super R,? extends V> after)`
  Returns a composed `IOFunction` that first applies this function to its input, and then applies the `after` function to the result.
  `default <V> IOFunction<V,R>`
  IOFunction.`compose(Function<? super V,? extends T> before)`
  Returns a composed `IOFunction` that first applies the `before` function to its input, and then applies this function to the result.
  `default <V> IOFunction<V,R>`
  IOFunction.`compose(IOFunction<? super V,? extends T> before)`
  Returns a composed `IOFunction` that first applies the `before` function to its input, and then applies this function to the result.
  `static <T> IOFunction<T,T>`
  IOFunction.`identity()`
  Returns a `IOFunction` that always returns its input argument.
  Methods in org.apache.commons.io.function with parameters of type IOFunction
  Modifier and Type
  Method
  Description
  `default <V> IOBiFunction<T,U,V>`
  IOBiFunction.`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.
  `default <V> IOFunction<T,V>`
  IOFunction.`andThen(IOFunction<? super R,? extends V> after)`
  Returns a composed `IOFunction` that first applies this function to its input, and then applies the `after` function to the result.
  `default <X> IOQuadFunction<T,U,V,W,X>`
  IOQuadFunction.`andThen(IOFunction<? super R,? extends X> after)`
  Creates a composed function that first applies this function to its input, and then applies the `after` function to the result.
  `default <W> IOTriFunction<T,U,V,W>`
  IOTriFunction.`andThen(IOFunction<? super R,? extends W> after)`
  Creates a composed function that first applies this function to its input, and then applies the `after` function to the result.
  `static <T, R> R`
  Uncheck.`apply(IOFunction<T,R> function, T t)`
  Applies an IO function with the given arguments.
  `default <V> IOFunction<V,R>`
  IOFunction.`compose(IOFunction<? super V,? extends T> before)`
  Returns a composed `IOFunction` that first applies the `before` function to its input, and then applies this function to the result.
  `default <R> IOStream<R>`
  IOStream.`flatMap(IOFunction<? super T,? extends IOStream<? extends R>> mapper)`
  Like `Stream.flatMap(java.util.function.Function)`.
  `default DoubleStream`
  IOStream.`flatMapToDouble(IOFunction<? super T,? extends DoubleStream> mapper)`
  TODO Package-private for now, needs IODoubleStream? Adding this method now and an IO version later is an issue because call sites would have to type-cast to pick one.
  `default IntStream`
  IOStream.`flatMapToInt(IOFunction<? super T,? extends IntStream> mapper)`
  TODO Package-private for now, needs IOIntStream? Adding this method now and an IO version later is an issue because call sites would have to type-cast to pick one.
  `default LongStream`
  IOStream.`flatMapToLong(IOFunction<? super T,? extends LongStream> mapper)`
  TODO Package-private for now, needs IOLongStream? Adding this method now and an IO version later is an issue because call sites would have to type-cast to pick one.
  `default <R> IOStream<R>`
  IOStream.`map(IOFunction<? super T,? extends R> mapper)`
  Like `Stream.map(java.util.function.Function)`.

- ## Uses of IOFunction in org.apache.commons.io.output

  Constructors in org.apache.commons.io.output with parameters of type IOFunction
  Modifier
  Constructor
  Description
  ``
  `ThresholdingOutputStream(int threshold, IOConsumer<ThresholdingOutputStream> thresholdConsumer, IOFunction<ThresholdingOutputStream,OutputStream> outputStreamGetter)`
  Constructs an instance of this class which will trigger an event at the specified threshold.