org.apache.myfaces.trinidadinternal.util
Class SubKeyMap

java.lang.Object
  extended by java.util.AbstractMap<java.lang.String,java.lang.Object>
      extended by org.apache.myfaces.trinidadinternal.util.SubKeyMap
All Implemented Interfaces:
java.util.Map<java.lang.String,java.lang.Object>

public final class SubKeyMap
extends java.util.AbstractMap<java.lang.String,java.lang.Object>

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!


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,java.lang.Object>> entrySet()
           
 java.lang.Object get(java.lang.Object key)
           
 boolean isEmpty()
           
 java.lang.Object put(java.lang.String key, java.lang.Object value)
           
 java.lang.Object 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
 

Constructor Detail

SubKeyMap

public SubKeyMap(java.util.Map<java.lang.String,java.lang.Object> base,
                 java.lang.String prefix)
Method Detail

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface java.util.Map<java.lang.String,java.lang.Object>
Overrides:
isEmpty in class java.util.AbstractMap<java.lang.String,java.lang.Object>

get

public java.lang.Object get(java.lang.Object key)
Specified by:
get in interface java.util.Map<java.lang.String,java.lang.Object>
Overrides:
get in class java.util.AbstractMap<java.lang.String,java.lang.Object>

put

public java.lang.Object put(java.lang.String key,
                            java.lang.Object value)
Specified by:
put in interface java.util.Map<java.lang.String,java.lang.Object>
Overrides:
put in class java.util.AbstractMap<java.lang.String,java.lang.Object>

remove

public java.lang.Object remove(java.lang.Object key)
Specified by:
remove in interface java.util.Map<java.lang.String,java.lang.Object>
Overrides:
remove in class java.util.AbstractMap<java.lang.String,java.lang.Object>

containsKey

public boolean containsKey(java.lang.Object key)
Specified by:
containsKey in interface java.util.Map<java.lang.String,java.lang.Object>
Overrides:
containsKey in class java.util.AbstractMap<java.lang.String,java.lang.Object>

entrySet

public java.util.Set<java.util.Map.Entry<java.lang.String,java.lang.Object>> entrySet()
Specified by:
entrySet in interface java.util.Map<java.lang.String,java.lang.Object>
Specified by:
entrySet in class java.util.AbstractMap<java.lang.String,java.lang.Object>


Copyright © 2001-2007 Apache Software Foundation. All Rights Reserved.