Spec-Zone.ru › OpenJDK 17

Класс Observable

java.lang.Object
java.util.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 для них.

Since:
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, 2021, 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/17/docs/api/java.base/java/util/Observable.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API