Class WeakReferenceMap<K,​V>

  • Type Parameters:
    K - the type of keys maintained by this map
    V - the type of mapped values
    All Implemented Interfaces:
    java.util.Map<K,​V>
    Direct Known Subclasses:
    WeakReferenceHashMap

    public abstract class WeakReferenceMap<K,​V>
    extends ReferenceMap<K,​V>
    This is a Map implementation designed specifically for people intending to create a cache. The keys are held strongly, but the values are held weakly, so the values can be garbage-collected. When an entry is garbage-collected, its key is removed from the Map on the next Map activity. Subclasses of this map are required to provide the actual Map functionality.

    The entrySet() and values() methods of this class do not work.

    Author:
    Matthew Wakeling
    See Also:
    WeakReference
    • Constructor Detail

      • WeakReferenceMap

        public WeakReferenceMap()
    • Method Detail

      • newRef

        protected org.intermine.util.WeakReferenceMap.WeakReferenceWithKey<K> newRef​(java.lang.Object value,
                                                                                     java.lang.ref.ReferenceQueue<java.lang.Object> queue,
                                                                                     K key)
        Returns a new WeakReferenceWithKey object for the given objects.
        Specified by:
        newRef in class ReferenceMap<K,​V>
        Parameters:
        value - an Object
        queue - a ReferenceQueue
        key - an Object
        Returns:
        a WeakReferenceWithKey object