1 package dynaop.observer;2 3 /**4 * Subject of observation.5 * 6 * @author Bob Lee (crazybob@crazybob.org)7 */8 public interface Subject {9 10 /**11 * Adds an <code>Observer</code>.12 */13 void addObserver(Observer observer);14 15 /**16 * Removes an <code>Observer</code>.17 */18 void removeObserver(Observer observer);19 20 /**21 * Notifies <code>Observer</code>s of a change.22 */23 void notifyObservers(Object argument);24 }25