|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.luaj.vm2.Varargs
org.luaj.vm2.LuaValue
org.luaj.vm2.LuaFunction
org.luaj.vm2.lib.LibFunction
org.luaj.vm2.lib.TwoArgFunction
org.luaj.vm2.lib.PackageLib
public class PackageLib
Subclass of LibFunction
which implements the lua standard package and module
library functions.
Typically, this library is included as part of a call to either
JsePlatform#standardGlobals()
or JmePlatform#standardGlobals()
To instantiate and use it directly,
link it into your globals table via LuaValue.load(LuaValue)
using code such as:
Globals _G = new Globals();
_G.load(new BaseLib());
_G.load(new PackageLib());
System.out.println( _G.package_.require.call"foo") );
In practice, the first 3 lines of the above are minimal requirements to get
and initialize a globals table capable of basic require, print, and other functions,
so it is much more convenient to use the JsePlatform
and JmePlatform
utility classes instead.
This has been implemented to match as closely as possible the behavior in the corresponding library in C.
However, the default filesystem search semantics are different and delegated to the bas library
as outlined in the BaseLib
and JseBaseLib
documentation.
LibFunction
,
BaseLib
,
JseBaseLib
,
JsePlatform
,
JmePlatform
,
http://www.lua.org/manual/5.1/manual.html#5.3Nested Class Summary | |
---|---|
class |
PackageLib.java_searcher
|
static class |
PackageLib.loadlib
|
class |
PackageLib.lua_searcher
|
class |
PackageLib.preload_searcher
|
class |
PackageLib.require
require (modname) Loads the given module. |
class |
PackageLib.searchpath
|
Field Summary | |
---|---|
static java.lang.String |
DEFAULT_LUA_PATH
The default value to use for package.path. |
PackageLib.java_searcher |
java_searcher
Loader that loads as a Java class. |
PackageLib.lua_searcher |
lua_searcher
Loader that loads as a lua script using the lua path currently in PackageLib.searchpath |
PackageLib.preload_searcher |
preload_searcher
Loader that loads from preload table if found there |
Fields inherited from class org.luaj.vm2.lib.LibFunction |
---|
name, opcode |
Fields inherited from class org.luaj.vm2.LuaFunction |
---|
s_metatable |
Fields inherited from class org.luaj.vm2.LuaValue |
---|
ADD, CALL, CONCAT, DIV, EMPTYSTRING, ENV, EQ, FALSE, INDEX, LE, LEN, LT, METATABLE, MINUSONE, MOD, MODE, MUL, NEWINDEX, NIL, NILS, NONE, NOVALS, ONE, POW, SUB, TBOOLEAN, TFUNCTION, TINT, TLIGHTUSERDATA, TNIL, TNONE, TNUMBER, TOSTRING, TRUE, TSTRING, TTABLE, TTHREAD, TUSERDATA, TVALUE, TYPE_NAMES, UNM, ZERO |
Constructor Summary | |
---|---|
PackageLib()
|
Method Summary | |
---|---|
LuaValue |
call(LuaValue modname,
LuaValue env)
Call this with 2 arguments, including metatag processing,
and return only the first return value. |
void |
setIsLoaded(java.lang.String name,
LuaTable value)
Allow packages to mark themselves as loaded |
void |
setLuaPath(java.lang.String newLuaPath)
Set the lua path used by this library instance to a new value. |
static java.lang.String |
toClassname(java.lang.String filename)
Convert lua filename to valid class name |
java.lang.String |
tojstring()
Convert to human readable String for any type. |
Methods inherited from class org.luaj.vm2.lib.TwoArgFunction |
---|
call, call, call, invoke |
Methods inherited from class org.luaj.vm2.lib.LibFunction |
---|
bind, bind, call, newupe, newupl, newupn |
Methods inherited from class org.luaj.vm2.LuaFunction |
---|
checkfunction, classnamestub, getmetatable, isfunction, name, optfunction, strvalue, type, typename |
Methods inherited from class org.luaj.vm2.Varargs |
---|
argcheck, checkboolean, checkclosure, checkdouble, checkfunction, checkint, checkinteger, checkjstring, checklong, checknotnil, checknumber, checkstring, checktable, checkthread, checkuserdata, checkuserdata, checkvalue, eval, isfunction, isnil, isnoneornil, isnumber, isstring, istable, isTailcall, isthread, isuserdata, isvalue, optboolean, optclosure, optdouble, optfunction, optint, optinteger, optjstring, optlong, optnumber, optstring, opttable, optthread, optuserdata, optuserdata, optvalue, toboolean, tobyte, tochar, todouble, tofloat, toint, tojstring, tolong, toshort, touserdata, touserdata, type |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static java.lang.String DEFAULT_LUA_PATH
public PackageLib.preload_searcher preload_searcher
preload
table if found there
public PackageLib.lua_searcher lua_searcher
PackageLib.searchpath
public PackageLib.java_searcher java_searcher
Constructor Detail |
---|
public PackageLib()
Method Detail |
---|
public LuaValue call(LuaValue modname, LuaValue env)
LuaValue
this
with 2 arguments, including metatag processing,
and return only the first return value.
If this
is a LuaFunction
, call it,
and return only its first return value, dropping any others.
Otherwise, look for the CALL
metatag and call that.
If the return value is a Varargs
, only the 1st value will be returned.
To get multiple values, use LuaValue.invoke()
instead.
To call this
as a method call, use LuaValue.method(LuaValue)
instead.
call
in class TwoArgFunction
modname
- First argument to supply to the called functionenv
- Second argument to supply to the called function
(this(arg1,arg2))
, or NIL
if there were none.LuaValue.call()
,
LuaValue.call(LuaValue)
,
LuaValue.call(LuaValue, LuaValue, LuaValue)
,
#invoke(LuaValue,LuaValue)
,
LuaValue.method(String,LuaValue,LuaValue)
,
LuaValue.method(LuaValue,LuaValue,LuaValue)
public void setIsLoaded(java.lang.String name, LuaTable value)
public void setLuaPath(java.lang.String newLuaPath)
PackageLib.searchpath
to be used in subsequent searches.
public java.lang.String tojstring()
LuaValue
tojstring
in class LibFunction
LuaValue.tostring()
,
LuaValue.optjstring(String)
,
LuaValue.checkjstring()
,
LuaValue.isstring()
,
TSTRING
public static final java.lang.String toClassname(java.lang.String filename)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |