package bjc.functypes; import java.util.List; /** * Functional interface for a function that takes and returns an array of arguments * @author bjcul * * @param The argument type * @param The return type */ public interface VarArgFunction { /** * Apply this function * * @param inputs The inputs to apply it to * @return The results of applying it */ // It'd certainly be more convenient to have this return an array, but generics // + arrays do not play well together public List apply(@SuppressWarnings("unchecked") Input... inputs); }