package project.client.gadgets.events;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
public class Events {
private static Map<String, List<EventListener>> registeredListeners = null;
static {
registeredListeners = new HashMap<String, List<EventListener>> ();
}
public static void addListener (String name, EventListener listener) {
if (registeredListeners.get(name) != null) {
registeredListeners.get(name).add(listener);
} else {
List<EventListener> list = new LinkedList<EventListener> ();
list.add(listener);
registeredListeners.put(name, list);
}
}
public static void remove (String name, EventListener listener) {
//TODO not yet implemented
}
public static void throwEvent (String name, List<String> params) {
List<EventListener> listeners = registeredListeners.get(name);
if (listeners != null) {
Iterator<EventListener> i = listeners.iterator();
while (i.hasNext()) {
EventListener l = i.next();
l.handleEvent(name, params);
}
}
}
}