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