View Javadoc
1 package net.mlw.fball.event;
2
3 import java.util.ArrayList;
4 import java.util.HashMap;
5 import java.util.Iterator;
6 import java.util.List;
7 import java.util.Map;
8
9 import net.mlw.fball.gui.events.StateChangedEvent;
10
11 /***
12 *
13 * @author Matthew L. Wilson
14 * @version $Revision: 1.1 $ $Date: 2004/03/01 15:31:42 $
15 */
16 public class EventListenerGroup implements EventListener
17 {
18 protected Map listeners = new HashMap();
19
20 public void addListener(Class klass, EventListener listener)
21 {
22 List list = (List) listeners.get(klass.getName());
23 if (list == null)
24 {
25 listeners.put(klass.getName(), list = new ArrayList());
26 }
27 list.add(listener);
28 }
29
30 /*** @see net.mlw.fball.event.EventListener#onEvent(net.mlw.fball.event.Event)
31 */
32 public void onEvent(Event event)
33 {
34 if (event == null)
35 {
36 return;
37 }
38
39 String key = (event instanceof StateChangedEvent) ? ((StateChangedEvent) event).getName() : event.getClass().getName();
40
41 List list = (List) listeners.get(key);
42 if (list != null)
43 {
44 for (Iterator iter = list.iterator(); iter.hasNext();)
45 {
46 EventListener listener = (EventListener) iter.next();
47 listener.onEvent(event);
48 }
49 }
50 else
51 {
52 System.out.println("'" + key + "' listener not found.");
53 }
54
55 }
56 }
This page was automatically generated by Maven