org.organicdesign.fp.function.package.html Maven / Gradle / Ivy
Show all versions of UncleJim Show documentation
Exception-friendly functional interfaces named by the number of arguments: Function0, Function1, Function2....
All of these have an applyEx()
method that that throws an Exception and returns a result.
Implementers should override the applyEx()
method (this happens automatically when you use Java 8's lambda syntax).
Each interface also has a default apply()
method for consumers of this function to call.
It re-throws all exceptions after wrapping any checked ones in unchecked RuntimeException
s.
For simplicity, there are no primitive versions of these functions, no "void" return types, and no special-purpose funny names.
If you don't want to return a result, declare the return type as ?
and return null.
Comparing just the Consumer interfaces from { @link java.util.function}:
java.util.function org.organicdesign.fp.function
Consumer<T> Function1<T,?>
DoubleConsumer Function1<Double,?>
IntConsumer Function1<Integer,?>
LongConsumer Function1<Long,?>
BiConsumer<T,U> Function2<T,U,?>
ObjDoubleConsumer<T> Function2<T,Double,?>
ObjIntConsumer<T> Function2<T,Integer,?>
ObjLongConsumer<T> Function2<T,Long,?>