Class Observable<T>

java.lang.Object
icyllis.modernui.util.Observable<T>
Type Parameters:
T - The observer type.
Direct Known Subclasses:
DataSetObservable

@ParametersAreNonnullByDefault public abstract class Observable<T> extends Object
Provides methods for registering or unregistering arbitrary observers in an ArrayList.

This abstract class is intended to be subclassed and specialized to maintain a registry of observers of specific types and dispatch notifications to them.

  • Field Details

    • mObservers

      protected final ArrayList<T> mObservers
      The list of observers. An observer can be in the list at most once and will never be null.
  • Constructor Details

    • Observable

      public Observable()
  • Method Details

    • registerObserver

      public void registerObserver(T observer)
      Adds an observer to the list. The observer cannot be null, and it must not already be registered.
      Parameters:
      observer - the observer to register
      Throws:
      IllegalStateException - the observer is already registered
    • unregisterObserver

      public void unregisterObserver(T observer)
      Removes a previously registered observer. The observer must not be null, and it must already have been registered.
      Parameters:
      observer - the observer to unregister
      Throws:
      IllegalStateException - the observer is not yet registered
    • unregisterAll

      public void unregisterAll()
      Remove all registered observers.