org.tenio.interstellar.functions.Function11 Maven / Gradle / Ivy
package org.tenio.interstellar.functions;
import java.io.Serializable;
import java.util.Objects;
import java.util.function.Function;
/**
* TODO
*
* @author: Ban Tenio
* @version: 1.0
*
* @param TODO
* @param TODO
* @param TODO
* @param TODO
* @param TODO
* @param TODO
* @param TODO
* @param TODO
* @param TODO
* @param TODO
* @param TODO
* @param TODO
*/
@FunctionalInterface
public interface Function11 extends Serializable, Invoker {
/**
*
* TODO
*
* @param p1 TODO
* @param p2 TODO
* @param p3 TODO
* @param p4 TODO
* @param p5 TODO
* @param p6 TODO
* @param p7 TODO
* @param p8 TODO
* @param p9 TODO
* @param p10 TODO
* @param p11 TODO
* @return TODO
*/
R apply(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9, P10 p10, P11 p11);
/**
*
* TODO
*
* @param after TODO
* @return TODO
* @param TODO
*/
default Function11 andThen(Function super R, ? extends V> after) {
Objects.requireNonNull(after);
return (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9, P10 p10, P11 p11) -> after.apply(apply(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11));
}
default Object invoke(Object[] args) {
return apply((P1) args[0], (P2) args[1], (P3) args[2], (P4) args[3], (P5) args[4], (P6) args[5], (P7) args[6], (P8) args[7], (P9) args[8], (P10) args[9], (P11) args[10]);
}
default boolean hasResult() {
return true;
}
}