1 package net.pterodactylus.irc.connection;
3 import java.util.HashMap;
7 import net.pterodactylus.irc.Reply;
10 * Handler that can process any number of events.
12 * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
14 public class SimpleCommandHandler implements Handler {
16 private final Map<String, EventProcessor> commandEventSenders =
19 public SimpleCommandHandler addCommand(String command,
20 EventProcessor eventProcessor) {
21 commandEventSenders.put(command, eventProcessor);
26 public boolean willHandle(Reply reply) {
27 return commandEventSenders.containsKey(reply.command());
31 public void handleReply(Reply reply) {
32 EventProcessor eventProcessor =
33 commandEventSenders.get(reply.command());
34 eventProcessor.processEvent(reply.parameters());
38 * Interface for event processors.
40 * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
43 public static interface EventProcessor {
45 void processEvent(List<String> parameters);