org.jboss.cache.eviction
Interface EvictionAlgorithm

All Known Implementing Classes:
AopLRUAlgorithm, BaseEvictionAlgorithm, BaseSortedEvictionAlgorithm, ElementSizeAlgorithm, FIFOAlgorithm, LFUAlgorithm, LRUAlgorithm, MRUAlgorithm

public interface EvictionAlgorithm

Interface for all eviction algorithms.

Note: None of the Eviction classes are thread safe. It is assumed that an individual instance of an EvictionPolicy/ EvictionAlgorithm/EvictionQueue/EvictionConfiguration are only operated on by one thread at any given time.

Version:
$Revision: 1.2 $
Author:
Ben Wang 2-2004, Daniel Huang - dhuang@jboss.org - 10/2005

Method Summary
 EvictionQueue getEvictionQueue()
          Get the EvictionQueue implementation used by this algorithm.
 void process(Region region)
          Entry point for evictin algorithm.
 void resetEvictionQueue(Region region)
          Reset the whole eviction queue.
 

Method Detail

process

void process(Region region)
             throws EvictionException
Entry point for evictin algorithm. This is an api called by the EvictionTimerTask to process the node events in waiting and actual pruning, if necessary.

Parameters:
region - Region that this algorithm will operate on.
Throws:
EvictionException

resetEvictionQueue

void resetEvictionQueue(Region region)
Reset the whole eviction queue. Queue may needs to be reset due to corrupted state, for example.

Parameters:
region - Region that this algorithm will operate on.

getEvictionQueue

EvictionQueue getEvictionQueue()
Get the EvictionQueue implementation used by this algorithm.

Returns:
the EvictionQueue implementation.


Copyright 1998-2005 JBoss Inc . All Rights Reserved.