package ri.cache.eviction;
import javax.cache.CacheEntry;
import javax.cache.Cache;
import java.util.Map;
/**
*
*
*/
public interface EvictionStrategy<K,V>
{
/**
*
* @param key
* @param value
* @param ttl
*/
public CacheEntry<K,V> createEntry(K key, V value, long ttl);
/**
*
* @param entry
*/
public void discardEntry(CacheEntry<K,V> entry);
/**
*
* @param entry
*/
public void touchEntry(CacheEntry<K,V> entry);
/**
*
*/
public void clear();
/**
*
* @param cache
*/
public Map<K,V> evict(Cache<K,V> cache);
}
|