org.jboss.cache.eviction
Class ElementSizeAlgorithm

java.lang.Object
  extended by org.jboss.cache.eviction.BaseEvictionAlgorithm
      extended by org.jboss.cache.eviction.BaseSortedEvictionAlgorithm
          extended by org.jboss.cache.eviction.ElementSizeAlgorithm
All Implemented Interfaces:
EvictionAlgorithm

public class ElementSizeAlgorithm
extends BaseSortedEvictionAlgorithm

Version:
$Revision: 7168 $
Author:
Daniel Huang

Field Summary
 
Fields inherited from class org.jboss.cache.eviction.BaseEvictionAlgorithm
allowTombstones, cache, configuration, evictionActionPolicy, evictionAlgorithmConfig, evictionQueue, recycleQueue, regionFqn
 
Constructor Summary
ElementSizeAlgorithm()
           
 
Method Summary
 Class<? extends EvictionAlgorithmConfig> getConfigurationClass()
          This is a helper so that the XML parser will be able to select and use the correct EvictionAlgorithmConfig implementation class corresponding to this EvictionAlgorithm.
protected  void prune()
           
protected  EvictionQueue setupEvictionQueue()
          This method will create an EvictionQueue implementation and prepare it for use.
protected  boolean shouldEvictNode(NodeEntry ne)
          This method will check whether the given node should be evicted or not.
 
Methods inherited from class org.jboss.cache.eviction.BaseSortedEvictionAlgorithm
processQueues, resortEvictionQueue
 
Methods inherited from class org.jboss.cache.eviction.BaseEvictionAlgorithm
assignToRegion, canIgnoreEvent, emptyRecycleQueue, evict, evictCacheNode, getEvictionActionPolicy, getEvictionAlgorithmConfig, getEvictionQueue, getNextInQueue, initialize, isNodeInUseAndNotTimedOut, isYoungerThanMinimumTimeToLive, process, processAddedElement, processAddedNodes, processAddedNodes, processMarkInUseNodes, processRemovedElement, processRemovedNodes, processUnmarkInUseNodes, processVisitedNodes, resetEvictionQueue, setEvictionActionPolicy, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ElementSizeAlgorithm

public ElementSizeAlgorithm()
Method Detail

setupEvictionQueue

protected EvictionQueue setupEvictionQueue()
                                    throws EvictionException
Description copied from class: BaseEvictionAlgorithm
This method will create an EvictionQueue implementation and prepare it for use.

Specified by:
setupEvictionQueue in class BaseEvictionAlgorithm
Returns:
The created EvictionQueue to be used as the eviction queue for this algorithm.
Throws:
EvictionException - if there are problems
See Also:
EvictionQueue

shouldEvictNode

protected boolean shouldEvictNode(NodeEntry ne)
Description copied from class: BaseEvictionAlgorithm
This method will check whether the given node should be evicted or not.

Specified by:
shouldEvictNode in class BaseEvictionAlgorithm
Parameters:
ne - NodeEntry to test eviction for.
Returns:
True if the given node should be evicted. False if the given node should not be evicted.

prune

protected void prune()
              throws EvictionException
Overrides:
prune in class BaseEvictionAlgorithm
Throws:
EvictionException

getConfigurationClass

public Class<? extends EvictionAlgorithmConfig> getConfigurationClass()
Description copied from interface: EvictionAlgorithm
This is a helper so that the XML parser will be able to select and use the correct EvictionAlgorithmConfig implementation class corresponding to this EvictionAlgorithm. E.g., the FIFOAlgorithm would return FIFOAlgorithmConfig.class.

Returns:
a class that is used to configure this EvictionAlgorithm.


Copyright © 2009 JBoss, a division of Red Hat. All Rights Reserved.