package anywheresoftware.b4j.luaj;
import org.luaj.vm2.*;
import org.luaj.vm2.lib.ZeroArgFunction;
import org.luaj.vm2.lib.jse.CoerceJavaToLua;
import org.luaj.vm2.lib.jse.JsePlatform;
import anywheresoftware.b4a.BA.ShortName;
import anywheresoftware.b4a.debug.*;
import java.io.*;
import java.nio.ByteBuffer;
import java.util.Collections;
@ShortName ("LuaJ")
public class Luaj {
Globals globals = JsePlatform.standardGlobals();
public static class MyClass {
public static String variable = "variable-value";
public String field = "field-value";
public static String func() {
return "function-result";
}
public String method() {
return "method-result";
}
}
public String LoadLua(String script){
// create an environment to run in
//Globals globals = JsePlatform.standardGlobals();
LuaValue instance = CoerceJavaToLua.coerce(new MyClass());
globals.set("obj", instance);
// Use the convenience function on Globals to load a chunk.
LuaValue chunk = globals.load(script);
// Use any of the "call()" or "invoke()" functions directly on the chunk.
chunk.call();
return "Sucess";
}
public void RegisterClassToLua(Object c,String className) throws IllegalAccessException {
LuaValue instance = CoerceJavaToLua.coerce(c);
globals.set(className, instance);
// Use the convenience function on Globals to load a chunk.
//LuaValue chunk = globals.load(script);
}
}