Transfer version 1.1

transfer.com.cache
Class SoftReferenceRegister

WEB-INF.cftags.component
        extended by transfer.com.cache.SoftReferenceRegister
Direct Known Subclasses:
DummySoftReferenceRegister

public class SoftReferenceRegister
extends WEB-INF.cftags.component

Manages Soft references, specifically for each facade type


Constructor Summary
init(AbstractBaseFacade facade, EventManager eventManager, CacheMonitor cacheMonitor)
          Constructor
 
Method Summary
 void clearAllReferences()
          clear and queue all the soft refrences stored in here
private CacheMonitor getCacheMonitor()
private EventManager getEventManager()
private AbstractBaseFacade getFacade()
private struct getReferenceClassMap()
private any getReferenceQueue()
          java.lang.ref.ReferenceQueue
private numeric getStackCount()
          returns the stack count
private any getStackCountLocal()
private any getThread()
 void reap(numeric secondLimit, [boolean yieldOnLoop='false'])
          this has been seperated out, so the cf8 version can do this async
 any register(TransferObject transfer)
          Registers a new TransferObject with the Handler, and returns a java.ref.softReference
private void resetStackCount()
          resets the stack cout to 0
private void setCacheMonitor(CacheMonitor cacheMonitor)
private void setEventManager(EventManager eventManager)
private void setFacade(AbstractBaseFacade Facade)
private void setReferenceClassMap(struct ReferenceClassMap)
private void setReferenceQueue(any ReferenceQueue)
private void setStackCountLocal(any StackCountLocal)
private void setThread(any Thread)
 
Methods inherited from class WEB-INF.cftags.component
 

Constructor Detail

init

public init(AbstractBaseFacade facade, EventManager eventManager, CacheMonitor cacheMonitor)
Constructor

Parameters:
facade - The facade this SoftReferenceRegister is connected to
eventManager
cacheMonitor - The cache monitor
Method Detail

clearAllReferences

public void clearAllReferences()
clear and queue all the soft refrences stored in here


getCacheMonitor

private CacheMonitor getCacheMonitor()


getEventManager

private EventManager getEventManager()


getFacade

private AbstractBaseFacade getFacade()


getReferenceClassMap

private struct getReferenceClassMap()


getReferenceQueue

private any getReferenceQueue()
java.lang.ref.ReferenceQueue


getStackCount

private numeric getStackCount()
returns the stack count


getStackCountLocal

private any getStackCountLocal()


getThread

private any getThread()


reap

public void reap(numeric secondLimit, [boolean yieldOnLoop='false'])
this has been seperated out, so the cf8 version can do this async

Parameters:
secondLimit - The second limit on reaping, 0 is unlimited
yieldOnLoop - whether or not to yield() at end of every loop

register

public any register(TransferObject transfer)
Registers a new TransferObject with the Handler, and returns a java.ref.softReference

Parameters:
transfer - The transfer object

resetStackCount

private void resetStackCount()
resets the stack cout to 0


setCacheMonitor

private void setCacheMonitor(CacheMonitor cacheMonitor)

Parameters:
cacheMonitor

setEventManager

private void setEventManager(EventManager eventManager)

Parameters:
eventManager

setFacade

private void setFacade(AbstractBaseFacade Facade)

Parameters:
Facade

setReferenceClassMap

private void setReferenceClassMap(struct ReferenceClassMap)

Parameters:
ReferenceClassMap

setReferenceQueue

private void setReferenceQueue(any ReferenceQueue)

Parameters:
ReferenceQueue - java.lang.ref.ReferenceQueue

setStackCountLocal

private void setStackCountLocal(any StackCountLocal)

Parameters:
StackCountLocal

setThread

private void setThread(any Thread)

Parameters:
Thread

Transfer version 1.1