declare namespace java { namespace util { /** * This class represents an observable object, or "data" * in the model-view paradigm. It can be subclassed to represent an * object that the application wants to have observed. *
* An observable object can have one or more observers. An observer
* may be any object that implements interface Observer. After an
* observable instance changes, an application calling the
* Observable
's notifyObservers
method
* causes all of its observers to be notified of the change by a call
* to their update
method.
*
* The order in which notifications will be delivered is unspecified. * The default implementation provided in the Observable class will * notify Observers in the order in which they registered interest, but * subclasses may change this order, use no guaranteed order, deliver * notifications on separate threads, or may guarantee that their * subclass follows this order, as they choose. *
* Note that this notification mechanism has nothing to do with threads * and is completely separate from the wait and notify * mechanism of class Object. *
* When an observable object is newly created, its set of observers is
* empty. Two observers are considered the same if and only if the
* equals method returns true for them.
* @author Chris Warth
* @see java.util.Observable#notifyObservers()
* @see java.util.Observable#notifyObservers(java.lang.Object)
* @see java.util.Observer
* @see java.util.Observer#update(java.util.Observable, java.lang.Object)
* @since JDK1.0
*/
// @ts-ignore
class Observable extends java.lang.Object {
/**
* Construct an Observable with zero Observers.
*/
// @ts-ignore
constructor()
/**
* Adds an observer to the set of observers for this object, provided
* that it is not the same as some observer already in the set.
* The order in which notifications will be delivered to multiple
* observers is not specified. See the class comment.
* @param o an observer to be added.
* @throws NullPointerException if the parameter o is null.
*/
// @ts-ignore
public addObserver(o: java.util.Observer): void
/**
* Deletes an observer from the set of observers of this object.
* Passing null
to this method will have no effect.
* @param o the observer to be deleted.
*/
// @ts-ignore
public deleteObserver(o: java.util.Observer): void
/**
* If this object has changed, as indicated by the
* hasChanged
method, then notify all of its observers
* and then call the clearChanged
method to
* indicate that this object has no longer changed.
*
* Each observer has its update
method called with two
* arguments: this observable object and null
. In other
* words, this method is equivalent to:
*
* notifyObservers(null)* @see java.util.Observable#clearChanged() * @see java.util.Observable#hasChanged() * @see java.util.Observer#update(java.util.Observable, java.lang.Object) */ // @ts-ignore public notifyObservers(): void /** * If this object has changed, as indicated by the *
hasChanged
method, then notify all of its observers
* and then call the clearChanged
method to indicate
* that this object has no longer changed.
*
* Each observer has its update
method called with two
* arguments: this observable object and the arg
argument.
* @param arg any object.
* @see java.util.Observable#clearChanged()
* @see java.util.Observable#hasChanged()
* @see java.util.Observer#update(java.util.Observable, java.lang.Object)
*/
// @ts-ignore
public notifyObservers(arg: java.lang.Object | any): void
/**
* Clears the observer list so that this object no longer has any observers.
*/
// @ts-ignore
public deleteObservers(): void
/**
* Marks this Observable object as having been changed; the
* hasChanged method will now return true.
*/
// @ts-ignore
setChanged(): void
/**
* Indicates that this object has no longer changed, or that it has
* already notified all of its observers of its most recent change,
* so that the hasChanged method will now return false.
* This method is called automatically by the
* notifyObservers
methods.
* @see java.util.Observable#notifyObservers()
* @see java.util.Observable#notifyObservers(java.lang.Object)
*/
// @ts-ignore
clearChanged(): void
/**
* Tests if this object has changed.
* @return true
if and only if the setChanged
* method has been called more recently than the
* clearChanged
method on this object;
* false
otherwise.
* @see java.util.Observable#clearChanged()
* @see java.util.Observable#setChanged()
*/
// @ts-ignore
public hasChanged(): boolean
/**
* Returns the number of observers of this Observable object.
* @return the number of observers of this object.
*/
// @ts-ignore
public countObservers(): number /*int*/
}
}
}