1.1 --- a/ko-archetype/src/main/resources/archetype-resources/src/main/java/DataModel.java Wed Mar 12 20:26:58 2014 +0100
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,45 +0,0 @@
1.4 -package ${package};
1.5 -
1.6 -import net.java.html.json.ComputedProperty;
1.7 -import net.java.html.json.Function;
1.8 -import net.java.html.json.Model;
1.9 -import net.java.html.json.Property;
1.10 -
1.11 -/** Model annotation generates class Data with
1.12 - * one message property, boolean property and read only words property
1.13 - */
1.14 -@Model(className = "Data", properties = {
1.15 - @Property(name = "message", type = String.class),
1.16 - @Property(name = "on", type = boolean.class)
1.17 -})
1.18 -final class DataModel {
1.19 - @ComputedProperty static java.util.List<String> words(String message) {
1.20 - String[] arr = new String[6];
1.21 - String[] words = message == null ? new String[0] : message.split(" ", 6);
1.22 - for (int i = 0; i < 6; i++) {
1.23 - arr[i] = words.length > i ? words[i] : "!";
1.24 - }
1.25 - return java.util.Arrays.asList(arr);
1.26 - }
1.27 -
1.28 - @Function static void turnOn(Data model) {
1.29 - model.setOn(true);
1.30 - }
1.31 -
1.32 - @Function static void turnOff(final Data model) {
1.33 - confirmByUser("Really turn off?", new Runnable() {
1.34 - @Override
1.35 - public void run() {
1.36 - model.setOn(false);
1.37 - }
1.38 - });
1.39 - }
1.40 -
1.41 - /** Shows direct interaction with JavaScript */
1.42 - @net.java.html.js.JavaScriptBody(
1.43 - args = { "msg", "callback" },
1.44 - javacall = true,
1.45 - body = "alert(msg); callback.@java.lang.Runnable::run()();"
1.46 - )
1.47 - static native void confirmByUser(String msg, Runnable callback);
1.48 -}