20 lines
452 B
Java
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));
|
|
}
|
|
}
|