Interface EventMap<K,​V>

Type Parameters:
K - Тип ключа
V - Тип значения
All Superinterfaces:
CollectionEventPublisher<EventMap<K,​V>,​V>, GetReadLock, GetWriteLock, LongScn<EventMap<K,​V>,​CollectionEvent<EventMap<K,​V>,​V>>, java.util.Map<K,​V>, ReadWriteLockSupport, Scn<EventMap<K,​V>,​java.lang.Long,​CollectionEvent<EventMap<K,​V>,​V>>
All Known Implementing Classes:
BasicEventMap

public interface EventMap<K,​V>
extends java.util.Map<K,​V>, CollectionEventPublisher<EventMap<K,​V>,​V>, ReadWriteLockSupport, LongScn<EventMap<K,​V>,​CollectionEvent<EventMap<K,​V>,​V>>
Карта (ключ/значение) с поддержкой уведомлений
  • Nested Class Summary

    Nested classes/interfaces inherited from interface java.util.Map

    java.util.Map.Entry<K extends java.lang.Object,​V extends java.lang.Object>
  • Method Summary

    Modifier and Type Method Description
    default void clear()
    Очищает карту от всех пар ключ/значение
    default V compute​(K key, java.util.function.BiFunction<? super K,​? super V,​? extends V> remappingFunction)
    Вычисляет значение ключа и изменяет карту согласно функции remappingFunction
    default V computeIfAbsent​(K key, java.util.function.Function<? super K,​? extends V> mappingFunction)
    Вычисляет значение для ключа, если ключ отсуствует, то создает значение и добавляет его в карту и возвращает его.
    default V computeIfPresent​(K key, java.util.function.BiFunction<? super K,​? super V,​? extends V> remappingFunction)
    Вычисляет значение для ключа, если ключ присуствует, то создает значение и добавляет его в карту и возвращает его.
    default boolean containsKey​(java.lang.Object key)
    Проверяет наличие узла в ключа
    default boolean containsValue​(java.lang.Object value)
    Проверяет наличие значения в карте
    default java.util.Set<java.util.Map.Entry<K,​V>> entrySet()
    Возвращает множество пар
    default void fireCollectionEvent​(CollectionEvent<EventMap<K,​V>,​V> event)
    Рассылка уведомления подписчикам
    default void fireDeleted​(K index, V e)
    Рассылка уведомления подписчикам о удалении элемента
    default void fireInserted​(K index, V e)
    Рассылка уведомления подписчикам о добавлении элемента
    default void fireUpdated​(K index, V old, V current)
    Рассылка уведомления подписчикам о обновлении элемента
    default V get​(java.lang.Object key)
    Возвращает по ключю значение
    default V getOrDefault​(java.lang.Object key, V defaultValue)
    Возвращает значение по ключю или значение по умолчанию, если нет соответ ключа
    default boolean isEmpty()
    Проверяет что карта пустая
    default java.util.Set<K> keySet()
    Возвращает множество ключей
    default V merge​(K key, V value, java.util.function.BiFunction<? super V,​? super V,​? extends V> remappingFunction)
    Слиение данных, для указанного ключа берет значение (oldValue) и если oldValue == null, то возвращает указанне значение, иначе вернет результат вызова функции remmaping( oldValue, value )
    default java.lang.AutoCloseable onChanged​(TripleConsumer<K,​V,​V> ls)
    Добавляет подписчика га событие изменения/добавления/удаления данных
    default java.lang.AutoCloseable onDeleted​(TripleConsumer<K,​V,​V> ls)
    Добавляет подписчика на событие удаления элемента
    default java.lang.AutoCloseable onInserted​(TripleConsumer<K,​V,​V> ls)
    Добавляет подписчика на событие добавления элемента
    default java.lang.AutoCloseable onUpdated​(TripleConsumer<K,​V,​V> ls)
    Добавляет подписчика на событие обновления элемента
    default V put​(K key, V value)
    Указывает значение для ключа
    default void putAll​(java.util.Map<? extends K,​? extends V> m)
    Добавляет карту в карту
    default V putIfAbsent​(K key, V value)
    Добавляет значение для ключа, если ключ отсуствует карте
    default V remove​(java.lang.Object key)
    Удаляет пару для указанного ключа
    default boolean remove​(java.lang.Object key, java.lang.Object value)
    Удаляет пару если совпадает ключ и значение
    default V replace​(K key, V value)
    заменяет значение для существующего ключа
    default boolean replace​(K key, V oldValue, V newValue)
    Заменяет значение ключа, если старое значение совпадает с указанным
    default int size()
    Возвращает кол-во пар значений в карте
    java.util.Map<K,​V> target()
    Возвращает целевую карту, над которой происходят преобразования
    default java.util.Collection<V> values()
    Возвращает значения

    Methods inherited from interface xyz.cofe.scn.LongScn

    nextscn, nextscn, scn

    Methods inherited from interface java.util.Map

    equals, forEach, hashCode, replaceAll

    Methods inherited from interface xyz.cofe.ecolls.ReadWriteLockSupport

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

    • target

      java.util.Map<K,​V> target()
      Возвращает целевую карту, над которой происходят преобразования
      Returns:
      целевая карта
    • fireCollectionEvent

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

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

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

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

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

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

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

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

      default int size()
      Возвращает кол-во пар значений в карте
      Specified by:
      size in interface java.util.Map<K,​V>
      Returns:
      кол-во пар значений
    • isEmpty

      default boolean isEmpty()
      Проверяет что карта пустая
      Specified by:
      isEmpty in interface java.util.Map<K,​V>
      Returns:
      true - карта пустая
    • containsKey

      default boolean containsKey​(java.lang.Object key)
      Проверяет наличие узла в ключа
      Specified by:
      containsKey in interface java.util.Map<K,​V>
      Parameters:
      key - ключ
      Returns:
      true - ключ присуствует
    • containsValue

      default boolean containsValue​(java.lang.Object value)
      Проверяет наличие значения в карте
      Specified by:
      containsValue in interface java.util.Map<K,​V>
      Parameters:
      value - значение
      Returns:
      true - значение присуствует
    • get

      default V get​(java.lang.Object key)
      Возвращает по ключю значение
      Specified by:
      get in interface java.util.Map<K,​V>
      Parameters:
      key - ключ
      Returns:
      значение
    • keySet

      default java.util.Set<K> keySet()
      Возвращает множество ключей
      Specified by:
      keySet in interface java.util.Map<K,​V>
      Returns:
      множество ключей
    • values

      default java.util.Collection<V> values()
      Возвращает значения
      Specified by:
      values in interface java.util.Map<K,​V>
      Returns:
      значения
    • entrySet

      default java.util.Set<java.util.Map.Entry<K,​V>> entrySet()
      Возвращает множество пар
      Specified by:
      entrySet in interface java.util.Map<K,​V>
      Returns:
      множество пар
    • getOrDefault

      default V getOrDefault​(java.lang.Object key, V defaultValue)
      Возвращает значение по ключю или значение по умолчанию, если нет соответ ключа
      Specified by:
      getOrDefault in interface java.util.Map<K,​V>
      Parameters:
      key - ключ
      defaultValue - значение по умолчанию
      Returns:
      значение
    • put

      default V put​(K key, V value)
      Указывает значение для ключа
      Specified by:
      put in interface java.util.Map<K,​V>
      Parameters:
      key - ключ
      value - значение
      Returns:
      предыдущее значение
    • remove

      default V remove​(java.lang.Object key)
      Удаляет пару для указанного ключа
      Specified by:
      remove in interface java.util.Map<K,​V>
      Parameters:
      key - ключ
      Returns:
      удаленное значение
    • putAll

      default void putAll​(java.util.Map<? extends K,​? extends V> m)
      Добавляет карту в карту
      Specified by:
      putAll in interface java.util.Map<K,​V>
      Parameters:
      m - карта
    • clear

      default void clear()
      Очищает карту от всех пар ключ/значение
      Specified by:
      clear in interface java.util.Map<K,​V>
    • putIfAbsent

      default V putIfAbsent​(K key, V value)
      Добавляет значение для ключа, если ключ отсуствует карте
      Specified by:
      putIfAbsent in interface java.util.Map<K,​V>
      Parameters:
      key - ключ
      value - значение
      Returns:
      предыдущее значение или указанное значение
    • remove

      default boolean remove​(java.lang.Object key, java.lang.Object value)
      Удаляет пару если совпадает ключ и значение
      Specified by:
      remove in interface java.util.Map<K,​V>
      Parameters:
      key - ключ
      value - значение
      Returns:
      true - пара удалена
    • replace

      default boolean replace​(K key, V oldValue, V newValue)
      Заменяет значение ключа, если старое значение совпадает с указанным
      Specified by:
      replace in interface java.util.Map<K,​V>
      Parameters:
      key - ключ
      oldValue - старое значение
      newValue - новое значение
      Returns:
      true - значение заменено
    • replace

      default V replace​(K key, V value)
      заменяет значение для существующего ключа
      Specified by:
      replace in interface java.util.Map<K,​V>
      Parameters:
      key - ключ
      value - новое значение
      Returns:
      новое значение
    • computeIfAbsent

      default V computeIfAbsent​(K key, java.util.function.Function<? super K,​? extends V> mappingFunction)
      Вычисляет значение для ключа, если ключ отсуствует, то создает значение и добавляет его в карту и возвращает его.
      Specified by:
      computeIfAbsent in interface java.util.Map<K,​V>
      Parameters:
      key - ключ
      mappingFunction - функция генерирования значения для ключа
      Returns:
      значение
    • computeIfPresent

      default V computeIfPresent​(K key, java.util.function.BiFunction<? super K,​? super V,​? extends V> remappingFunction)
      Вычисляет значение для ключа, если ключ присуствует, то создает значение и добавляет его в карту и возвращает его.
      Specified by:
      computeIfPresent in interface java.util.Map<K,​V>
      Parameters:
      key - ключ
      remappingFunction - функция генерирования значения для ключа
      Returns:
      значение
    • compute

      default V compute​(K key, java.util.function.BiFunction<? super K,​? super V,​? extends V> remappingFunction)
      Вычисляет значение ключа и изменяет карту согласно функции remappingFunction
      Specified by:
      compute in interface java.util.Map<K,​V>
      Parameters:
      key - ключ
      remappingFunction - функция принимающая ключ и старое значение, возвращающая новое значение, если вернет null, то соответ пара будет удалена
      Returns:
      значение
    • merge

      default V merge​(K key, V value, java.util.function.BiFunction<? super V,​? super V,​? extends V> remappingFunction)
      Слиение данных, для указанного ключа берет значение (oldValue) и если oldValue == null, то возвращает указанне значение, иначе вернет результат вызова функции remmaping( oldValue, value )
      Specified by:
      merge in interface java.util.Map<K,​V>
      Parameters:
      key - ключ
      value - значение
      remappingFunction - функция отображения
      Returns:
      вычисленное значение