com.acsinet_solutions.util.adt
Class MapDelegator<K,V>
java.lang.Object
com.acsinet_solutions.util.adt.MapDelegator<K,V>
- All Implemented Interfaces:
- java.util.Map<K,V>
- Direct Known Subclasses:
- ExceptionMap, LazyMap
public class MapDelegator<K,V>
- extends java.lang.Object
- implements java.util.Map<K,V>
Abstract convenience class that implements a skeleton for objects that
implement Map but delegate responsability into a mutable or immutable
Map object.
Mutability is provided via protected methods getCurrent() and setCurrent()
- Author:
- Santiago Arriaga
| Nested classes/interfaces inherited from interface java.util.Map |
java.util.Map.Entry<K,V> |
|
Constructor Summary |
MapDelegator(java.util.Map<K,V> current,
boolean mutable)
Public constructor. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface java.util.Map |
equals, hashCode |
MapDelegator
public MapDelegator(java.util.Map<K,V> current,
boolean mutable)
- Public constructor.
- Parameters:
current - The map to which this delegator will be delegating to. It
must be not-null if the delegation is marked as immutable.mutable - true if the delegated map can change; false otherwise
- Throws:
java.lang.IllegalStateException - If the delegation is marked as
immutable and no Map is initially provided
clear
public void clear()
- Specified by:
clear in interface java.util.Map<K,V>
containsKey
public boolean containsKey(java.lang.Object key)
- Specified by:
containsKey in interface java.util.Map<K,V>
containsValue
public boolean containsValue(java.lang.Object value)
- Specified by:
containsValue in interface java.util.Map<K,V>
entrySet
public java.util.Set<java.util.Map.Entry<K,V>> entrySet()
- Specified by:
entrySet in interface java.util.Map<K,V>
get
public V get(java.lang.Object key)
- Specified by:
get in interface java.util.Map<K,V>
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty in interface java.util.Map<K,V>
keySet
public java.util.Set<K> keySet()
- Specified by:
keySet in interface java.util.Map<K,V>
put
public V put(K key,
V value)
- Specified by:
put in interface java.util.Map<K,V>
putAll
public void putAll(java.util.Map<? extends K,? extends V> map)
- Specified by:
putAll in interface java.util.Map<K,V>
remove
public V remove(java.lang.Object key)
- Specified by:
remove in interface java.util.Map<K,V>
size
public int size()
- Specified by:
size in interface java.util.Map<K,V>
values
public java.util.Collection<V> values()
- Specified by:
values in interface java.util.Map<K,V>
getCurrent
protected final java.util.Map<K,V> getCurrent()
- Get the value of the current iteration node
- Returns:
- a Map instance; null if there is no current delegated Map
setCurrent
protected final void setCurrent(java.util.Map<K,V> current)
- Set the value of the current Map
- Parameters:
current - A maybe-null Map instance