cascading.util.cache
Class DirectMappedCache<Key,Value>
java.lang.Object
cascading.util.cache.DirectMappedCache<Key,Value>
- All Implemented Interfaces:
- CascadingCache<Key,Value>, Map<Key,Value>
public final class DirectMappedCache<Key,Value>
- extends Object
- implements CascadingCache<Key,Value>
DirectMappedCache is an implementation of the CascadingCache
interface following the semantics of
http://en.wikipedia.org/wiki/CPU_cache#Direct-mapped_cache. The Cache is backed by an array that stays constant in size.
Unlike other implementation of a Map a hash collision will lead to the entry being overwritten.
The CacheEvictionCallback
is called with the entry that will be overwritten.
Use this cache if the keys are arriving in a random if not uniformly distributed order in order to reduce the number
of hash and equality comparisons.
If duplicate keys are clustered near each other in the incoming tuple stream, consider the LRUHashMapCache
cache
instead.
DirectMappedCache does not permit null
keys nor null
values
- See Also:
Unique
,
AggregateBy
,
DirectMappedCacheFactory
,
LRUHashMapCacheFactory
,
LRUHashMapCache
Nested classes/interfaces inherited from interface java.util.Map |
Map.Entry<K,V> |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
initialized
public boolean initialized
DirectMappedCache
public DirectMappedCache()
size
public int size()
- Specified by:
size
in interface Map<Key,Value>
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty
in interface Map<Key,Value>
containsKey
public boolean containsKey(Object key)
- Specified by:
containsKey
in interface Map<Key,Value>
containsValue
public boolean containsValue(Object value)
- Specified by:
containsValue
in interface Map<Key,Value>
get
public Value get(Object key)
- Specified by:
get
in interface Map<Key,Value>
put
public Value put(Key key,
Value value)
- Specified by:
put
in interface Map<Key,Value>
remove
public Value remove(Object key)
- Specified by:
remove
in interface Map<Key,Value>
putAll
public void putAll(Map<? extends Key,? extends Value> m)
- Specified by:
putAll
in interface Map<Key,Value>
clear
public void clear()
- Specified by:
clear
in interface Map<Key,Value>
keySet
public Set<Key> keySet()
- Specified by:
keySet
in interface Map<Key,Value>
values
public Collection<Value> values()
- Specified by:
values
in interface Map<Key,Value>
entrySet
public Set<Map.Entry<Key,Value>> entrySet()
- Specified by:
entrySet
in interface Map<Key,Value>
getCapacity
public int getCapacity()
- Description copied from interface:
CascadingCache
- Returns the capacity of this cache.
- Specified by:
getCapacity
in interface CascadingCache<Key,Value>
setCacheEvictionCallback
public void setCacheEvictionCallback(CacheEvictionCallback cacheEvictionCallback)
- Description copied from interface:
CascadingCache
- Sets the
CacheEvictionCallback
of this Cache.
- Specified by:
setCacheEvictionCallback
in interface CascadingCache<Key,Value>
setCapacity
public void setCapacity(int capacity)
- Description copied from interface:
CascadingCache
- Sets the capacity of the Cache.
- Specified by:
setCapacity
in interface CascadingCache<Key,Value>
initialize
public void initialize()
- Description copied from interface:
CascadingCache
- Method to initialize the Cache. Any setup should be done in here.
- Specified by:
initialize
in interface CascadingCache<Key,Value>
Copyright © 2007-2015 Concurrent, Inc. All Rights Reserved.