Interface PreEventList<E>

All Superinterfaces:
java.util.Collection<E>, CollectionEventPublisher<EventList<E>,​E>, Eterable<E>, EventList<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:
StdEventList

public interface PreEventList<E>
extends EventList<E>
Генерация событий перед началом модификации коллекции
  • Method Details

    • fireCollectionEvent

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

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

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

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

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

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

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

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

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

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

      default boolean add​(E e)
      Добавление элемента в список. Будут сгенерированы два события:
      1. InsertingEvent перед началом добавления
      2. InsertedEvent после начала добавления
      Specified by:
      add in interface java.util.Collection<E>
      Specified by:
      add in interface EventList<E>
      Specified by:
      add in interface java.util.List<E>
      Parameters:
      e - элемент
      Returns:
      факт добавления
    • remove

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

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

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

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

      default void clear()
      Удаляет все элементы Генерирует события RemovingEvent, RemovedEvent
      Specified by:
      clear in interface java.util.Collection<E>
      Specified by:
      clear in interface EventList<E>
      Specified by:
      clear in interface java.util.List<E>
    • set

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

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

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

      default boolean sameElements​(E a, E b)
      Проверка что два объекта идентичны
      Parameters:
      a - первый
      b - второй
      Returns:
      true - идентичны
    • replaceAll

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

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