.. java:import:: ch.epfl.leb.sass.logging Listener .. java:import:: ch.epfl.leb.sass.logging Observable .. java:import:: ch.epfl.leb.sass.logging WrongMessageTypeException .. java:import:: java.util ArrayList .. java:import:: java.util.logging Level .. java:import:: java.util.logging Logger AbstractObservable ================== .. java:package:: ch.epfl.leb.sass.logging.internal :noindex: .. java:type:: public abstract class AbstractObservable implements Observable Provides functionality common to all Observables. :author: Kyle M. Douglass Fields ------ LOGGER ^^^^^^ .. java:field:: protected static final Logger LOGGER :outertype: AbstractObservable changed ^^^^^^^ .. java:field:: protected boolean changed :outertype: AbstractObservable A flag indicating whether the state of this object has changed. This flag is used only when notifying listeners of a state change. listeners ^^^^^^^^^ .. java:field:: protected ArrayList listeners :outertype: AbstractObservable The list of listeners that are tracking this object. Methods ------- addListener ^^^^^^^^^^^ .. java:method:: @Override public void addListener(Listener listener) :outertype: AbstractObservable Adds a new listener to the list of subscribed listeners. deleteListener ^^^^^^^^^^^^^^ .. java:method:: @Override public void deleteListener(Listener listener) :outertype: AbstractObservable Deletes a listener from the list of subscribed listeners. notifyListeners ^^^^^^^^^^^^^^^ .. java:method:: @Override public void notifyListeners() :outertype: AbstractObservable Notifies all subscribed listeners to a change in the Observable's state. This method should only be called if setChanged() has been called. notifyListeners ^^^^^^^^^^^^^^^ .. java:method:: @Override public void notifyListeners(Object data) :outertype: AbstractObservable Notifies all subscribed listeners of a state change and pushes the data. :param data: The data object to push to the listeners. setChanged ^^^^^^^^^^ .. java:method:: @Override public void setChanged() :outertype: AbstractObservable Indicates that the state of this Observable has been changed.