1 package net.sf.josceleton.core.api.entity;
2
3
4
5
6
7
8 public enum UserState {
9
10
11
12
13
14
15
16
17 WAITING { @Override public <T> T callback(final UserStateFunction<T> callee) {
18 return callee.onStateWaiting();
19 }},
20
21
22
23
24
25
26
27
28 PROCESSING { @Override public <T> T callback(final UserStateFunction<T> callee) {
29 return callee.onStateProcessing();
30 }},
31
32
33
34
35
36
37
38
39 DEAD { @Override public <T> T callback(final UserStateFunction<T> callee) {
40 return callee.onStateDead();
41 }};
42
43
44
45
46 public abstract <T> T callback(UserStateFunction<T> callee);
47 }