martin.common
Class CacheMap<K,V extends Sizeable>
java.lang.Object
martin.common.CacheMap<K,V>
- All Implemented Interfaces:
- java.lang.Iterable<K>
public class CacheMap<K,V extends Sizeable>
- extends java.lang.Object
- implements java.lang.Iterable<K>
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
hashMap
private java.util.HashMap<K,V extends Sizeable> hashMap
sizes
private java.util.HashMap<K,java.lang.Long> sizes
priority
private java.util.LinkedList<K> priority
maxSize
private long maxSize
currentSize
private long currentSize
factory
private Function<V extends Sizeable> factory
logger
private java.util.logging.Logger logger
CacheMap
public CacheMap(long maxSize)
CacheMap
public CacheMap(long maxSize,
Function<V> factory,
java.util.logging.Logger logger)
get
public V get(K key)
put
public void put(K key,
V value)
listKeys
public java.lang.String listKeys()
free
private void free()
remove
public V remove(K key)
containsKey
public boolean containsKey(K key)
iterator
public java.util.Iterator<K> iterator()
- Specified by:
iterator
in interface java.lang.Iterable<K>
keySet
public java.util.Set<K> keySet()
values
public java.util.Collection<V> values()
main
public static void main(java.lang.String[] args)
getOrCreate
public V getOrCreate(K key)
clear
public void clear()