import java.util.*; /** * The Space class where messages are sent and which notifies registered listeners. *
Observer Design Pattern -- "Gossip" example for COM1204 Summer 2003. * * @author Bob Futrelle * @version 0.1, 28 June 2003 * */ public class Space { public String name; public ArrayList registeredListeners; public Space(String name){ this.name = name; registeredListeners = new ArrayList(); } /** Allows a TalkerListener to be placed on the registered listeners list. */ public void addTalkListener(TalkerListener listener) { registeredListeners.add(listener); } /** When a TalkerListener says something, its local space is informed. */ public void notifySpace(Message msg) { Iterator listeners = registeredListeners.iterator(); while(listeners.hasNext()){ ((TalkerListener)listeners.next()).notifyMe(msg); } } } // class Space