java.util
Class Observable
java.lang.Object
|
+--java.util.Observable
public class
Observableextends
Object This class represents an object which is observable. Other objects may
register their intent to be notified when this object changes; and when
this object does change, it will trigger the update
method
of each observer.
Note that the notifyObservers()
method of this class is
unrelated to the notify()
of Object.
Authors:- Warren Levy <warrenl@cygnus.com>
- Eric Blake <ebb9@email.byu.edu>
See Also:
Observable
public Observable()
Constructs an Observable with zero Observers.
addObserver
public synchronized void addObserver(java.util.Observer observer)
Adds an Observer. If the observer was already added this method does
nothing.
Parameters:
Throws:
clearChanged
protected synchronized void clearChanged()
Reset this Observable's state to unchanged. This is called automatically
by notifyObservers
once all observers have been notified.
See Also:
countObservers
public synchronized int countObservers()
Returns the number of observers for this object.
Returns:
- number of Observers for this
deleteObserver
public synchronized void deleteObserver(java.util.Observer victim)
Deletes an Observer of this Observable.
Parameters:
deleteObservers
public synchronized void deleteObservers()
Deletes all Observers of this Observable.
hasChanged
public synchronized boolean hasChanged()
True if setChanged
has been called more recently than
clearChanged
.
Returns:
- whether or not this Observable has changed
notifyObservers
public void notifyObservers()
If the Observable has actually changed then tell all Observers about it,
then reset state to unchanged.
See Also:
notifyObservers
public void notifyObservers(java.lang.Object obj)
If the Observable has actually changed then tell all Observers about it,
then reset state to unchanged. Note that though the order of
notification is unspecified in subclasses, in Observable it is in the
order of registration.
Parameters:
See Also:
setChanged
protected synchronized void setChanged()
Marks this Observable as having changed.
update
method of each observer. Note that thenotifyObservers()
method of this class is unrelated to thenotify()
of Object.