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()
      See Also:
    • containsKey

      public boolean containsKey(Object 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)
      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()
      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)
      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()
      Returns:
      true if this map contains no key-value mappings
      See Also:
    • keySet

      public Set<K> keySet()
      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
      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)
      Parameters:
      mapToCopy - mappings to be stored in this map
      See Also:
    • remove

      public V remove(Object key)
      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()
      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()
      Returns:
      a collection view of the values contained in this map
      See Also: