SolarMetric Kodo JDO 2.5.8 generated on January 11 2004

serp.util
Class RefKeyMap

java.lang.Object
  |
  +--serp.util.RefKeyMap
All Implemented Interfaces:
Map, RefMap
Direct Known Subclasses:
SoftKeyMap, WeakKeyMap

Deprecated. Replaced by the ReferenceMap.

abstract class RefKeyMap
extends Object
implements RefMap

Abstract base class for maps whose keys are stored as weak or soft references. This class is more flexible than the standard WeakHashMap because it also allows soft references and because it can inherit the functionality of any other map type. For example, it can use JVM identity-based hashing if constructed with an IdentityMap or maintain its entries in insertion order if constructed with a LinkedHashMap.

Subclasses must define the createRefMapKey(java.lang.Object, java.lang.ref.ReferenceQueue, boolean) method only. Expired values are removed from the map before any mutator methods; removing before accessor methods can lead to ConcurrentModificationExceptions. Thus, the following methods may produce results which include key/value pairs that have expired:

By default, all methods are delegated to the internal map provided at construction. Thus, the ordering, etc of the given map will be preserved; however, the hashing algorithm cannot be duplicated. A special case is made for the IdentityMap's hashing, which is supported. Performance is similar to that of the internal map instance.


Inner Class Summary
(package private) static interface RefKeyMap.RefMapKey
          Deprecated. Represents a key held by weak or soft reference.
 
Inner classes inherited from class java.util.Map
Map.Entry
 
Constructor Summary
RefKeyMap()
          Deprecated. Equivalent to RefKeyMap (new HashMap ()).
RefKeyMap(Map map)
          Deprecated. Construct a RefKeyMap with the given interal map.
 
Method Summary
 void clear()
          Deprecated.  
 boolean containsKey(Object key)
          Deprecated.  
 boolean containsValue(Object value)
          Deprecated.  
protected abstract  RefKeyMap.RefMapKey createRefMapKey(Object key, ReferenceQueue queue, boolean identity)
          Deprecated. Create a weak or soft reference to hold the given key.
 Set entrySet()
          Deprecated.  
 boolean equals(Object other)
          Deprecated.  
 Object get(Object key)
          Deprecated.  
 boolean isEmpty()
          Deprecated.  
 Set keySet()
          Deprecated.  
 boolean makeHard(Object key)
          Deprecated. Harden the reference for the given key.
 boolean makeReference(Object key)
          Deprecated. Soften the reference for the given key.
 Object put(Object key, Object value)
          Deprecated.  
 void putAll(Map map)
          Deprecated.  
 Object remove(Object key)
          Deprecated.  
 int size()
          Deprecated.  
 String toString()
          Deprecated.  
 Collection values()
          Deprecated.  
 
Methods inherited from class java.lang.Object
, clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.Map
hashCode
 

Constructor Detail

RefKeyMap

public RefKeyMap()
Deprecated. 
Equivalent to RefKeyMap (new HashMap ()).

RefKeyMap

public RefKeyMap(Map map)
Deprecated. 
Construct a RefKeyMap with the given interal map. The internal map will be cleared. It should not be accessed in any way after being given to this constructor; this map will 'inherit' its behavior, however. For example, if the given map is a LinkedHashMap, the values method of this map will return values in insertion order.
Method Detail

makeHard

public boolean makeHard(Object key)
Deprecated. 
Description copied from interface: RefMap
Harden the reference for the given key. This will ensure that the key and the value it corresponds to are not garbage collected. Note that this is a mutator method and can result in ConcurrentModificationExceptions being thrown by any iterator in use while this method is called.
Specified by:
makeHard in interface RefMap
Following copied from interface: serp.util.RefMap
Returns:
true if the reference to the key is now hard; false if the key does not exist in the map (or has already expired)

makeReference

public boolean makeReference(Object key)
Deprecated. 
Description copied from interface: RefMap
Soften the reference for the given key. This will allow the key and the value it corresponds to can be expired from the map, and the key/value garbage collected. This is the default for all new key/ value pairs added to the map. Note that this is a mutator method and can result in ConcurrentModificationExceptions being thrown by any iterator in use while this method is called.
Specified by:
makeReference in interface RefMap
Following copied from interface: serp.util.RefMap
Returns:
true if the reference to the key/value is now soft; false if the key does not exist or the key/value cannot be maintained in a reference (as for nuill values)

clear

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

containsKey

public boolean containsKey(Object key)
Deprecated. 
Specified by:
containsKey in interface Map

containsValue

public boolean containsValue(Object value)
Deprecated. 
Specified by:
containsValue in interface Map

entrySet

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

equals

public boolean equals(Object other)
Deprecated. 
Specified by:
equals in interface Map
Overrides:
equals in class Object

get

public Object get(Object key)
Deprecated. 
Specified by:
get in interface Map

isEmpty

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

keySet

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

put

public Object put(Object key,
                  Object value)
Deprecated. 
Specified by:
put in interface Map

putAll

public void putAll(Map map)
Deprecated. 
Specified by:
putAll in interface Map

remove

public Object remove(Object key)
Deprecated. 
Specified by:
remove in interface Map

size

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

values

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

toString

public String toString()
Deprecated. 
Overrides:
toString in class Object

createRefMapKey

protected abstract RefKeyMap.RefMapKey createRefMapKey(Object key,
                                                       ReferenceQueue queue,
                                                       boolean identity)
Deprecated. 
Create a weak or soft reference to hold the given key. In general, the returned reference should guarantee that its Object.equals(java.lang.Object), Object.hashCode() and Comparable.compareTo(java.lang.Object) methods will be delegated to the given key value.
Parameters:
key - the key value to hold; will not be null
queue - the reference queue to place the reference in, or null if the reference should not be placed in a queue
identity - if true, the Object.equals(java.lang.Object) and Object.hashCode() methods of the returned reference should work by the JVM identity of the key, not its corresponding methods

SolarMetric Kodo JDO 2.5.8 generated on January 11 2004

Copyright 2001,2002,2003 SolarMetric, Inc. All Rights Reserved.