package scotty.event;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
/**
* Event Dispatcher, dispatches the events to all registered subscribers
* {@link EventObserver}.
*
* @author flo
*
*/
public class EventDispatcher {
/**
* List of all subscribers
*/
private static List<EventObserver> observer = new CopyOnWriteArrayList<EventObserver>();
/**
* Fires Event.
*
* @param event
* Event.
* @param o
* Object.
*/
public static void fireEvent(Events event, Object o) {
for (EventObserver e : observer) {
e.eventReceived(event, o);
}
}
/**
* Adds Observer.
*
* @param eventObserver
* Observer.
*/
public static void add(EventObserver eventObserver) {
observer.add(eventObserver);
}
}