|
Spec-Zone .ru
спецификации, руководства, описания, API
|
T - Тип обернутого значения.public interface ObservableValue<T> extends Observable
ObservableValue объект, который обертывает значение и позволяет наблюдать значение для изменений. Вообще этот интерфейс не должен быть реализован непосредственно, но один из его подинтерфейсов ( ObservableBooleanValue и т.д.). Значение ObservableValue с можно требовать getValue().
Реализация ObservableValue может поддерживать отложенные вычисления, что означает, что значение не было сразу повторно вычислено после изменений, но лениво в следующий раз требуют значение. Вся привязка и свойства в этой библиотеке поддерживают отложенные вычисления.
ObservableValue генерирует два типа событий: события изменения и события аннулирования. Событие изменения указывает, что значение изменилось. Событие аннулирования сгенерировано, если текущая стоимость не допустима еще. Это различие становится важным, если ObservableValue поддерживает отложенные вычисления, потому что для лениво оцененного значения каждый не знает, изменилось ли недопустимое значение действительно, пока это не повторно вычисляется. Поэтому генерирование событий изменения требует нетерпеливой оценки, в то время как события аннулирования могут быть сгенерированы для нетерпеливых и ленивых реализаций.
Реализации этого class должны стремиться генерировать как немного событий насколько возможно, чтобы избежать тратить впустую слишком много времени в обработчиках событий. Реализации в этой библиотеке отмечают себя как недопустимых, когда первое событие аннулирования имеет место. Они не генерируют больше события аннулирования, пока их значение не повторно вычисляется и допустимо снова.
Два типа слушателей могут быть присоединены ObservableValue: InvalidationListener слушать события аннулирования и ChangeListener слушать события изменения. Методы к
Важное примечание: присоединение a ChangeListener осуществляет нетерпеливое вычисление даже если реализация ObservableValue поддерживает отложенные вычисления.
| Модификатор и Тип | Метод и Описание |
|---|---|
void |
addListener(ChangeListener<? super T> listener)
Добавляет a
ChangeListener который будет уведомлен всякий раз, когда значение ObservableValue изменения. |
T |
getValue()
Возвращает текущую стоимость этого
ObservableValue |
void |
removeListener(ChangeListener<? super T> listener)
Удаляет данного слушателя из списка слушателей, которые уведомляются всякий раз, когда значение
ObservableValue изменения. |
addListener, removeListenervoid addListener(ChangeListener<? super T> listener)
ChangeListener который будет уведомлен всякий раз, когда значение ObservableValue изменения. Если тот же самый слушатель будет добавлен не раз, то это будет уведомлено не раз. Таким образом, никакая проверка не осуществляется, чтобы гарантировать уникальность. Отметьте что фактическое то же самое ChangeListener экземпляр может быть безопасно зарегистрирован для различного ObservableValues.
ObservableValue хранит ссылку strong на слушателя, который будет препятствовать тому, чтобы слушатель был собран "мусор", и может привести к утечке памяти. Это рекомендуется любому нерегистру слушателя, вызывая removeListener после использования или использовать экземпляр WeakChangeListener избегите этой ситуации.
listener - Слушатель регистраjava.lang.NullPointerException - если слушатель является нулемremoveListener(ChangeListener)void removeListener(ChangeListener<? super T> listener)
ObservableValue изменения. Если данный слушатель не был ранее зарегистрирован (то есть это никогда не добавлялось), тогда, этот вызов метода нет. Если это было ранее добавлено тогда, что это будет удалено. Если это было добавлено не раз, то только первое возникновение будет удалено.
listener - Слушатель, чтобы удалитьjava.lang.NullPointerException - если слушатель является нулемaddListener(ChangeListener)T getValue()
ObservableValueCopyright (c) 2008, 2011, Oracle и/или его филиалы. Все права защищены. Использование подвергается .