ko/archetype/src/main/resources/archetype-resources/src/main/java/DataModel.java
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Mon, 09 Sep 2013 17:34:30 +0200
changeset 1273 37ad459579bc
parent 1225 ko/archetype/src/main/resources/archetype-resources/src/main/java/TwitterClient.java@73c0973e8e0a
child 1433 3d696782eab9
permissions -rw-r--r--
Rewritting the archetype to be simpler and more easily modifiable to one's needs
     1 package ${package};
     2 
     3 import net.java.html.json.ComputedProperty;
     4 import net.java.html.json.Function;
     5 import net.java.html.json.Model;
     6 import net.java.html.json.Property;
     7 
     8 /** Model annotation generates class Data with 
     9  * one message property, boolean property and read only words property
    10  */
    11 @Model(className = "Data", properties = {
    12     @Property(name = "message", type = String.class),
    13     @Property(name = "on", type = boolean.class)
    14 })
    15 final class DataModel {
    16     @ComputedProperty static java.util.List<String> words(String message) {
    17         String[] arr = new String[6];
    18         String[] words = message == null ? new String[0] : message.split(" ", 6);
    19         for (int i = 0; i < 6; i++) {
    20             arr[i] = words.length > i ? words[i] : "!";
    21         }
    22         return java.util.Arrays.asList(arr);
    23     }
    24     
    25     @Function static void turnOn(Data model) {
    26         model.setOn(true);
    27     }
    28     @Function static void turnOff(Data model) {
    29         model.setOn(false);
    30     }
    31 }