mirror of
https://github.com/tiennm99/java-design-patterns.git
synced 2026-05-20 14:24:15 +00:00
Counter doesn't count anything. Added ability to collect the messages
from the MessageData that it receives.
This commit is contained in:
+14
-4
@@ -27,20 +27,25 @@ import com.iluwatar.databus.DataType;
|
||||
import com.iluwatar.databus.Member;
|
||||
import com.iluwatar.databus.data.MessageData;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
/**
|
||||
* Receiver of Data-Bus events.
|
||||
* Receiver of Data-Bus events that collects the messages from each {@link MessageData}.
|
||||
*
|
||||
* @author Paul Campbell (pcampbell@kemitix.net)
|
||||
*/
|
||||
public class CounterMember implements Member {
|
||||
public class MessageCollectorMember implements Member {
|
||||
|
||||
private static final Logger LOGGER = Logger.getLogger(CounterMember.class.getName());
|
||||
private static final Logger LOGGER = Logger.getLogger(MessageCollectorMember.class.getName());
|
||||
|
||||
private final String name;
|
||||
|
||||
public CounterMember(String name) {
|
||||
private List<String> messages = new ArrayList<>();
|
||||
|
||||
public MessageCollectorMember(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
@@ -53,5 +58,10 @@ public class CounterMember implements Member {
|
||||
|
||||
private void handleEvent(MessageData data) {
|
||||
LOGGER.info(String.format("%s sees message %s", name, data.getMessage()));
|
||||
messages.add(data.getMessage());
|
||||
}
|
||||
|
||||
public List<String> getMessages() {
|
||||
return Collections.unmodifiableList(messages);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user