#113 Event Driven Architecture

- initial commit includes a simple and advanced example of Event-driven architecture
This commit is contained in:
chris
2015-11-22 19:40:07 +01:00
parent 092d48d150
commit eb396217d0
12 changed files with 184 additions and 0 deletions
@@ -0,0 +1,21 @@
package com.iluwatar.eda.advanced;
import java.util.HashMap;
import java.util.Map;
public class EventDispatcher implements DynamicRouter<Event> {
private Map<Class<? extends Event>, Handler> handlers;
public EventDispatcher() {
handlers = new HashMap<Class<? extends Event>, Handler>();
}
public void registerChannel(Class<? extends Event> contentType,
Channel<? extends Event> channel) {
handlers.put(contentType, (Handler)channel);
}
public void dispatch(Event content) {
handlers.get(content.getClass()).dispatch(content);
}
}