Class SoftValueHashMap<K,V>

java.lang.Object
javassist.scopedpool.SoftValueHashMap<K,V>
All Implemented Interfaces:
Map<K,V>

public class SoftValueHashMap<K,V> extends Object implements Map<K,V>
This Map will remove entries when the value in the map has been cleaned from garbage collection
Version:
$Revision: 1.4 $
  • Field Details

  • Constructor Details

    • SoftValueHashMap

      public SoftValueHashMap(int initialCapacity, float loadFactor)
      Constructs a new, empty WeakHashMap with the given initial capacity and the given load factor.
      Parameters:
      initialCapacity - The initial capacity of the WeakHashMap
      loadFactor - The load factor of the WeakHashMap
      Throws:
      IllegalArgumentException - If the initial capacity is less than zero, or if the load factor is nonpositive
    • SoftValueHashMap

      public SoftValueHashMap(int initialCapacity)
      Constructs a new, empty WeakHashMap with the given initial capacity and the default load factor, which is 0.75.
      Parameters:
      initialCapacity - The initial capacity of the WeakHashMap
      Throws:
      IllegalArgumentException - If the initial capacity is less than zero
    • SoftValueHashMap

      public SoftValueHashMap()
      Constructs a new, empty WeakHashMap with the default initial capacity and the default load factor, which is 0.75.
    • SoftValueHashMap

      public SoftValueHashMap(Map<K,V> t)
      Constructs a new WeakHashMap with the same mappings as the specified Map. The WeakHashMap is created with an initial capacity of twice the number of mappings in the specified map or 11 (whichever is greater), and a default load factor, which is 0.75.
      Parameters:
      t - the map whose mappings are to be placed in this map.
  • Method Details

    • entrySet

      public Set<Map.Entry<K,V>> entrySet()
      Returns a set of the mappings contained in this hash table.
      Specified by:
      entrySet in interface Map<K,V>
    • processQueue

      private void processQueue()
    • size

      public int size()
      Returns the number of key-value mappings in this map. Note: In contrast with most implementations of the Map interface, the time required by this operation is linear in the size of the map.
      Specified by:
      size in interface Map<K,V>
    • isEmpty

      public boolean isEmpty()
      Returns true if this map contains no key-value mappings.
      Specified by:
      isEmpty in interface Map<K,V>
    • containsKey

      public boolean containsKey(Object key)
      Returns true if this map contains a mapping for the specified key.
      Specified by:
      containsKey in interface Map<K,V>
      Parameters:
      key - The key whose presence in this map is to be tested.
    • get

      public V get(Object key)
      Returns the value to which this map maps the specified key. If this map does not contain a value for this key, then return null.
      Specified by:
      get in interface Map<K,V>
      Parameters:
      key - The key whose associated value, if any, is to be returned.
    • put

      public V put(K key, V value)
      Updates this map so that the given key maps to the given value. If the map previously contained a mapping for key then that mapping is replaced and the previous value is returned.
      Specified by:
      put in interface Map<K,V>
      Parameters:
      key - The key that is to be mapped to the given value
      value - The value to which the given key is to be mapped
      Returns:
      The previous value to which this key was mapped, or null if if there was no mapping for the key
    • remove

      public V remove(Object key)
      Removes the mapping for the given key from this map, if present.
      Specified by:
      remove in interface Map<K,V>
      Parameters:
      key - The key whose mapping is to be removed.
      Returns:
      The value to which this key was mapped, or null if there was no mapping for the key.
    • clear

      public void clear()
      Removes all mappings from this map.
      Specified by:
      clear in interface Map<K,V>
    • containsValue

      public boolean containsValue(Object arg0)
      Specified by:
      containsValue in interface Map<K,V>
    • keySet

      public Set<K> keySet()
      Specified by:
      keySet in interface Map<K,V>
    • putAll

      public void putAll(Map<? extends K,? extends V> arg0)
      Specified by:
      putAll in interface Map<K,V>
    • values

      public Collection<V> values()
      Specified by:
      values in interface Map<K,V>
    • valueOrNull

      private V valueOrNull(SoftValueHashMap.SoftValueRef<K,V> rtn)