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:
Map<K,V>

public class SoftHashMap<K,V>
extends 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
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>
 
Nested classes/interfaces inherited from interface java.util.Map
Map.Entry<K,V>
 
Field Summary
static boolean DEBUG
           
static int DEFAULT_LIMIT
           
 
Constructor Summary
SoftHashMap()
           
SoftHashMap(int hardSize)
           
 
Method Summary
 void clear()
           
 Set<Map.Entry<K,V>> entrySet()
           
 V get(Object key)
           
 V put(K key, V value)
          Here we put the key, value pair into the HashMap using a SoftValue object.
 V remove(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(Object key)
Specified by:
get in interface Map<K,V>
Overrides:
get in class 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 Map<K,V>
Overrides:
put in class AbstractMap<K,V>

remove

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

clear

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

size

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

entrySet

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