File tree Expand file tree Collapse file tree 2 files changed +17
-7
lines changed
data-bus/src/main/java/com/iluwatar/databus Expand file tree Collapse file tree 2 files changed +17
-7
lines changed Original file line number Diff line number Diff line change 26
26
import com .iluwatar .databus .data .MessageData ;
27
27
import com .iluwatar .databus .data .StartingData ;
28
28
import com .iluwatar .databus .data .StoppingData ;
29
- import com .iluwatar .databus .members .CounterMember ;
29
+ import com .iluwatar .databus .members .MessageCollectorMember ;
30
30
import com .iluwatar .databus .members .StatusMember ;
31
31
32
32
import java .time .LocalDateTime ;
@@ -44,8 +44,8 @@ public static void main(String[] args) {
44
44
final DataBus bus = DataBus .getInstance ();
45
45
bus .subscribe (new StatusMember (1 ));
46
46
bus .subscribe (new StatusMember (2 ));
47
- final CounterMember foo = new CounterMember ("Foo" );
48
- final CounterMember bar = new CounterMember ("Bar" );
47
+ final MessageCollectorMember foo = new MessageCollectorMember ("Foo" );
48
+ final MessageCollectorMember bar = new MessageCollectorMember ("Bar" );
49
49
bus .subscribe (foo );
50
50
bus .publish (StartingData .of (LocalDateTime .now ()));
51
51
bus .publish (MessageData .of ("Only Foo should see this" ));
Original file line number Diff line number Diff line change 27
27
import com .iluwatar .databus .Member ;
28
28
import com .iluwatar .databus .data .MessageData ;
29
29
30
+ import java .util .ArrayList ;
31
+ import java .util .Collections ;
32
+ import java .util .List ;
30
33
import java .util .logging .Logger ;
31
34
32
35
/**
33
- * Receiver of Data-Bus events.
36
+ * Receiver of Data-Bus events that collects the messages from each {@link MessageData} .
34
37
*
35
38
* @author Paul Campbell (pcampbell@kemitix.net)
36
39
*/
37
- public class CounterMember implements Member {
40
+ public class MessageCollectorMember implements Member {
38
41
39
- private static final Logger LOGGER = Logger .getLogger (CounterMember .class .getName ());
42
+ private static final Logger LOGGER = Logger .getLogger (MessageCollectorMember .class .getName ());
40
43
41
44
private final String name ;
42
45
43
- public CounterMember (String name ) {
46
+ private List <String > messages = new ArrayList <>();
47
+
48
+ public MessageCollectorMember (String name ) {
44
49
this .name = name ;
45
50
}
46
51
@@ -53,5 +58,10 @@ public void accept(final DataType data) {
53
58
54
59
private void handleEvent (MessageData data ) {
55
60
LOGGER .info (String .format ("%s sees message %s" , name , data .getMessage ()));
61
+ messages .add (data .getMessage ());
62
+ }
63
+
64
+ public List <String > getMessages () {
65
+ return Collections .unmodifiableList (messages );
56
66
}
57
67
}
You can’t perform that action at this time.
0 commit comments