Класс Observable

@Deprecated(since="9")
public class Observable
extends Object
Устаревший.
Этот класс и интерфейс Observer устарели. Модель событий, поддерживаемая Observer и Observable, довольно ограничена, порядок уведомлений, отправляемых Observable не определён, а изменения состояния не соответствуют один к одному уведомлениям. Для более богатой модели событий рассмотрите использование пакета java.beans. Для надёжной и упорядоченной передачи сообщений между потоками рассмотрите использование одной из конкурирующих структур данных в пакете java.util.concurrent. Для программирования в стиле реактивных потоков см. API Flow.

Этот класс представляет собой наблюдаемый объект или «данные» в модели-представления. Он может быть подклассом для представления объекта, за которым приложение хочет наблюдать.

Наблюдаемый объект может иметь одного или нескольких наблюдателей. Наблюдатель может быть любым объектом, реализующим интерфейс Observer. После изменения экземпляра наблюдаемого объекта приложение, вызывающее метод Observable's notifyObservers уведомляет всех своих наблюдателей об изменении вызовом их метода update.

Порядок, в котором будут доставлены уведомления, не определён. Представленное в классе Observable по умолчанию реализация уведомит наблюдателей в порядке их регистрации, но подклассы могут изменить этот порядок, использовать порядок без гарантий, отправлять уведомления в отдельных потоках или гарантировать, что их подкласс следует этому порядку, по своему выбору.

Обратите внимание, что этот механизм уведомления не связан с потоками и полностью отделен от механизма wait и notify класса Object.

Когда наблюдаемый объект только что создан, его набор наблюдателей пуст. Два наблюдателя считаются одинаковыми, если и только если метод equals возвращает true для них.

С:
1.0
См. также:
notifyObservers(), notifyObservers(java.lang.Object), Observer, Observer.update(java.util.Observable, java.lang.Object)

Конструкторы

Конструктор Описание
Observable()

Устаревший.

Создаёт Observable с нулём наблюдателей.

Методы

Модификатор и тип Метод Описание
void addObserver​(Observer o)

Устаревший.

Добавляет наблюдателя в набор наблюдателей для этого объекта, при условии, что он не совпадает с каким-либо наблюдателем, уже присутствующим в наборе.

protected void clearChanged()

Устаревший.

Указывает, что этот объект больше не изменился или что он уже уведомил всех своих наблюдателей о своём последнем изменении, так что метод hasChanged теперь возвращает false.

int countObservers()

Устаревший.

Возвращает количество наблюдателей этого объекта Observable.

void deleteObserver​(Observer o)

Устаревший.

Удаляет наблюдателя из набора наблюдателей этого объекта.

void deleteObservers()

Устаревший.

Очищает список наблюдателей, так что этот объект больше не имеет наблюдателей.

boolean hasChanged()

Устаревший.

Проверяет, изменился ли этот объект.

void notifyObservers()

Устаревший.

Если этот объект изменился, как указано методом hasChanged, тогда уведомите всех своих наблюдателей и затем вызовите метод clearChanged, чтобы указать, что этот объект больше не изменился.

void notifyObservers​(Object arg)

Устаревший.

Если этот объект изменился, как указано методом hasChanged, тогда уведомите всех своих наблюдателей и затем вызовите метод clearChanged, чтобы указать, что этот объект больше не изменился.

protected void setChanged()

Устаревший.

Помечает этот объект Observable как изменённый; метод hasChanged теперь вернёт true.

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Конструкторы

Observable

public Observable()
Устаревший.

Создаёт Observable с нулём наблюдателей.

Методы

addObserver

public void addObserver(Observer o)
Устаревший.

Добавляет наблюдателя в набор наблюдателей для этого объекта, при условии, что он не совпадает с каким-либо наблюдателем, уже присутствующим в наборе. Порядок, в котором уведомления будут доставлены нескольким наблюдателям, не определён. См. комментарий к классу.

Параметры:
o - наблюдатель, подлежащий добавлению.
Исключения:
NullPointerException - если параметр o равен null.

deleteObserver

public void deleteObserver(Observer o)
Устаревший.

Удаляет наблюдателя из набора наблюдателей этого объекта. Передача null в этот метод не окажет никакого влияния.

Параметры:
o - наблюдатель, подлежащий удалению.

notifyObservers

public void notifyObservers()
Устаревший.

Если этот объект изменился, как указано методом hasChanged, тогда уведомите всех своих наблюдателей и затем вызовите метод clearChanged, чтобы указать, что этот объект больше не изменился.

Каждый наблюдатель вызовёт метод update с двумя аргументами: этим наблюдаемым объектом и null.

Другими словами, этот метод эквивалентен:

notifyObservers(null)
См. также:
clearChanged(), hasChanged(), Observer.update(java.util.Observable, java.lang.Object)

notifyObservers

public void notifyObservers(Object arg)
Устаревший.

Если этот объект изменился, как указано методом hasChanged, тогда уведомите всех своих наблюдателей и затем вызовите метод clearChanged, чтобы указать, что этот объект больше не изменился.

Каждый наблюдатель вызовёт метод update с двумя аргументами: этим наблюдаемым объектом и аргументом arg.

Параметры:
arg - любой объект.
См. также:
clearChanged(), hasChanged(), Observer.update(java.util.Observable, java.lang.Object)

deleteObservers

public void deleteObservers()
Устаревший.

Очищает список наблюдателей, так что этот объект больше не имеет наблюдателей.

setChanged

protected void setChanged()
Устаревший.

Помечает этот объект Observable как изменённый; метод hasChanged теперь вернёт true.

clearChanged

protected void clearChanged()
Устаревший.

Указывает, что этот объект больше не изменился или что он уже уведомил всех своих наблюдателей о своём последнем изменении, так что метод hasChanged теперь вернёт false.

Этот метод вызывается автоматически методами notifyObservers.

См. также:
notifyObservers(), notifyObservers(java.lang.Object)

hasChanged

public boolean hasChanged()
Устаревший.

Проверяет, изменился ли этот объект.

Возвращает:
true, если и только если метод setChanged был вызван позже, чем метод clearChanged в этом объекте; false в противном случае.
См. также:
clearChanged(), setChanged()

countObservers

public int countObservers()
Устаревший.

Возвращает количество наблюдателей этого объекта Observable.

Возвращает:
количество наблюдателей этого объекта.

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Observable.html

Spec-Zone .ru
спецификации, руководства, описания, API