T.M. SoftStudio

feci quod potui, faciant meliora potentes

Интерфейсы ObservableList<E> и ListChangeListener<E>

Интерфейс ObservableList<E> расширяет интерфейсы java.util.List<E> и Observable и представляет список, для которого можно регистрировать слушателей его изменений.

Интерфейс ObservableList<E> имеет следующие методы:

  • Метод void addListener(ListChangeListener<? super E> listener) – регистрирует обработчик ListChangeListener событий изменений списка.

  • Метод void removeListener(ListChangeListener<? super E> listener) – удаляет слушателя ListChangeListener событий изменений списка.

  • Метод boolean addAll(E... elements) – добавляет элементы к списку.

  • Метод boolean setAll(E... elements) – очищает список и устанавливает для него элементы.

  • Метод boolean setAll(java.util.Collection<? extends E> col) – очищает список и устанавливает для него элементы.

  • Метод boolean removeAll(E... elements) – удаляет элементы.

  • Метод boolean retainAll(E... elements) – сохраняет элементы.

  • Метод void remove(int from, int to) – удаляет элементы.

  • Метод default FilteredList filtered(java.util.function.Predicate predicate) – cоздает FilteredList-обертку для списка, используя заданный предикат.

  • Метод default SortedList sorted() – создает SortedList-обертку для списка с естественным порядком.

  • Метод default SortedList sorted(java.util.Comparator comparator) – создает SortedList-обертку для списка, используя указанный компаратор.

Интерфейс ListChangeListener<E> обеспечивает обработку событий изменения списка ObservableList<E> с помощью метода void onChanged(ListChangeListener.Change<? extends E> c), где объект ListChangeListener.Change содержитинформацию об изменениях списка.

Абстрактный статический класс ListChangeListener.Change<E> имеет конструктор public ListChangeListener.Change(ObservableList<E> list) и обеспечивает информацию об изменениях значения объекта ObservableList с помощью следующих методов:

  • public int getPermutation(int i) – возвращает новую позицию элемента.

  • public int getAddedSize() – возвращает количество добавленных элементов.

  • public int getRemovedSize() – возвращает количество удаленных элементов.

  • public java.util.List<E> getAddedSubList() – возвращает список добавленных элементов.

  • public boolean wasUpdated() – возвращает true, если изменение являлось обновлением.

  • public boolean wasReplaced() – возвращает true, если изменение являлось заменой.

  • public boolean wasRemoved() – возвращает true, если изменение являлось удалением.

  • public boolean wasAdded() – возвращает true, если изменение являлось добавлением.

  • public boolean wasPermutated() – возвращает true, если изменение являлось перестановкой.

  • public abstract java.util.List<E> getRemoved() – возвращает список удаленных элементов.

  • public abstract int getTo() – возвращает конечную позицию интервала изменений.

  • public abstract int getFrom() – возвращает начальную позицию интервала изменений.

  • public ObservableList<E> getList() – возвращает список, который был изменен.

  • public abstract void reset() – сбрасывает сделанные изменения.

  • public abstract boolean next() – переход к следующему изменению.

Абстрактный класс ObservableListBase<E> реализует интерфейс ObservableList<E> и является основой для всех остальных реализаций.

Абстрактный класс ModifiableObservableListBase<E> расширяет класс ObservableListBase<E> и служит основой для всех остальных реализаций изменяемого списка.