Class VarArgFunction

All Implemented Interfaces:
KryoSerializable
Direct Known Subclasses:
BaseLib._assert, BaseLib.collectgarbage, BaseLib.dofile, BaseLib.inext, BaseLib.ipairs, BaseLib.load, BaseLib.loadfile, BaseLib.next, BaseLib.pairs, BaseLib.pcall, BaseLib.print, BaseLib.select, BaseLib.xpcall, Bit32Lib.Bit32LibV, DebugLib.traceback, IoLib.IoLibV, JavaClass._findMethod, JavaClass.LuaMethodHandle, JavaMember, LuajavaLib, MathLib.frexp, MathLib.max, MathLib.min, MathLib.modf, OsLib.OsLibFunc, PackageLib.loadlib, PackageLib.lua_searcher, PackageLib.preload_searcher, PackageLib.searchpath, StringLib._byte, StringLib._char, StringLib._stringMethodWrapper, StringLib.contains, StringLib.dump, StringLib.endsWith, StringLib.find, StringLib.format, StringLib.gmatch, StringLib.gsub, StringLib.match, StringLib.rep, StringLib.replace, StringLib.replaceAll, StringLib.split, StringLib.startsWith, StringLib.sub, TableLib.insert, TableLib.pack, TableLib.remove, TableLib.sort, TableLib.unpack

public abstract class VarArgFunction extends LibFunction
Abstract base class for Java function implementations that takes varaiable arguments and returns multiple return values.

Subclasses need only implement LuaValue.invoke(Varargs) to complete this class, simplifying development. All other uses of call(LuaValue), LuaValue.invoke(),etc, are routed through this method by this class, converting arguments to Varargs and dropping or extending return values with nil values as required.

If between one and three arguments are required, and only one return value is returned, ZeroArgFunction, OneArgFunction, TwoArgFunction, or ThreeArgFunction.

See LibFunction for more information on implementation libraries and library functions.

See Also: