Package org.apache.xbean.propertyeditor
Class ReferenceIdentityMap
- java.lang.Object
-
- org.apache.xbean.propertyeditor.ReferenceIdentityMap
-
- All Implemented Interfaces:
java.util.Map
public class ReferenceIdentityMap extends java.lang.Object implements java.util.Map
Streamlined version of a WeakIdentityHashMap. Provides Identity semantics with Weak References to keys. This allows proxies to be GC'ed when no longer referenced by clients.BasicProxymanager.destroyProxy()
need not be invoked when a proxy is no longer needed. Note that this is not a full Map implementation. The iteration and collection capabilities of Map have been discarded to keep the implementation lightweight.Much of this code was cribbed from the Commons Collection 3.1 implementation of
ReferenceIdentityMap
andAbstractReferenceMap
.
-
-
Constructor Summary
Constructors Constructor Description ReferenceIdentityMap()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clear()
Clears the map, resetting the size to zero and nullifying references to avoid garbage collection issues.boolean
containsKey(java.lang.Object key)
Checks whether the map contains the specified key.boolean
containsValue(java.lang.Object value)
Checks whether the map contains the specified value.java.util.Set
entrySet()
java.lang.Object
get(java.lang.Object key)
Gets the value mapped to the key specified.boolean
isEmpty()
Checks whether the map is currently empty.java.util.Set
keySet()
java.lang.Object
put(java.lang.Object key, java.lang.Object value)
Puts a key-value entry into this map.void
putAll(java.util.Map t)
java.lang.Object
remove(java.lang.Object key)
Removes the specified mapping from this map.int
size()
Gets the size of the map.java.util.Collection
values()
-
-
-
Method Detail
-
size
public int size()
Gets the size of the map.- Specified by:
size
in interfacejava.util.Map
- Returns:
- the size
-
isEmpty
public boolean isEmpty()
Checks whether the map is currently empty.- Specified by:
isEmpty
in interfacejava.util.Map
- Returns:
- true if the map is currently size zero
-
containsKey
public boolean containsKey(java.lang.Object key)
Checks whether the map contains the specified key.- Specified by:
containsKey
in interfacejava.util.Map
- Parameters:
key
- the key to search for- Returns:
- true if the map contains the key
-
containsValue
public boolean containsValue(java.lang.Object value)
Checks whether the map contains the specified value.- Specified by:
containsValue
in interfacejava.util.Map
- Parameters:
value
- the value to search for- Returns:
- true if the map contains the value
-
get
public java.lang.Object get(java.lang.Object key)
Gets the value mapped to the key specified.- Specified by:
get
in interfacejava.util.Map
- Parameters:
key
- the key- Returns:
- the mapped value, null if no match
-
put
public java.lang.Object put(java.lang.Object key, java.lang.Object value)
Puts a key-value entry into this map. Neither the key nor the value may be null.- Specified by:
put
in interfacejava.util.Map
- Parameters:
key
- the key to add, must not be nullvalue
- the value to add, must not be null- Returns:
- the value previously mapped to this key, null if none
-
remove
public java.lang.Object remove(java.lang.Object key)
Removes the specified mapping from this map.- Specified by:
remove
in interfacejava.util.Map
- Parameters:
key
- the mapping to remove- Returns:
- the value mapped to the removed key, null if key not in map
-
clear
public void clear()
Clears the map, resetting the size to zero and nullifying references to avoid garbage collection issues.- Specified by:
clear
in interfacejava.util.Map
-
values
public java.util.Collection values()
- Specified by:
values
in interfacejava.util.Map
-
putAll
public void putAll(java.util.Map t)
- Specified by:
putAll
in interfacejava.util.Map
-
entrySet
public java.util.Set entrySet()
- Specified by:
entrySet
in interfacejava.util.Map
-
keySet
public java.util.Set keySet()
- Specified by:
keySet
in interfacejava.util.Map
-
-