|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | |||||||||
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.VarArgFunction
org.luaj.vm2.lib.jse.LuajavaLib
public class LuajavaLib
Subclass of LibFunction
which implements the features of the luajava package.
Luajava is an approach to mixing lua and java using simple functions that bind java classes and methods to lua dynamically. The API is documented on the luajava documentation pages.
Typically, this library is included as part of a call to
JsePlatform.standardGlobals()
Globals globals = JsePlatform.standardGlobals();
System.out.println( globals.get("luajava").get("bindClass").call( LuaValue.valueOf("java.lang.System") ).invokeMethod("currentTimeMillis") );
To instantiate and use it directly,
link it into your globals table via Globals.load(java.lang.String, java.lang.String)
using code such as:
Globals globals = new Globals();
globals.load(new JseBaseLib());
globals.load(new PackageLib());
globals.load(new LuajavaLib());
globals.load(
"sys = luajava.bindClass('java.lang.System')\n"+
"print ( sys:currentTimeMillis() )\n", "main.lua" ).call();
The luajava
library is available
on all JSE platforms via the call to JsePlatform.standardGlobals()
and the luajava api's are simply invoked from lua.
Because it makes extensive use of Java's reflection API, it is not available
on JME, but can be used in Android applications.
This has been implemented to match as closely as possible the behavior in the corresponding library in C.
LibFunction
,
JsePlatform
,
JmePlatform
,
LuaC
,
CoerceJavaToLua
,
CoerceLuaToJava
,
http://www.keplerproject.org/luajava/manual.html#luareferenceField Summary |
---|
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 | |
---|---|
LuajavaLib()
|
Method Summary | |
---|---|
protected java.lang.Class |
classForName(java.lang.String name)
|
Varargs |
invoke(Varargs args)
Subclass responsibility. |
Methods inherited from class org.luaj.vm2.lib.VarArgFunction |
---|
call, call, call, call, onInvoke |
Methods inherited from class org.luaj.vm2.lib.LibFunction |
---|
bind, bind, call, newupe, newupl, newupn, tojstring |
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 |
Constructor Detail |
---|
public LuajavaLib()
Method Detail |
---|
public Varargs invoke(Varargs args)
VarArgFunction
invoke
in class VarArgFunction
args
- the arguments to the function call.
Varargs
instance.LuaValue.varargsOf(LuaValue[])
,
LuaValue.call(LuaValue)
,
LuaValue.invoke()
,
LuaValue.invoke(LuaValue,Varargs)
,
LuaValue.invokemethod(String,Varargs)
,
LuaValue.invokemethod(LuaValue,Varargs)
protected java.lang.Class classForName(java.lang.String name) throws java.lang.ClassNotFoundException
java.lang.ClassNotFoundException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |