org.apache.myfaces.trinidadinternal.util
Class SubKeyMap<V>
java.lang.Object
java.util.AbstractMap<java.lang.String,V>
org.apache.myfaces.trinidadinternal.util.SubKeyMap<V>
- All Implemented Interfaces:
- java.util.Map<java.lang.String,V>
public final class SubKeyMap<V>
- extends java.util.AbstractMap<java.lang.String,V>
Map that wraps another to provide an isolated namespace using
a prefix. This is especially handy for storing properties on
the session in a structured manner without putting them into
a true "Map" - because storing in a Map breaks session failover.
(Session failover won't trigger on mutations of contained objects.)
Note that there is a potential design flaw; if you create a SubKeyMap
for "mypackage.foo" and for "mypackage.foo.bar", all the keys in the
latter will actually show up in the former (prefixed by ".bar"). This
"flaw" is actually relied on by PageFlowScopeMap (since it provides
a handy way to clear out all descendents), so don't "fix" it!
| Nested classes/interfaces inherited from class java.util.AbstractMap |
java.util.AbstractMap.SimpleEntry<K,V>, java.util.AbstractMap.SimpleImmutableEntry<K,V> |
|
Constructor Summary |
SubKeyMap(java.util.Map<java.lang.String,java.lang.Object> base,
java.lang.String prefix)
|
|
Method Summary |
boolean |
containsKey(java.lang.Object key)
|
java.util.Set<java.util.Map.Entry<java.lang.String,V>> |
entrySet()
|
V |
get(java.lang.Object key)
|
boolean |
isEmpty()
|
V |
put(java.lang.String key,
V value)
|
V |
remove(java.lang.Object key)
|
| Methods inherited from class java.util.AbstractMap |
clear, clone, containsValue, equals, hashCode, keySet, putAll, size, toString, values |
| Methods inherited from class java.lang.Object |
finalize, getClass, notify, notifyAll, wait, wait, wait |
SubKeyMap
public SubKeyMap(java.util.Map<java.lang.String,java.lang.Object> base,
java.lang.String prefix)
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty in interface java.util.Map<java.lang.String,V>- Overrides:
isEmpty in class java.util.AbstractMap<java.lang.String,V>
get
public V get(java.lang.Object key)
- Specified by:
get in interface java.util.Map<java.lang.String,V>- Overrides:
get in class java.util.AbstractMap<java.lang.String,V>
put
public V put(java.lang.String key,
V value)
- Specified by:
put in interface java.util.Map<java.lang.String,V>- Overrides:
put in class java.util.AbstractMap<java.lang.String,V>
remove
public V remove(java.lang.Object key)
- Specified by:
remove in interface java.util.Map<java.lang.String,V>- Overrides:
remove in class java.util.AbstractMap<java.lang.String,V>
containsKey
public boolean containsKey(java.lang.Object key)
- Specified by:
containsKey in interface java.util.Map<java.lang.String,V>- Overrides:
containsKey in class java.util.AbstractMap<java.lang.String,V>
entrySet
public java.util.Set<java.util.Map.Entry<java.lang.String,V>> entrySet()
- Specified by:
entrySet in interface java.util.Map<java.lang.String,V>- Specified by:
entrySet in class java.util.AbstractMap<java.lang.String,V>
Copyright © 2001-2011 The Apache Software Foundation. All Rights Reserved.