org.apache.commons.collections.map
Class AbstractMapDecorator<K,V>

java.lang.Object
  extended by org.apache.commons.collections.map.AbstractMapDecorator<K,V>
All Implemented Interfaces:
Map<K,V>
Direct Known Subclasses:
AbstractBidiMapDecorator, AbstractOrderedMapDecorator, AbstractSortedMapDecorator, FixedSizeMap, LazyMap, ListOrderedMap, PredicatedMap, TransformedMap, UnmodifiableMap

public abstract class AbstractMapDecorator<K,V>
extends Object
implements Map<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:
Commons Collections 3.0
Version:
$Revision: 1.1.1.1 $ $Date: 2005/05/23 04:35:41 $
Author:
Daniel Rall, Matt Hall, John Watkinson, Stephen Colebourne

Nested Class Summary
 
Nested classes/interfaces inherited from interface java.util.Map
Map.Entry<K,V>
 
Field Summary
protected  Map<K,V> map
          The map to decorate
 
Constructor Summary
protected AbstractMapDecorator()
          Constructor only used in deserialization, do not use otherwise.
  AbstractMapDecorator(Map<K,V> map)
          Constructor that wraps (not copies).
 
Method Summary
 void clear()
           
 boolean containsKey(Object key)
           
 boolean containsValue(Object value)
           
 Set<Map.Entry<K,V>> entrySet()
           
 boolean equals(Object object)
           
 V get(Object key)
           
protected  Map<K,V> getMap()
          Gets the map being decorated.
 int hashCode()
           
 boolean isEmpty()
           
 Set<K> keySet()
           
 V put(K key, V value)
           
 void putAll(Map<? extends K,? extends V> mapToCopy)
           
 V remove(Object key)
           
 int size()
           
 String toString()
           
 Collection<V> values()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

map

protected transient Map<K,V> map
The map to decorate

Constructor Detail

AbstractMapDecorator

protected AbstractMapDecorator()
Constructor only used in deserialization, do not use otherwise.

Since:
Commons Collections 3.1

AbstractMapDecorator

public AbstractMapDecorator(Map<K,V> map)
Constructor that wraps (not copies).

Parameters:
map - the map to decorate, must not be null
Throws:
IllegalArgumentException - if the collection is null
Method Detail

getMap

protected Map<K,V> getMap()
Gets the map being decorated.

Returns:
the decorated map

clear

public void clear()
Specified by:
clear 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>

entrySet

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

get

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

isEmpty

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

keySet

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

put

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

putAll

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

remove

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

size

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

values

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

equals

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

hashCode

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

toString

public String toString()
Overrides:
toString in class Object


Copyright © 2005-2005 Apache Software Foundation, Matt Hall, John Watkinson. All Rights Reserved.