T.M. SoftStudio

feci quod potui, faciant meliora potentes

Интерфейсы ObservableMap<K,V> и MapChangeListener<K,V>

Интерфейс ObservableMap<K,V> расширяет интерфейсы java.util.Map<K,V> и Observable и представляет хэш-таблицу, для которой можно регистрировать слушателей ее изменений.

Интерфейс ObservableMap<K,V> имеет следующие методы:

  • Метод void addListener(MapChangeListener<? super K,? super V> listener) – регистрирует слушателя MapChangeListener событий изменения хэш-таблицы.

  • Метод void removeListener(MapChangeListener<? super K,? super V> listener) – удаляет слушателя MapChangeListener событий изменения хэш-таблицы.

Интерфейс MapChangeListener<K,V> обеспечивает обработку событий изменения хэш-таблицы ObservableMap<K,V> с помощью метода void onChanged(MapChangeListener.Change<? extends K,? extends V> change), где объект MapChangeListener.Change содержит информацию об изменениях хэш-таблицы.

Абстрактный статический класс MapChangeListener.Change<K,V> имеет конструктор public MapChangeListener.Change(ObservableMap<K,V> map) и предоставляет информацию об изменениях хэш-таблицы с помощью следующих методов:

  • Метод public ObservableMap<K,V> getMap() – возвращает измененную хэш-таблицу.

  • Метод public abstract boolean wasAdded() – возвращает true, если в хэш-таблицу были добавлены элементы.

  • Метод public abstract boolean wasRemoved() – возвращает true, если из хэш-таблицы были удалены элементы.

  • Метод public abstract K getKey() – возвращает ключ, связанный с изменением.

  • Метод public abstract V getValueAdded() – возвращает новое значение ключа.

  • Метод public abstract V getValueRemoved() – возвращает старое значение ключа.