/** * Returns a composed function that first applies this function to * its input, and then applies the {@code after} function to the result. * If evaluation of either function throws an exception, it is relayed to * the caller of the composed function. * * @param <V> the type of output of the {@code after} function, and of the * composed function * @param after the function to apply after this function is applied * @return a composed function that first applies this function and then * applies the {@code after} function * @throws NullPointerException if after is null * @since 0.1.0 */ default <V> Function5<A, B, C, D, E, V> andThen(Function<? super R, ? extends V> after) { Objects.requireNonNull(after); return (A a, B b, C c, D d, E e) -> after.apply(apply(a, b, c, d, e)); } }
/** * Returns a composed function that first applies this function to * its input, and then applies the {@code after} function to the result. * If evaluation of either function throws an exception, it is relayed to * the caller of the composed function. * * @param <V> the type of output of the {@code after} function, and of the * composed function * @param after the function to apply after this function is applied * @return a composed function that first applies this function and then * applies the {@code after} function * @throws NullPointerException if after is null * @since 0.1.0 */ default <V> Function5<A, B, C, D, E, V> andThen(Function<? super R, ? extends V> after) { Objects.requireNonNull(after); return (A a, B b, C c, D d, E e) -> after.apply(apply(a, b, c, d, e)); } }
function.apply(af.join(), bf.join(), cf.join(), df.join(), ef.join()));
function.apply(af.join(), bf.join(), cf.join(), df.join(), ef.join()));
.thenCompose(ignored -> function.apply(af.join(), bf.join(), cf.join(),
.thenCompose(ignored -> function.apply(af.join(), bf.join(), cf.join(),