Abstract base class for Java function implementations that take no arguments and return one value.
Subclasses need only implement {@link LuaValue#call()} to complete this class, simplifying development. All other uses of {@link #call(LuaValue)}, {@link #invoke(Varargs)},etc, are routed through this method by this class.
If one or more arguments are required, or variable argument or variable return values, then use one of the related function {@link OneArgFunction}, {@link TwoArgFunction}, {@link ThreeArgFunction}, or {@link VarArgFunction}.
See {@link LibFunction} for more information on implementation libraries and library functions.
@see #call()
@see LibFunction
@see OneArgFunction
@see TwoArgFunction
@see ThreeArgFunction
@see VarArgFunction