public class Observable

  1. Object
  2. Observable

Known subtypesAsyncResource

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

Constructors

public Observable()Constructs a new Observable object.

Methods

public void addObserver(Observer observer)Adds the specified observer to the list of observers.
protected void clearChanged()Clears the changed flag for this Observable.
public int countObservers()Returns the number of observers registered to this Observable.
public synchronized void deleteObserver(Observer observer)Removes the specified observer from the list of observers.
public synchronized void deleteObservers()Removes all observers from the list of observers.
public boolean hasChanged()Returns the changed flag for this Observable.
public void notifyObservers()If hasChanged() returns true, calls the update() method for every observer in the list of observers using null as the argument.
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.
protected void setChanged()Sets the changed flag for this Observable.

Inherited methods

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 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 synchronized void deleteObserver(Observer observer)
Removes the specified observer from the list of observers. Passing null won’t do anything.

Parameters

observer Observer
the observer to remove.

deleteObservers

public synchronized 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 Object
the argument passed to update().

setChanged

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