-
- Type Parameters:
K- Тип ключаV- Тип значения
- All Superinterfaces:
CollectionEventPublisher<EventMap<K,V>,V>,GetReadLock,GetWriteLock,LongScn<EventMap<K,V>,CollectionEvent<EventMap<K,V>,V>>,Map<K,V>,ReadWriteLockSupport,Scn<EventMap<K,V>,Long,CollectionEvent<EventMap<K,V>,V>>
- All Known Implementing Classes:
BasicEventMap
public interface EventMap<K,V> extends Map<K,V>, CollectionEventPublisher<EventMap<K,V>,V>, ReadWriteLockSupport, LongScn<EventMap<K,V>,CollectionEvent<EventMap<K,V>,V>>
Карта (ключ/значение) с поддержкой уведомлений
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default voidclear()Очищает карту от всех пар ключ/значениеdefault Vcompute(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)Вычисляет значение ключа и изменяет карту согласно функции remappingFunctiondefault VcomputeIfAbsent(K key, Function<? super K,? extends V> mappingFunction)Вычисляет значение для ключа, если ключ отсуствует, то создает значение и добавляет его в карту и возвращает его.default VcomputeIfPresent(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)Вычисляет значение для ключа, если ключ присуствует, то создает значение и добавляет его в карту и возвращает его.default booleancontainsKey(Object key)Проверяет наличие узла в ключаdefault booleancontainsValue(Object value)Проверяет наличие значения в картеdefault Set<Map.Entry<K,V>>entrySet()Возвращает множество парdefault voidfireCollectionEvent(CollectionEvent<EventMap<K,V>,V> event)Рассылка уведомления подписчикамdefault voidfireDeleted(K index, V e)Рассылка уведомления подписчикам о удалении элементаdefault voidfireInserted(K index, V e)Рассылка уведомления подписчикам о добавлении элементаdefault voidfireUpdated(K index, V old, V current)Рассылка уведомления подписчикам о обновлении элементаdefault Vget(Object key)Возвращает по ключю значениеdefault VgetOrDefault(Object key, V defaultValue)Возвращает значение по ключю или значение по умолчанию, если нет соответ ключаdefault booleanisEmpty()Проверяет что карта пустаяdefault Set<K>keySet()Возвращает множество ключейdefault Vmerge(K key, V value, BiFunction<? super V,? super V,? extends V> remappingFunction)Слиение данных, для указанного ключа берет значение (oldValue) и если oldValue == null, то возвращает указанне значение, иначе вернет результат вызова функции remmaping( oldValue, value )default AutoCloseableonChanged(TripleConsumer<K,V,V> ls)Добавляет подписчика га событие изменения/добавления/удаления данныхdefault AutoCloseableonDeleted(TripleConsumer<K,V,V> ls)Добавляет подписчика на событие удаления элементаdefault AutoCloseableonInserted(TripleConsumer<K,V,V> ls)Добавляет подписчика на событие добавления элементаdefault AutoCloseableonUpdated(TripleConsumer<K,V,V> ls)Добавляет подписчика на событие обновления элементаdefault Vput(K key, V value)Указывает значение для ключаdefault voidputAll(Map<? extends K,? extends V> m)Добавляет карту в картуdefault VputIfAbsent(K key, V value)Добавляет значение для ключа, если ключ отсуствует картеdefault Vremove(Object key)Удаляет пару для указанного ключаdefault booleanremove(Object key, Object value)Удаляет пару если совпадает ключ и значениеdefault Vreplace(K key, V value)заменяет значение для существующего ключаdefault booleanreplace(K key, V oldValue, V newValue)Заменяет значение ключа, если старое значение совпадает с указаннымdefault intsize()Возвращает кол-во пар значений в картеMap<K,V>target()Возвращает целевую карту, над которой происходят преобразованияdefault Collection<V>values()Возвращает значения-
Methods inherited from interface xyz.cofe.collection.CollectionEventPublisher
addCollectionEvent, addCollectionListener, addCollectionListener, getCollectionEventQueue, getCollectionListeners, hasCollectionListener, listenerHelper, removeCollectionListener, withCollectionEventQueue, withCollectionEventQueue
-
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
-
Methods inherited from interface xyz.cofe.scn.Scn
addScnChangedListener, addScnChangedListener, fireScnChanged, fireScnChanged, getScnChangedListeners, hasScnChangedListener, onScn, removeAllScnChangedListeners, removeScnChangedListener, scn, scn, scnListenerHelper
-
-
-
-
Method Detail
-
target
Map<K,V> target()
Возвращает целевую карту, над которой происходят преобразования- Returns:
- целевая карта
-
fireCollectionEvent
default void fireCollectionEvent(CollectionEvent<EventMap<K,V>,V> event)
Description copied from interface:CollectionEventPublisherРассылка уведомления подписчикам- Specified by:
fireCollectionEventin interfaceCollectionEventPublisher<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 AutoCloseable onInserted(TripleConsumer<K,V,V> ls)
Добавляет подписчика на событие добавления элемента- Parameters:
ls- подписчик - fn( key:K, oldValue:V=null, newValue:V )- Returns:
- отписка от уведомлений
-
onUpdated
default AutoCloseable onUpdated(TripleConsumer<K,V,V> ls)
Добавляет подписчика на событие обновления элемента- Parameters:
ls- подписчик - fn( key:K, oldValue:V, newValue:V )- Returns:
- отписка от уведомлений
-
onDeleted
default AutoCloseable onDeleted(TripleConsumer<K,V,V> ls)
Добавляет подписчика на событие удаления элемента- Parameters:
ls- подписчик - fn( key:K, oldValue:V, newValue:V=null )- Returns:
- отписка от уведомлений
-
onChanged
default AutoCloseable onChanged(TripleConsumer<K,V,V> ls)
Добавляет подписчика га событие изменения/добавления/удаления данных- Parameters:
ls- подписчик - fn( key:K, oldValue:V, newValue:V )- Returns:
- отписка от уведомлений
-
size
default int size()
Возвращает кол-во пар значений в карте
-
isEmpty
default boolean isEmpty()
Проверяет что карта пустая
-
containsKey
default boolean containsKey(Object key)
Проверяет наличие узла в ключа- Specified by:
containsKeyin interfaceMap<K,V>- Parameters:
key- ключ- Returns:
- true - ключ присуствует
-
containsValue
default boolean containsValue(Object value)
Проверяет наличие значения в карте- Specified by:
containsValuein interfaceMap<K,V>- Parameters:
value- значение- Returns:
- true - значение присуствует
-
values
default Collection<V> values()
Возвращает значения
-
getOrDefault
default V getOrDefault(Object key, V defaultValue)
Возвращает значение по ключю или значение по умолчанию, если нет соответ ключа- Specified by:
getOrDefaultin interfaceMap<K,V>- Parameters:
key- ключdefaultValue- значение по умолчанию- Returns:
- значение
-
clear
default void clear()
Очищает карту от всех пар ключ/значение
-
putIfAbsent
default V putIfAbsent(K key, V value)
Добавляет значение для ключа, если ключ отсуствует карте- Specified by:
putIfAbsentin interfaceMap<K,V>- Parameters:
key- ключvalue- значение- Returns:
- предыдущее значение или указанное значение
-
remove
default boolean remove(Object key, Object value)
Удаляет пару если совпадает ключ и значение
-
replace
default boolean replace(K key, V oldValue, V newValue)
Заменяет значение ключа, если старое значение совпадает с указанным
-
computeIfAbsent
default V computeIfAbsent(K key, Function<? super K,? extends V> mappingFunction)
Вычисляет значение для ключа, если ключ отсуствует, то создает значение и добавляет его в карту и возвращает его.- Specified by:
computeIfAbsentin interfaceMap<K,V>- Parameters:
key- ключmappingFunction- функция генерирования значения для ключа- Returns:
- значение
-
computeIfPresent
default V computeIfPresent(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
Вычисляет значение для ключа, если ключ присуствует, то создает значение и добавляет его в карту и возвращает его.- Specified by:
computeIfPresentin interfaceMap<K,V>- Parameters:
key- ключremappingFunction- функция генерирования значения для ключа- Returns:
- значение
-
compute
default V compute(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
Вычисляет значение ключа и изменяет карту согласно функции remappingFunction
-
-