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