Class ObservableMap<K,V>

java.lang.Object
com.norconex.commons.lang.map.ObservableMap<K,V>
Type Parameters:
K - the type of keys maintained by the map we are observing
V - the type of mapped values
All Implemented Interfaces:
Serializable, Map<K,V>
Direct Known Subclasses:
Properties

public class ObservableMap<K,V> extends Object implements Map<K,V>, Serializable
A map implementation that reports changes to added IMapChangeListener instance. Changes are triggered when a value change is detected in the following method calls: put(Object, Object), putAll(Map), remove(Object), and clear(). This class will not detect changes made to key or value objects modified outside this class. This class can be used as a decorator to other Map implementations.
Since:
1.4
Author:
Pascal Essiembre
See Also:
  • Constructor Details

    • ObservableMap

      public ObservableMap()
    • ObservableMap

      public ObservableMap(Map<K,V> map)
      Decorates map argument as an ObservableMap.
      Parameters:
      map - the Map to decorate
  • Method Details

    • addMapChangeListener

      public void addMapChangeListener(IMapChangeListener<K,V> listener)
      Adds a map change listener.
      Parameters:
      listener - change listener
    • removeMapChangeListener

      public void removeMapChangeListener(IMapChangeListener<K,V> listener)
      Removes a map change listener.
      Parameters:
      listener - change listener
    • size

      public int size()
      Specified by:
      size in interface Map<K,V>
    • isEmpty

      public boolean isEmpty()
      Specified by:
      isEmpty in interface Map<K,V>
    • containsKey

      public boolean containsKey(Object key)
      Specified by:
      containsKey in interface Map<K,V>
    • containsValue

      public boolean containsValue(Object value)
      Specified by:
      containsValue in interface Map<K,V>
    • get

      public V get(Object key)
      Specified by:
      get in interface Map<K,V>
    • put

      public V put(K key, V value)
      Specified by:
      put in interface Map<K,V>
    • remove

      public V remove(Object key)
      Specified by:
      remove in interface Map<K,V>
    • putAll

      public void putAll(Map<? extends K,? extends V> m)
      Specified by:
      putAll in interface Map<K,V>
    • clear

      public void clear()
      Specified by:
      clear in interface Map<K,V>
    • keySet

      public Set<K> keySet()
      Specified by:
      keySet in interface Map<K,V>
    • values

      public Collection<V> values()
      Specified by:
      values in interface Map<K,V>
    • entrySet

      public Set<Map.Entry<K,V>> entrySet()
      Specified by:
      entrySet in interface Map<K,V>
    • toString

      public String toString()
      Overrides:
      toString in class Object