org.aspectbench.tm.runtime.internal
Class WeakKeyIdentityMap

java.lang.Object
  extended byorg.aspectbench.tm.runtime.internal.WeakKeyIdentityMap
All Implemented Interfaces:
java.util.Map
Direct Known Subclasses:
WeakKeyCollectingIdentityMap

public class WeakKeyIdentityMap
extends java.lang.Object
implements java.util.Map

A Map implementation that uses reference identity of keys and holds weak references to its keys. No purging of invalidated keys takes place. Large parts of the Map interface aren't implemented as they are not necessary for the intended application (tracematch indexing) and would be rather less than straightforward to implement.

Author:
Pavel Avgustinov

Nested Class Summary
 
Nested classes inherited from class java.util.Map
java.util.Map.Entry
 
Constructor Summary
WeakKeyIdentityMap()
           
 
Method Summary
 void clear()
           
 boolean containsKey(java.lang.Object key)
           
 boolean containsValue(java.lang.Object value)
           
 java.util.Set entrySet()
           
 java.lang.Object get(java.lang.Object key)
           
 boolean isEmpty()
           
 java.util.Set keySet()
           
 java.lang.Object put(java.lang.Object key, java.lang.Object value)
           
 void putAll(java.util.Map arg0)
           
protected  java.lang.Object readBox(java.lang.Object key)
           
 java.lang.Object remove(java.lang.Object key)
           
 int size()
           
 java.util.Collection values()
           
protected  java.lang.Object writeBox(java.lang.Object key)
           
 
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
 

Constructor Detail

WeakKeyIdentityMap

public WeakKeyIdentityMap()
Method Detail

readBox

protected java.lang.Object readBox(java.lang.Object key)

writeBox

protected java.lang.Object writeBox(java.lang.Object key)

size

public int size()
Specified by:
size in interface java.util.Map

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface java.util.Map

containsKey

public boolean containsKey(java.lang.Object key)
Specified by:
containsKey in interface java.util.Map

containsValue

public boolean containsValue(java.lang.Object value)
Specified by:
containsValue in interface java.util.Map

get

public java.lang.Object get(java.lang.Object key)
Specified by:
get in interface java.util.Map

put

public java.lang.Object put(java.lang.Object key,
                            java.lang.Object value)
Specified by:
put in interface java.util.Map

remove

public java.lang.Object remove(java.lang.Object key)
Specified by:
remove in interface java.util.Map

putAll

public void putAll(java.util.Map arg0)
Specified by:
putAll in interface java.util.Map

clear

public void clear()
Specified by:
clear in interface java.util.Map

keySet

public java.util.Set keySet()
Specified by:
keySet in interface java.util.Map

values

public java.util.Collection values()
Specified by:
values in interface java.util.Map

entrySet

public java.util.Set entrySet()
Specified by:
entrySet in interface java.util.Map