Class AbstractMapDecorator<K,V>

java.lang.Object
org.apache.commons.collections4.map.AbstractIterableMap<K,V>
org.apache.commons.collections4.map.AbstractMapDecorator<K,V>
Type Parameters:
K - the type of the keys in the map
V - the type of the values in the map
All Implemented Interfaces:
Map<K,V>, Get<K,V>, IterableGet<K,V>, IterableMap<K,V>, Put<K,V>
Direct Known Subclasses:
AbstractBidiMapDecorator, AbstractOrderedMapDecorator, AbstractSortedMapDecorator, DefaultedMap, FixedSizeMap, LazyMap, ListOrderedMap, MultiKeyMap, MultiValueMap, PassiveExpiringMap, PredicatedMap, TransformedMap, UnmodifiableMap

public abstract class AbstractMapDecorator<K,V> extends AbstractIterableMap<K,V>
Provides a base decorator that enables additional functionality to be added to a Map via decoration.

Methods are forwarded directly to the decorated map.

This implementation does not perform any special processing with entrySet(), keySet() or values(). Instead it simply returns the set/collection from the wrapped map. This may be undesirable, for example if you are trying to write a validating implementation it would provide a loophole around the validation. But, you might want that loophole, so this class is kept simple.

Since:
3.0
  • Constructor Details

    • AbstractMapDecorator

      Constructor only used in deserialization, do not use otherwise.
      Since:
      3.1
    • AbstractMapDecorator

      protected AbstractMapDecorator(Map<K,V> map)
      Constructor that wraps (not copies).
      Parameters:
      map - the map to decorate, must not be null
      Throws:
      NullPointerException - if the map is null
  • Method Details

    • clear

      public void clear()
      Description copied from interface: Put
      Removes all of the mappings from this map.
      See Also:
    • containsKey

      public boolean containsKey(Object key)
      Description copied from interface: Get
      Tests for presence of a given key.
      Parameters:
      key - key whose presence in this map is to be tested
      Returns:
      true if this map contains a mapping for the specified key
      See Also:
    • containsValue

      public boolean containsValue(Object value)
      Description copied from interface: Get
      Tests for presence of a given value.
      Parameters:
      value - value whose presence in this map is to be tested
      Returns:
      true if this map maps one or more keys to the specified value
      See Also:
    • decorated

      protected Map<K,V> decorated()
      Gets the map being decorated.
      Returns:
      the decorated map
    • entrySet

      public Set<Map.Entry<K,V>> entrySet()
      Description copied from interface: Get
      Gets a set view of the mappings contained in this map.
      Returns:
      a set view of the mappings contained in this map.
      See Also:
    • equals

      public boolean equals(Object object)
      Specified by:
      equals in interface Map<K,V>
      Overrides:
      equals in class Object
    • get

      public V get(Object key)
      Description copied from interface: Get
      Gets a value at a given key.
      Parameters:
      key - the key whose associated value is to be returned
      Returns:
      the value to which the specified key is mapped, or null if this map contains no mapping for the key
      See Also:
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface Map<K,V>
      Overrides:
      hashCode in class Object
    • isEmpty

      public boolean isEmpty()
      Description copied from interface: Get
      Tests whether this instance contains any key-value mappings.
      Returns:
      true if this map contains no key-value mappings
      See Also:
    • keySet

      public Set<K> keySet()
      Description copied from interface: Get
      Gets a view of the keys contained in this map.
      Returns:
      a set view of the keys contained in this map
      See Also:
    • put

      public V put(K key, V value)
      Description copied from interface: Put
      Associates the specified value with the specified key in this map.

      Note that the return type is Object, rather than V as in the Map interface. See the class Javadoc for further info.

      Parameters:
      key - key with which the specified value is to be associated
      value - value to be associated with the specified key
      Returns:
      the previous value associated with key, or null if there was no mapping for key. (A null return can also indicate that the map previously associated null with key, if the implementation supports null values.)
      See Also:
    • putAll

      public void putAll(Map<? extends K,? extends V> mapToCopy)
      Description copied from interface: Put
      Copies all of the mappings from the specified map to this map.
      Parameters:
      mapToCopy - mappings to be stored in this map
      See Also:
    • remove

      public V remove(Object key)
      Description copied from interface: Get
      Remove a key-value mappings.
      Parameters:
      key - key whose mapping is to be removed from the map
      Returns:
      the previous value associated with key, or null if there was no mapping for key.
      See Also:
    • size

      public int size()
      Description copied from interface: Get
      Gets the number of key-value mappings in this map.
      Returns:
      the number of key-value mappings in this map.
      See Also:
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • values

      public Collection<V> values()
      Description copied from interface: Get
      Gets a a collection view of the values contained in this map.
      Returns:
      a collection view of the values contained in this map.
      See Also: