Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jboss.cache.eviction
Class AopLRUAlgorithm

    java.lang.Object
      org.jboss.cache.eviction.LRUAlgorithm
          org.jboss.cache.eviction.AopLRUAlgorithm

All Implemented Interfaces:
  EvictionAlgorithm

public class AopLRUAlgorithm
extends LRUAlgorithm

LRUAlgorithm specific to TreeCacheAop. Overriding couple of hooks to customize the algorithm such that it works correctly when using TreeCacheAop. The basic strategy for the AOP-specific case are:

- When a node is visited, it will check if it is an AOPInstance node. If it is, then it is an AOP node. In that case, we will update all children nodes' time stamp to synchronize with parent node.
- When a node is to be evicted, it will check if it an AOP node. If it is, we will traverse through the children nodes to see if their timestamp is younger. If it is younger, then we must not evict the whol aop node (i.e., parent node is not evicted either). Furthermore, we should synchronize the whole tree.

Author:
  Ben Wang, Feb 17, 2004

Field Summary

Fields inherited from class org.jboss.cache.eviction.LRUAlgorithm
`head_, log_, nodeMap_, region_, tail_`

Constructor Summary
`AopLRUAlgorithm()`

Method Summary
`protected Set` | `getAssociatedEvictNode(Fqn fqn)` Hook for evict.
`protected boolean` | `preAddedNodes(Fqn fqn)` Hook for processAddedNodes.
`protected boolean` | `preVisitedNodes(Fqn fqn, long stamp)` Hook for processVisitedNodes

Methods inherited from class org.jboss.cache.eviction.LRUAlgorithm
`demote, evict, evictionQueueSize, process, resetEvictionQueue`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### AopLRUAlgorithm

    public AopLRUAlgorithm()

Method Detail

### getAssociatedEvictNode

    protected Set getAssociatedEvictNode(Fqn fqn)

  Hook for evict.

  Parameters:
    `fqn` -
  Returns:
    Set of associated node to evict as well in string

### preAddedNodes

    protected boolean preAddedNodes(Fqn fqn)

  Hook for processAddedNodes.

### preVisitedNodes

    protected boolean preVisitedNodes(Fqn fqn,
                                      long stamp)

  Hook for processVisitedNodes

  Parameters:
    `fqn` -
  Returns:
    true if it is successful

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002 JBoss Group, LLC. All Rights Reserved.