org.biojava3.core.util
Class SoftHashMap<K,V>

java.lang.Object
  extended by java.util.AbstractMap<K,V>
      extended by org.biojava3.core.util.SoftHashMap<K,V>
All Implemented Interfaces:
java.util.Map<K,V>

public class SoftHashMap<K,V>
extends java.util.AbstractMap<K,V>

A in memory cache using soft references. (can be garbage collected) This code is based on: http://java-interview-faqs.blogspot.com/2008/09/building-faster-and-efficient-cache.html


Nested Class Summary
 
Nested classes/interfaces inherited from class java.util.AbstractMap
java.util.AbstractMap.SimpleEntry<K,V>, java.util.AbstractMap.SimpleImmutableEntry<K,V>
 
Nested classes/interfaces inherited from interface java.util.Map
java.util.Map.Entry<K,V>
 
Field Summary
static boolean DEBUG
           
static int DEFAULT_LIMIT
           
 
Constructor Summary
SoftHashMap()
           
SoftHashMap(int hardSize)
           
 
Method Summary
 void clear()
           
 java.util.Set<java.util.Map.Entry<K,V>> entrySet()
           
 V get(java.lang.Object key)
           
 V put(K key, V value)
          Here we put the key, value pair into the HashMap using a SoftValue object.
 V remove(java.lang.Object key)
           
 int size()
           
 
Methods inherited from class java.util.AbstractMap
clone, containsKey, containsValue, equals, hashCode, isEmpty, keySet, putAll, toString, values
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

DEBUG

public static final boolean DEBUG
See Also:
Constant Field Values

DEFAULT_LIMIT

public static final int DEFAULT_LIMIT
See Also:
Constant Field Values
Constructor Detail

SoftHashMap

public SoftHashMap()

SoftHashMap

public SoftHashMap(int hardSize)
Method Detail

get

public V get(java.lang.Object key)
Specified by:
get in interface java.util.Map<K,V>
Overrides:
get in class java.util.AbstractMap<K,V>

put

public V put(K key,
             V value)
Here we put the key, value pair into the HashMap using a SoftValue object.

Specified by:
put in interface java.util.Map<K,V>
Overrides:
put in class java.util.AbstractMap<K,V>

remove

public V remove(java.lang.Object key)
Specified by:
remove in interface java.util.Map<K,V>
Overrides:
remove in class java.util.AbstractMap<K,V>

clear

public void clear()
Specified by:
clear in interface java.util.Map<K,V>
Overrides:
clear in class java.util.AbstractMap<K,V>

size

public int size()
Specified by:
size in interface java.util.Map<K,V>
Overrides:
size in class java.util.AbstractMap<K,V>

entrySet

public java.util.Set<java.util.Map.Entry<K,V>> entrySet()
Specified by:
entrySet in interface java.util.Map<K,V>
Specified by:
entrySet in class java.util.AbstractMap<K,V>