Key - Тип ключаValue - Тип значенияpublic class BasicEventMap<Key,Value> extends MapWrapper<Key,Value> implements EventMap<Key,Value>, GetListenersHelper
| Modifier and Type | Field and Description |
|---|---|
protected Queue<KeyValueMapEvent<Key,Value>> |
eventQueue
Очередь сообщений
|
protected ListenersHelper<EventMapListener,MapEvent> |
listeners |
| Constructor and Description |
|---|
BasicEventMap()
Конструктор по умолчанию
|
BasicEventMap(Map<Key,Value> wrappedMap)
Конструктор
|
| Modifier and Type | Method and Description |
|---|---|
Closeable |
addEventMapListener(EventMapListener<Key,Value> listener)
Добавляет подписчика измений
|
Closeable |
addEventMapListener(EventMapListener<Key,Value> listener,
boolean weakRef)
Добавляет подписчика измений
|
protected void |
addEventToQueue(KeyValueMapEvent<Key,Value> event)
Добавляет уведомления в очередь с учетом блокировки
|
void |
clear() |
boolean |
containsEventMapListener(EventMapListener<Key,Value> listener)
Проверяет что указанный подписчик прослушивает изменения
|
boolean |
containsKey(Object key) |
boolean |
containsValue(Object value) |
protected DeletedMapEvent<Key,Value> |
createDeleted(Key k,
Value v)
Создает уведомление о удалении
|
protected InsertedMapEvent<Key,Value> |
createInserted(Key k,
Value v)
Создает уведомление о добавлении
|
protected UpdatedMapEvent<Key,Value> |
createUpdated(Key k,
Value v,
Value old)
Создает уведомление о обновление
|
Set<Map.Entry<Key,Value>> |
entrySet() |
protected void |
fireDeleted(Key k,
Value v)
Сообщает о удалении ключа
|
protected void |
fireEvent(MapEvent event)
Увеомляет подписчиков о сообщении
|
protected void |
fireInserted(Key k,
Value v)
Сообщает при добавлении ключа
|
protected void |
fireQueueEvents()
Выполняет уведомления из очереди с учетем блокировки
|
protected void |
fireUpdated(Key k,
Value v,
Value old)
Сообщает о измении ключа
|
Value |
get(Object key) |
ListenersHelper |
getListenersHelper() |
Lock |
getListenersLock()
Возвращает блокировку на listeners методы
|
Map<Key,Value> |
getWrappedMap()
Возвращает исходную карту
|
boolean |
isEmpty() |
Set<Key> |
keySet() |
protected boolean |
listenObjectChanged() |
protected Object |
lockRun(Func0 run)
Выполнение кода в блокировке
|
protected Object |
lockRun(Func0 run,
LockMethod method)
Выполнение кода в блокировке
|
Closeable |
onChanged(Func3<Object,? super Key,? super Value,? super Value> fn)
Добавляет подписчика на изменения
|
Closeable |
onChanged(Func3<Object,? super Key,? super Value,? super Value> fn,
boolean weak)
Добавляет подписчика на изменения
|
Closeable |
onDeleted(Func3<Object,? super Key,? super Value,? super Value> fn)
Добавляет подписчика только на удаление из карты
|
Closeable |
onDeleted(Func3<Object,? super Key,? super Value,? super Value> fn,
boolean weak)
Добавляет подписчика только на удаление из карты
|
Closeable |
onInserted(Func3<Object,? super Key,? super Value,? super Value> fn)
Добавляет подписчика только на добавление в карту
|
Closeable |
onInserted(Func3<Object,? super Key,? super Value,? super Value> fn,
boolean weak)
Добавляет подписчика только на добавление в карту
|
Closeable |
onUpdated(Func3<Object,? super Key,? super Value,? super Value> fn)
Добавляет подписчика только на изменение значения в карте, не добавление, ни удаление
|
Closeable |
onUpdated(Func3<Object,? super Key,? super Value,? super Value> fn,
boolean weak)
Добавляет подписчика только на изменение значения в карте, не добавление, ни удаление
|
Value |
put(Key key,
Value value) |
void |
putAll(Map<? extends Key,? extends Value> m) |
Value |
remove(Object key) |
void |
removeEventMapListener(EventMapListener<Key,Value> listener)
Удаляет подписчика измений
|
protected boolean |
sendNewListOnNewWrapperMap()
Генерировать события Insert/Delete при вызове setWrappedMap
|
void |
setWrappedMap(Map<Key,Value> wrappedMap)
Устанавливает новую карту
|
int |
size() |
Collection<Value> |
values() |
equalsclone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcompute, computeIfAbsent, computeIfPresent, equals, forEach, getOrDefault, hashCode, merge, putIfAbsent, remove, replace, replace, replaceAllprotected final Queue<KeyValueMapEvent<Key,Value>> eventQueue
protected final ListenersHelper<EventMapListener,MapEvent> listeners
public Lock getListenersLock()
protected boolean listenObjectChanged()
protected void addEventToQueue(KeyValueMapEvent<Key,Value> event)
event - уведомленияprotected void fireQueueEvents()
public ListenersHelper getListenersHelper()
getListenersHelper in interface GetListenersHelperpublic Closeable addEventMapListener(EventMapListener<Key,Value> listener)
EventMapSenderaddEventMapListener in interface EventMapSender<Key,Value>listener - Подписчикpublic Closeable addEventMapListener(EventMapListener<Key,Value> listener, boolean weakRef)
EventMapSenderaddEventMapListener in interface EventMapSender<Key,Value>listener - ПодписчикweakRef - Добавить подписчика как weak ссылкуpublic void removeEventMapListener(EventMapListener<Key,Value> listener)
EventMapSenderremoveEventMapListener in interface EventMapSender<Key,Value>listener - Подписчикpublic boolean containsEventMapListener(EventMapListener<Key,Value> listener)
EventMapSendercontainsEventMapListener in interface EventMapSender<Key,Value>listener - Подписчикpublic Closeable onChanged(Func3<Object,? super Key,? super Value,? super Value> fn)
EventMapSenderonChanged in interface EventMapSender<Key,Value>fn -
Функция(Key ключ, Value староеЗначение, Value новоеЗначение):Object
public Closeable onChanged(Func3<Object,? super Key,? super Value,? super Value> fn, boolean weak)
EventMapSenderonChanged in interface EventMapSender<Key,Value>fn -
Функция(Key ключ, Value староеЗначение, Value новоеЗначение):Object
weak - Добавить подписчика как weak ссылкуpublic Closeable onUpdated(Func3<Object,? super Key,? super Value,? super Value> fn)
EventMapSenderonUpdated in interface EventMapSender<Key,Value>fn -
Функция(Key ключ, Value староеЗначение, Value новоеЗначение):Object
public Closeable onUpdated(Func3<Object,? super Key,? super Value,? super Value> fn, boolean weak)
EventMapSenderonUpdated in interface EventMapSender<Key,Value>fn -
Функция(Key ключ, Value староеЗначение, Value новоеЗначение):Object
weak - Добавить подписчика как weak ссылкуpublic Closeable onInserted(Func3<Object,? super Key,? super Value,? super Value> fn)
EventMapSenderonInserted in interface EventMapSender<Key,Value>fn -
Функция(Key ключ, Value староеЗначение, Value новоеЗначение):Object
public Closeable onInserted(Func3<Object,? super Key,? super Value,? super Value> fn, boolean weak)
EventMapSenderonInserted in interface EventMapSender<Key,Value>fn -
Функция(Key ключ, Value староеЗначение, Value новоеЗначение):Object
weak - Добавить подписчика как weak ссылкуpublic Closeable onDeleted(Func3<Object,? super Key,? super Value,? super Value> fn)
EventMapSenderonDeleted in interface EventMapSender<Key,Value>fn -
Функция(Key ключ, Value староеЗначение, Value новоеЗначение):Object
public Closeable onDeleted(Func3<Object,? super Key,? super Value,? super Value> fn, boolean weak)
EventMapSenderonDeleted in interface EventMapSender<Key,Value>fn -
Функция(Key ключ, Value староеЗначение, Value новоеЗначение):Object
weak - Добавить подписчика как weak ссылкуprotected void fireEvent(MapEvent event)
event - Событиеprotected void fireDeleted(Key k, Value v)
k - Ключv - Значениеprotected DeletedMapEvent<Key,Value> createDeleted(Key k, Value v)
k - ключv - значениеprotected void fireInserted(Key k, Value v)
k - Ключv - Значениеprotected InsertedMapEvent<Key,Value> createInserted(Key k, Value v)
k - ключv - значениеprotected void fireUpdated(Key k, Value v, Value old)
k - Ключv - Новое значениеold - Старое значениеprotected UpdatedMapEvent<Key,Value> createUpdated(Key k, Value v, Value old)
k - ключv - новое значениеold - старое значениеprotected Object lockRun(Func0 run)
run - код-функцияprotected Object lockRun(Func0 run, LockMethod method)
run - кодmethod - метод map для которого вызывается блокировкаpublic void clear()
protected boolean sendNewListOnNewWrapperMap()
public void setWrappedMap(Map<Key,Value> wrappedMap)
setWrappedMap in class MapWrapper<Key,Value>wrappedMap - картаpublic boolean isEmpty()
public boolean containsKey(Object key)
containsKey in interface Map<Key,Value>containsKey in class MapWrapper<Key,Value>public boolean containsValue(Object value)
containsValue in interface Map<Key,Value>containsValue in class MapWrapper<Key,Value>public int size()
public Collection<Value> values()
public Map<Key,Value> getWrappedMap()
MapWrappergetWrappedMap in class MapWrapper<Key,Value>Copyright © 2017. All rights reserved.