public class

Observable

extends Object
java.lang.Object
   ↳ java.util.Observable
Known Direct Subclasses

Class Overview

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

Summary

Public Constructors
Observable()
Constructs a new Observable object.
Public Methods
void addObserver(Observer observer)
Adds the specified observer to the list of observers.
int countObservers()
Returns the number of observers registered to this Observable.
synchronized void deleteObserver(Observer observer)
Removes the specified observer from the list of observers.
synchronized 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 Methods
void clearChanged()
Clears the changed flag for this Observable.
void setChanged()
Sets the changed flag for this Observable.
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public Observable ()

Since: API Level 1

Constructs a new Observable object.

Public Methods

public void addObserver (Observer observer)

Since: API Level 1

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.

public int countObservers ()

Since: API Level 1

Returns the number of observers registered to this Observable.

Returns
  • the number of observers.

public synchronized void deleteObserver (Observer observer)

Since: API Level 1

Removes the specified observer from the list of observers. Passing null won't do anything.

Parameters
observer the observer to remove.

public synchronized void deleteObservers ()

Since: API Level 1

Removes all observers from the list of observers.

public boolean hasChanged ()

Since: API Level 1

Returns the changed flag for this Observable.

Returns
  • true when the changed flag for this Observable is set, false otherwise.

public void notifyObservers ()

Since: API Level 1

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).

public void notifyObservers (Object data)

Since: API Level 1

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().

Protected Methods

protected void clearChanged ()

Since: API Level 1

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

protected void setChanged ()

Since: API Level 1

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