private Log log = new Log(5);
@Override
protected void setup(VaadinRequest request) {
addComponent(log);
final JavaScript js = JavaScript.getCurrent();
js.addFunction("testing.doTest", new JavaScriptFunction() {
@Override
public void call(JsonArray arguments) {
log.log("Got " + arguments.length() + " arguments");
log.log("Argument 1 as a number: " + (int) arguments.getNumber(0));
log.log("Argument 2 as a string: " + arguments.getString(1));
log.log("Argument 3.p as a boolean: "
+ arguments.getObject(2).getBoolean("p"));
log.log("Argument 4 is JSONObject.NULL: "
+ (arguments.get(3) instanceof JsonNull));
js.removeFunction("testing.doTest");
}
});
js.execute("window.testing.doTest(42, 'text', {p: true}, null)");
}