Files
java-design-patterns/event-driven-architecture/src/main/java/com/iluwatar/eda/advanced/EventDispatcher.java
T
chris 3ef0921f20 #113 Event Driven Architecture
- refactored and moved around some classes
2015-11-23 00:02:58 +01:00

26 lines
751 B
Java

package com.iluwatar.eda.advanced;
import com.iluwatar.eda.advanced.events.Event;
import com.iluwatar.eda.advanced.framework.Channel;
import com.iluwatar.eda.advanced.framework.DynamicRouter;
import java.util.HashMap;
import java.util.Map;
public class EventDispatcher implements DynamicRouter<Event> {
private Map<Class<? extends Event>, Channel> handlers;
public EventDispatcher() {
handlers = new HashMap<Class<? extends Event>, Channel>();
}
public void registerChannel(Class<? extends Event> contentType,
Channel channel) {
handlers.put(contentType, channel);
}
public void dispatch(Event content) {
handlers.get(content.getClass()).dispatch(content);
}
}