Interface EventList<E>

Type Parameters:
E - тип элемента списка
All Superinterfaces:
java.util.Collection<E>, CollectionEventPublisher<EventList<E>,​E>, Eterable<E>, GetReadLock, GetWriteLock, java.lang.Iterable<E>, java.util.List<E>, LongScn<EventList<E>,​CollectionEvent<EventList<E>,​E>>, ReadWriteLockSupport, Scn<EventList<E>,​java.lang.Long,​CollectionEvent<EventList<E>,​E>>
All Known Implementing Classes:
BasicEventList

public interface EventList<E>
extends java.util.List<E>, CollectionEventPublisher<EventList<E>,​E>, ReadWriteLockSupport, LongScn<EventList<E>,​CollectionEvent<EventList<E>,​E>>, Eterable<E>
Список с поддержкой уведомлений
  • Method Summary

    Modifier and Type Method Description
    default void add​(int index, E element)
    Вставляет элемент в определнное место списка
    default boolean add​(E e)
    Добавляет элемент в список
    default boolean addAll​(int index, java.util.Collection<? extends E> c)
    Добавляет все элементы в список, в указанную позицию
    default boolean addAll​(java.util.Collection<? extends E> c)
    Добавляет все элементы в список
    default void clear()
    Удаляет все элементы
    default boolean contains​(java.lang.Object o)
    Проверяет наличие элемента в коллеции
    default boolean containsAll​(java.util.Collection<?> c)
    Проверяет наличие всех элементов в коллеции
    default void fireCollectionEvent​(CollectionEvent<EventList<E>,​E> event)
    Рассылка уведомления подписчикам
    default void fireDeleted​(int index, E e)
    Рассылка уведомления подписчикам о удалении элемента
    default void fireInserted​(int index, E e)
    Рассылка уведомления подписчикам о добавлении элемента
    default void fireUpdated​(int index, E old, E current)
    Рассылка уведомления подписчикам о обновлении элемента
    default E get​(int index)
    Получение объекта по его индексу
    default int indexOf​(java.lang.Object o)
    Поиск первого индекса элемента в коллекции
    default boolean isEmpty()
    Проверяет что коллекция пуста
    default java.util.Iterator<E> iterator()
    Получение итератора по списку, от начала к концу
    default int lastIndexOf​(java.lang.Object o)
    Поиск последнего индекса элемента в коллекции
    default java.util.ListIterator<E> listIterator()
    Получение итератора по списку
    default java.util.ListIterator<E> listIterator​(int index)
    Получение итератора по списку,, начала итерации согласно указанному индексу
    default java.lang.AutoCloseable onChanged​(boolean weak, TripleConsumer<java.lang.Integer,​E,​E> ls)
    Добавляет подписчика на событие изменения/добавления/удаления данных
    default java.lang.AutoCloseable onChanged​(TripleConsumer<java.lang.Integer,​E,​E> ls)
    Добавляет подписчика на событие изменения/добавления/удаления данных
    default java.lang.AutoCloseable onDeleted​(boolean weak, TripleConsumer<java.lang.Integer,​E,​E> ls)
    Добавляет подписчика на событие удаления данных
    default java.lang.AutoCloseable onDeleted​(TripleConsumer<java.lang.Integer,​E,​E> ls)
    Добавляет подписчика на событие удаления данных
    default java.lang.AutoCloseable onInserted​(boolean weak, TripleConsumer<java.lang.Integer,​E,​E> ls)
    Добавляет подписчика на событие добавления данных
    default java.lang.AutoCloseable onInserted​(TripleConsumer<java.lang.Integer,​E,​E> ls)
    Добавляет подписчика на событие добавления данных
    default java.lang.AutoCloseable onUpdated​(boolean weak, TripleConsumer<java.lang.Integer,​E,​E> ls)
    Добавляет подписчика на событие изменения данных
    default java.lang.AutoCloseable onUpdated​(TripleConsumer<java.lang.Integer,​E,​E> ls)
    Добавляет подписчика на событие изменения данных
    default E remove​(int index)
    Удялет элемент из списка
    default boolean remove​(java.lang.Object o)
    Удаляет элемент из списка
    default boolean removeAll​(java.util.Collection<?> coll)
    Удаляет указанные элементы из списока
    default boolean removeIf​(java.util.function.Predicate<? super E> filter)
    Удаление элементов согласно фильтру
    default void replaceAll​(java.util.function.UnaryOperator<E> operator)
    Замена всех элементов
    default boolean retainAll​(java.util.Collection<?> coll)
    Удаляет элементы из списока, за исключением указанных
    default E set​(int index, E element)
    Записиывает элемент в определенную позицию
    default int size()
    Возвращает кол-во элементов в коллекции
    default void sort​(java.util.Comparator<? super E> c)
    Сортировка списка
    default java.util.List<E> subList​(int fromIndex, int toIndex)
    Создание проекции списка
    java.util.List<E> target()
    Возвращает целевой список, над которым происходят преобразования
    default java.lang.Object[] toArray()
    Создает массив объектов коллеции
    default <T> T[] toArray​(T[] a)
    Создает массив объектов коллеции

    Methods inherited from interface java.util.Collection

    parallelStream, stream, toArray

    Methods inherited from interface xyz.cofe.iter.Eterable

    count, filter, first, limit, map, notNull, product, product, product, product, product, reduce, toList, union, union

    Methods inherited from interface java.lang.Iterable

    forEach

    Methods inherited from interface java.util.List

    equals, hashCode, spliterator

    Methods inherited from interface xyz.cofe.scn.LongScn

    nextscn, nextscn, scn

    Methods inherited from interface xyz.cofe.ecolls.ReadWriteLockSupport

    getReadLock, getWriteLock, readLock, readLock, writeLock, writeLock
  • Method Details

    • target

      java.util.List<E> target()
      Возвращает целевой список, над которым происходят преобразования
      Returns:
      целевой список
    • onInserted

      default java.lang.AutoCloseable onInserted​(TripleConsumer<java.lang.Integer,​E,​E> ls)
      Добавляет подписчика на событие добавления данных
      Parameters:
      ls - подписчик - fn( key:Integer, oldValue:E=null, newValue:E )
      Returns:
      отписка от уведомлений
    • onInserted

      default java.lang.AutoCloseable onInserted​(boolean weak, TripleConsumer<java.lang.Integer,​E,​E> ls)
      Добавляет подписчика на событие добавления данных
      Parameters:
      weak - true - добавить подписчика как weak ссылку
      ls - подписчик - fn( key:Integer, oldValue:E=null, newValue:E )
      Returns:
      отписка от уведомлений
    • onUpdated

      default java.lang.AutoCloseable onUpdated​(TripleConsumer<java.lang.Integer,​E,​E> ls)
      Добавляет подписчика на событие изменения данных
      Parameters:
      ls - подписчик - fn( key:Integer, oldValue:E, newValue:E )
      Returns:
      отписка от уведомлений
    • onUpdated

      default java.lang.AutoCloseable onUpdated​(boolean weak, TripleConsumer<java.lang.Integer,​E,​E> ls)
      Добавляет подписчика на событие изменения данных
      Parameters:
      weak - true - добавить подписчика как weak ссылку
      ls - подписчик - fn( key:Integer, oldValue:E, newValue:E )
      Returns:
      отписка от уведомлений
    • onDeleted

      default java.lang.AutoCloseable onDeleted​(TripleConsumer<java.lang.Integer,​E,​E> ls)
      Добавляет подписчика на событие удаления данных
      Parameters:
      ls - подписчик - fn( key:Integer, oldValue:E, newValue:E=null )
      Returns:
      отписка от уведомлений
    • onDeleted

      default java.lang.AutoCloseable onDeleted​(boolean weak, TripleConsumer<java.lang.Integer,​E,​E> ls)
      Добавляет подписчика на событие удаления данных
      Parameters:
      weak - true - добавить подписчика как weak ссылку
      ls - подписчик - fn( key:Integer, oldValue:E, newValue:E=null )
      Returns:
      отписка от уведомлений
    • onChanged

      default java.lang.AutoCloseable onChanged​(TripleConsumer<java.lang.Integer,​E,​E> ls)
      Добавляет подписчика на событие изменения/добавления/удаления данных
      Parameters:
      ls - подписчик - fn( key:Integer, oldValue:E, newValue:E )
      Returns:
      отписка от уведомлений
    • onChanged

      default java.lang.AutoCloseable onChanged​(boolean weak, TripleConsumer<java.lang.Integer,​E,​E> ls)
      Добавляет подписчика на событие изменения/добавления/удаления данных
      Parameters:
      weak - true - добавить подписчика как weak ссылку
      ls - подписчик - fn( key:Integer, oldValue:E, newValue:E )
      Returns:
      отписка от уведомлений
    • fireCollectionEvent

      default void fireCollectionEvent​(CollectionEvent<EventList<E>,​E> event)
      Description copied from interface: CollectionEventPublisher
      Рассылка уведомления подписчикам
      Specified by:
      fireCollectionEvent in interface CollectionEventPublisher<EventList<E>,​E>
      Parameters:
      event - уведомление
    • fireInserted

      default void fireInserted​(int index, E e)
      Рассылка уведомления подписчикам о добавлении элемента
      Parameters:
      index - индекс
      e - элемент
    • fireUpdated

      default void fireUpdated​(int index, E old, E current)
      Рассылка уведомления подписчикам о обновлении элемента
      Parameters:
      index - индекс
      old - предыдущее значение
      current - текущее значение
    • fireDeleted

      default void fireDeleted​(int index, E e)
      Рассылка уведомления подписчикам о удалении элемента
      Parameters:
      index - индекс
      e - элемент
    • size

      default int size()
      Возвращает кол-во элементов в коллекции
      Specified by:
      size in interface java.util.Collection<E>
      Specified by:
      size in interface java.util.List<E>
      Returns:
      кол-во элементов
      See Also:
      isEmpty()
    • isEmpty

      default boolean isEmpty()
      Проверяет что коллекция пуста
      Specified by:
      isEmpty in interface java.util.Collection<E>
      Specified by:
      isEmpty in interface java.util.List<E>
      Returns:
      true - коллекция пуста
    • contains

      default boolean contains​(java.lang.Object o)
      Проверяет наличие элемента в коллеции
      Specified by:
      contains in interface java.util.Collection<E>
      Specified by:
      contains in interface java.util.List<E>
      Parameters:
      o - элемент
      Returns:
      true - элемент присуствует в коллекции
    • toArray

      default java.lang.Object[] toArray()
      Создает массив объектов коллеции
      Specified by:
      toArray in interface java.util.Collection<E>
      Specified by:
      toArray in interface java.util.List<E>
      Returns:
      массив объектов коллеции
    • toArray

      default <T> T[] toArray​(T[] a)
      Создает массив объектов коллеции
      Specified by:
      toArray in interface java.util.Collection<E>
      Specified by:
      toArray in interface java.util.List<E>
      Type Parameters:
      T - ТИп элементов массива
      Parameters:
      a - пустой массив (изза особенности реализации Generic)
      Returns:
      массив
    • containsAll

      default boolean containsAll​(java.util.Collection<?> c)
      Проверяет наличие всех элементов в коллеции
      Specified by:
      containsAll in interface java.util.Collection<E>
      Specified by:
      containsAll in interface java.util.List<E>
      Parameters:
      c - искомые объекты
      Returns:
      true - если все искомые объекты есть в коллеции
    • get

      default E get​(int index)
      Получение объекта по его индексу
      Specified by:
      get in interface java.util.List<E>
      Parameters:
      index - индекс элемента
      Returns:
      Элемент
    • indexOf

      default int indexOf​(java.lang.Object o)
      Поиск первого индекса элемента в коллекции
      Specified by:
      indexOf in interface java.util.List<E>
      Parameters:
      o - элемент
      Returns:
      индекс или -1, если не найден
    • lastIndexOf

      default int lastIndexOf​(java.lang.Object o)
      Поиск последнего индекса элемента в коллекции
      Specified by:
      lastIndexOf in interface java.util.List<E>
      Parameters:
      o - элемент
      Returns:
      индекс или -1, если не найден
    • iterator

      default java.util.Iterator<E> iterator()
      Получение итератора по списку, от начала к концу
      Specified by:
      iterator in interface java.util.Collection<E>
      Specified by:
      iterator in interface java.lang.Iterable<E>
      Specified by:
      iterator in interface java.util.List<E>
      Returns:
      итератор
    • listIterator

      default java.util.ListIterator<E> listIterator()
      Получение итератора по списку
      Specified by:
      listIterator in interface java.util.List<E>
      Returns:
      итератор
    • listIterator

      default java.util.ListIterator<E> listIterator​(int index)
      Получение итератора по списку,, начала итерации согласно указанному индексу
      Specified by:
      listIterator in interface java.util.List<E>
      Parameters:
      index - индекс начала итерирования
      Returns:
      итератор
    • subList

      default java.util.List<E> subList​(int fromIndex, int toIndex)
      Создание проекции списка
      Specified by:
      subList in interface java.util.List<E>
      Parameters:
      fromIndex - начальный индекс
      toIndex - конечный индекс
      Returns:
      Проекция
    • add

      default boolean add​(E e)
      Добавляет элемент в список
      Specified by:
      add in interface java.util.Collection<E>
      Specified by:
      add in interface java.util.List<E>
      Parameters:
      e - элемент
      Returns:
      true - список изменен
    • remove

      default boolean remove​(java.lang.Object o)
      Удаляет элемент из списка
      Specified by:
      remove in interface java.util.Collection<E>
      Specified by:
      remove in interface java.util.List<E>
      Parameters:
      o - элемент
      Returns:
      true - список изменен
    • addAll

      default boolean addAll​(java.util.Collection<? extends E> c)
      Добавляет все элементы в список
      Specified by:
      addAll in interface java.util.Collection<E>
      Specified by:
      addAll in interface java.util.List<E>
      Parameters:
      c - элементы
      Returns:
      true - список изменен
    • addAll

      default boolean addAll​(int index, java.util.Collection<? extends E> c)
      Добавляет все элементы в список, в указанную позицию
      Specified by:
      addAll in interface java.util.List<E>
      Parameters:
      c - элементы
      Returns:
      true - список изменен
    • removeAll

      default boolean removeAll​(java.util.Collection<?> coll)
      Удаляет указанные элементы из списока
      Specified by:
      removeAll in interface java.util.Collection<E>
      Specified by:
      removeAll in interface java.util.List<E>
      Parameters:
      coll - элементы
      Returns:
      true - список изменен
    • retainAll

      default boolean retainAll​(java.util.Collection<?> coll)
      Удаляет элементы из списока, за исключением указанных
      Specified by:
      retainAll in interface java.util.Collection<E>
      Specified by:
      retainAll in interface java.util.List<E>
      Parameters:
      coll - элементы
      Returns:
      true - список изменен
    • clear

      default void clear()
      Удаляет все элементы
      Specified by:
      clear in interface java.util.Collection<E>
      Specified by:
      clear in interface java.util.List<E>
    • set

      default E set​(int index, E element)
      Записиывает элемент в определенную позицию
      Specified by:
      set in interface java.util.List<E>
      Parameters:
      index - индекс
      element - элемент
      Returns:
      предыдущее значение
    • add

      default void add​(int index, E element)
      Вставляет элемент в определнное место списка
      Specified by:
      add in interface java.util.List<E>
      Parameters:
      index - индекс
      element - элемент
    • remove

      default E remove​(int index)
      Удялет элемент из списка
      Specified by:
      remove in interface java.util.List<E>
      Parameters:
      index - индекс элемента
      Returns:
      удаленный элемент
    • replaceAll

      default void replaceAll​(java.util.function.UnaryOperator<E> operator)
      Замена всех элементов
      Specified by:
      replaceAll in interface java.util.List<E>
      Parameters:
      operator - функция замены
    • sort

      default void sort​(java.util.Comparator<? super E> c)
      Сортировка списка
      Specified by:
      sort in interface java.util.List<E>
      Parameters:
      c - функция сравнения
    • removeIf

      default boolean removeIf​(java.util.function.Predicate<? super E> filter)
      Удаление элементов согласно фильтру
      Specified by:
      removeIf in interface java.util.Collection<E>
      Parameters:
      filter - фильтр
      Returns:
      функция замены