com.hazelcast.cache.impl.eviction.impl.strategy
Class AbstractEvictionStrategy<A,E extends Evictable,S extends EvictableStore<A,E>>
java.lang.Object
com.hazelcast.cache.impl.eviction.impl.strategy.AbstractEvictionStrategy<A,E,S>
- All Implemented Interfaces:
- EvictionStrategy<A,E,S>
- Direct Known Subclasses:
- SamplingBasedEvictionStrategy
public abstract class AbstractEvictionStrategy<A,E extends Evictable,S extends EvictableStore<A,E>>
- extends Object
- implements EvictionStrategy<A,E,S>
Base class for eviction implementations to evict EvictableStore
implementations as specified
EvictionPolicyEvaluator
.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AbstractEvictionStrategy
public AbstractEvictionStrategy()
evict
public int evict(S evictableStore,
EvictionPolicyEvaluator<A,E> evictionPolicyEvaluator,
EvictionChecker evictionChecker)
- Does eviction if eviction is required by given
EvictionChecker
.
- Specified by:
evict
in interface EvictionStrategy<A,E extends Evictable,S extends EvictableStore<A,E>>
- Parameters:
evictableStore
- Store that holds Evictable
entriesevictionPolicyEvaluator
- EvictionPolicyEvaluator
to evaluate
EvictionPolicy
on entriesevictionChecker
- EvictionChecker
to make a decision about if eviction is
required or not. If you want evict anyway,
you can use EvictionChecker.EVICT_ALWAYS
- Returns:
- evicted entry count
evictInternal
protected abstract int evictInternal(S evictableStore,
EvictionPolicyEvaluator<A,E> evictionPolicyEvaluator)
- Does eviction internally.
- Parameters:
evictableStore
- Store that holds Evictable
entriesevictionPolicyEvaluator
- EvictionPolicyEvaluator
to evaluate
EvictionPolicy
on entries
- Returns:
- evicted entry count
Copyright © 2015 Hazelcast, Inc.. All Rights Reserved.