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-- |
jaroslav@1202 | 1 |
package ${package}; |
jaroslav@1202 | 2 |
|
jaroslav@1202 | 3 |
import net.java.html.json.ComputedProperty; |
jaroslav@1202 | 4 |
import net.java.html.json.Function; |
jaroslav@1202 | 5 |
import net.java.html.json.Model; |
jaroslav@1202 | 6 |
import net.java.html.json.Property; |
jaroslav@1202 | 7 |
|
jaroslav@1273 | 8 |
/** Model annotation generates class Data with |
jaroslav@1273 | 9 |
* one message property, boolean property and read only words property |
jaroslav@1273 | 10 |
*/ |
jaroslav@1273 | 11 |
@Model(className = "Data", properties = { |
jaroslav@1273 | 12 |
@Property(name = "message", type = String.class), |
jaroslav@1273 | 13 |
@Property(name = "on", type = boolean.class) |
jaroslav@1202 | 14 |
}) |
jaroslav@1273 | 15 |
final class DataModel { |
jaroslav@1273 | 16 |
@ComputedProperty static java.util.List<String> words(String message) { |
jaroslav@1273 | 17 |
String[] arr = new String[6]; |
jaroslav@1273 | 18 |
String[] words = message == null ? new String[0] : message.split(" ", 6); |
jaroslav@1273 | 19 |
for (int i = 0; i < 6; i++) { |
jaroslav@1273 | 20 |
arr[i] = words.length > i ? words[i] : "!"; |
jaroslav@1202 | 21 |
} |
jaroslav@1273 | 22 |
return java.util.Arrays.asList(arr); |
jaroslav@1202 | 23 |
} |
jaroslav@1202 | 24 |
|
jaroslav@1273 | 25 |
@Function static void turnOn(Data model) { |
jaroslav@1273 | 26 |
model.setOn(true); |
jaroslav@1202 | 27 |
} |
jaroslav@1273 | 28 |
@Function static void turnOff(Data model) { |
jaroslav@1273 | 29 |
model.setOn(false); |
jaroslav@1202 | 30 |
} |
jaroslav@1202 | 31 |
} |