package se.krka.kahlua.annotation; import se.krka.kahlua.integration.annotations.LuaConstructor; import se.krka.kahlua.integration.annotations.Desc; import se.krka.kahlua.integration.annotations.LuaClass; import se.krka.kahlua.integration.annotations.LuaMethod; @LuaClass @Desc("This is a base class description") public class BaseAnnotationClass { @LuaConstructor(name="NewBase") @Desc("This is a base class constructor description") public BaseAnnotationClass() { } public int foo; public String bar; @LuaMethod public void baseDoStuff() { } @LuaMethod public void baseMethodWithArgs(int foo, String bar) { this.foo = foo; this.bar = bar; } @LuaMethod @Desc("This is a base class method description") public String baseMethod2() { return "Base"; } @LuaMethod @Desc("Method with varargs") public String withVarargs(String joinWith, String... strings) { StringBuilder stringBuilder = new StringBuilder(); boolean first = true; for (String string : strings) { if (first) { first = false; } else { stringBuilder.append(joinWith); } stringBuilder.append(string); } return stringBuilder.toString(); } }