Package org.djutils.event.util
Class EventProducingMap<K,V>
java.lang.Object
org.djutils.event.EventProducer
org.djutils.event.util.EventProducingMap<K,V>
- Type Parameters:
 K- the key typeV- the value type
- All Implemented Interfaces:
 Serializable,Map<K,V>,EventProducerInterface
public class EventProducingMap<K,V> extends EventProducer implements Map<K,V>
The Event producing map provides a map to which one can subscribe interest in entry changes. This class does not keep track
 of changes which take place indirectly. One is for example not notified on 
map.iterator.remove(). A listener
 must subscribe to the iterator, key set, etc. individually.
 Copyright (c) 2002-2020 Delft University of Technology, Jaffalaan 5, 2628 BX Delft, the Netherlands. All rights reserved. See for project information https://djutils.org. The DJUTILS project is distributed under a three-clause BSD-style license, which can be found at https://djutils.org/docs/license.html. This class was originally part of the DSOL project, see https://simulation.tudelft.nl/dsol/manual.
- Author:
 - Peter Jacobs , Alexander Verbraeck
 - See Also:
 - Serialized Form
 
- 
Nested Class Summary
 - 
Field Summary
Fields Modifier and Type Field Description static EventTypeOBJECT_ADDED_EVENTOBJECT_ADDED_EVENT is fired on new entries.static EventTypeOBJECT_CHANGED_EVENTOBJECT_CHANGED_EVENT is fired on change of one or more entries.static EventTypeOBJECT_REMOVED_EVENTOBJECT_REMOVED_EVENT is fired on removel of entries.Fields inherited from interface org.djutils.event.EventProducerInterface
FIRST_POSITION, LAST_POSITION - 
Constructor Summary
Constructors Constructor Description EventProducingMap(Map<K,V> parent, Serializable sourceId)constructs a new EventProducingMap.EventProducingMap(Map<K,V> parent, IdProvider sourceIdProvider)Constructs a new EventProducingMap. - 
Method Summary
Modifier and Type Method Description voidclear()booleancontainsKey(Object key)booleancontainsValue(Object value)Set<Map.Entry<K,V>>entrySet()Vget(Object key)SerializablegetSourceId()Provide the sourceId that will be transmitted with the fired Event.booleanisEmpty()Set<K>keySet()Vput(K key, V value)voidputAll(Map<? extends K,? extends V> map)Vremove(Object key)intsize()Collection<V>values()Methods inherited from class org.djutils.event.EventProducer
addListener, addListener, addListener, addListener, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, getEventTypesWithListeners, getListenerReferences, hasListeners, numberOfListeners, removeAllListeners, removeAllListeners, removeListenerMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, equals, forEach, getOrDefault, hashCode, merge, putIfAbsent, remove, replace, replace, replaceAll 
- 
Field Details
- 
OBJECT_ADDED_EVENT
OBJECT_ADDED_EVENT is fired on new entries. - 
OBJECT_REMOVED_EVENT
OBJECT_REMOVED_EVENT is fired on removel of entries. - 
OBJECT_CHANGED_EVENT
OBJECT_CHANGED_EVENT is fired on change of one or more entries. 
 - 
 - 
Constructor Details
- 
EventProducingMap
constructs a new EventProducingMap.- Parameters:
 parent- Map<K,V>; the embedded map.sourceId- Serializable; the id by which the EventProducer can be identified by the EventListener
 - 
EventProducingMap
Constructs a new EventProducingMap.- Parameters:
 parent- Map<K, V>; the parent map.sourceIdProvider- IdProvider; the function that produces the id by which the EventProducer can be identified by the EventListener
 
 - 
 - 
Method Details
- 
getSourceId
Provide the sourceId that will be transmitted with the fired Event.- Specified by:
 getSourceIdin interfaceEventProducerInterface- Specified by:
 getSourceIdin classEventProducer- Returns:
 - Serializable; the sourceId that will be transmitted with the fired Event
 
 - 
size
public int size() - 
isEmpty
public boolean isEmpty() - 
containsKey
- Specified by:
 containsKeyin interfaceMap<K,V>
 - 
containsValue
- Specified by:
 containsValuein interfaceMap<K,V>
 - 
get
 - 
put
 - 
remove
 - 
putAll
 - 
clear
public void clear() - 
keySet
 - 
values
 - 
entrySet
 
 -