algopattern/java/functionnal/TriFunction.java
2020-06-25 16:00:13 +02:00

20 lines
452 B
Java

package patterns.functionnal;
import java.util.Objects;
import java.util.function.Function;
/**
*
* @author pouyllau
*
*/
@FunctionalInterface
public interface TriFunction<A,B,C,R> {
R apply(A a, B b, C c);
default <V> TriFunction<A, B, C, V> andThen(
Function<? super R, ? extends V> after) {
Objects.requireNonNull(after);
return (A a, B b, C c) -> after.apply(apply(a, b, c));
}
}