package se.krka.kahlua.annotation;
import se.krka.kahlua.integration.expose.ReturnValues;
import se.krka.kahlua.integration.annotations.Desc;
import se.krka.kahlua.integration.annotations.LuaClass;
import se.krka.kahlua.integration.annotations.LuaMethod;
@LuaClass
public class InheritedAnnotationClass extends BaseAnnotationClass {
public String zomg;
public int imba;
public String s;
public double d;
public boolean b;
public int i;
public int x;
public int y;
@LuaMethod
public void inheritedMethodWithArgs(String zomg, int imba) {
this.zomg = zomg;
this.imba = imba;
}
@LuaMethod
public void inheritedMethodWithMultipleReturns(ReturnValues r) {
r.push("Hello");
r.push("World");
}
@LuaMethod
public void inheritedMethodWithMultipleReturns2(ReturnValues r, String a) {
r.push(a + "Hello");
r.push(a + "World");
}
@LuaMethod(global = true)
public void myGlobalFunction(String s, double d, boolean b, int i) {
this.s = s;
this.d = d;
this.b = b;
this.i = i;
}
@LuaMethod(global = true, name = "myGlobalFunction2")
public void myGlobalFunction2(@Desc("x*y, x+y") ReturnValues r, @Desc("An integer") int x, @Desc("Another integer") int y) {
this.x = x;
this.y = y;
r.push(x * y);
r.push(x + y);
}
@LuaMethod
public @Desc("always 'inherited'") String baseMethod2() {
return "Inherited";
}
@LuaMethod(global=true)
public static String staticMethod() {
return "Hello world";
}
}