Package java.util

Class Observable

java.lang.Object
java.util.Observable

public class Observable
extends Object
Observable is used to notify a group of Observer objects when a change occurs. On creation, the set of observers is empty. After a change occurred, the application can call the notifyObservers() method. This will cause the invocation of the update() method of all registered Observers. The order of invocation is not specified. This implementation will call the Observers in the order they registered. Subclasses are completely free in what order they call the update methods.
See Also:
Observer
  • Constructor Summary

    Constructors
    Constructor Description
    Observable()
    Constructs a new Observable object.
  • Method Summary

    Modifier and Type Method Description
    void addObserver​(Observer observer)
    Adds the specified observer to the list of observers.
    protected void clearChanged()
    Clears the changed flag for this Observable.
    int countObservers()
    Returns the number of observers registered to this Observable.
    void deleteObserver​(Observer observer)
    Removes the specified observer from the list of observers.
    void deleteObservers()
    Removes all observers from the list of observers.
    boolean hasChanged()
    Returns the changed flag for this Observable.
    void notifyObservers()
    If hasChanged() returns true, calls the update() method for every observer in the list of observers using null as the argument.
    void notifyObservers​(Object data)
    If hasChanged() returns true, calls the update() method for every Observer in the list of observers using the specified argument.
    protected void setChanged()
    Sets the changed flag for this Observable.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Observable

      public Observable()
      Constructs a new Observable object.
  • Method Details

    • addObserver

      public void addObserver​(Observer observer)
      Adds the specified observer to the list of observers. If it is already registered, it is not added a second time.
      Parameters:
      observer - the Observer to add.
    • clearChanged

      protected void clearChanged()
      Clears the changed flag for this Observable. After calling clearChanged(), hasChanged() will return false.
    • countObservers

      public int countObservers()
      Returns the number of observers registered to this Observable.
      Returns:
      the number of observers.
    • deleteObserver

      public void deleteObserver​(Observer observer)
      Removes the specified observer from the list of observers. Passing null won't do anything.
      Parameters:
      observer - the observer to remove.
    • deleteObservers

      public void deleteObservers()
      Removes all observers from the list of observers.
    • hasChanged

      public boolean hasChanged()
      Returns the changed flag for this Observable.
      Returns:
      true when the changed flag for this Observable is set, false otherwise.
    • notifyObservers

      public void notifyObservers()
      If hasChanged() returns true, calls the update() method for every observer in the list of observers using null as the argument. Afterwards, calls clearChanged().

      Equivalent to calling notifyObservers(null).

    • notifyObservers

      public void notifyObservers​(Object data)
      If hasChanged() returns true, calls the update() method for every Observer in the list of observers using the specified argument. Afterwards calls clearChanged().
      Parameters:
      data - the argument passed to update().
    • setChanged

      protected void setChanged()
      Sets the changed flag for this Observable. After calling setChanged(), hasChanged() will return true.