1 | package com.hammurapi.eventbus.tests; |
2 | |
3 | import java.util.ArrayList; |
4 | import java.util.Collections; |
5 | import java.util.List; |
6 | |
7 | import com.hammurapi.eventbus.Handler; |
8 | import com.hammurapi.eventbus.Resettable; |
9 | |
10 | public class StatefulHandler implements Resettable { |
11 | |
12 | private volatile int counter; |
13 | private volatile int resetCounter; |
14 | |
15 | public int getCounter() { |
16 | return counter; |
17 | } |
18 | |
19 | private volatile List<Object> state = Collections.synchronizedList(new ArrayList<Object>()); |
20 | |
21 | @Handler |
22 | public void handle(String str) { |
23 | ++counter; |
24 | state.add(str); |
25 | } |
26 | |
27 | @Handler |
28 | public void handle(int i) { |
29 | ++counter; |
30 | state.add(i); |
31 | } |
32 | |
33 | public List<Object> getState() { |
34 | return state; |
35 | } |
36 | |
37 | @Override |
38 | public void reset() { |
39 | state.clear(); |
40 | ++resetCounter; |
41 | } |
42 | |
43 | public int getResetCounter() { |
44 | return resetCounter; |
45 | } |
46 | |
47 | } |