public class HistoricalDataCacheExpiringImpl extends Object implements HistoricalDataCache, ScheduleHandleCallback
The cache reference type indicates which backing Map is used: Weak type uses the WeakHashMap, Soft type uses the apache commons ReferenceMap, and Hard type simply uses a HashMap.
Constructor and Description |
---|
HistoricalDataCacheExpiringImpl(double maxAgeSec,
double purgeIntervalSec,
CacheReferenceType cacheReferenceType,
AgentInstanceContext agentInstanceContext,
long scheduleSlot)
Ctor.
|
Modifier and Type | Method and Description |
---|---|
void |
destroy() |
EventTable[] |
getCached(Object methodParams)
Ask the cache if the keyed value is cached, returning a list or rows if the key is in the cache,
or returning null to indicate no such key cached.
|
protected double |
getMaxAgeSec()
Returns the maximum age in milliseconds.
|
double |
getPurgeIntervalSec() |
protected long |
getSize()
Returns the current cache size.
|
boolean |
isActive()
Returns true if the cache is active and currently caching, or false if the cache is inactive and not currently caching
|
void |
put(Object methodParams,
EventTable[] rows)
Puts into the cache a key and a list of rows, or an empty list if zero rows.
|
void |
scheduledTrigger()
Callback that is invoked as indicated by a schedule added to the scheduling service.
|
public HistoricalDataCacheExpiringImpl(double maxAgeSec, double purgeIntervalSec, CacheReferenceType cacheReferenceType, AgentInstanceContext agentInstanceContext, long scheduleSlot)
maxAgeSec
- is the maximum age in secondspurgeIntervalSec
- is the purge interval in secondscacheReferenceType
- indicates whether hard, soft or weak references are used in the cacheagentInstanceContext
- agent instance contextscheduleSlot
- slot for scheduling callbacks for this cachepublic EventTable[] getCached(Object methodParams)
HistoricalDataCache
getCached
in interface HistoricalDataCache
methodParams
- is the keys to look up in the cachepublic void put(Object methodParams, EventTable[] rows)
HistoricalDataCache
The put method is designed to be called when the cache does not contain a key as determined by the get method. Implementations typically simply overwrite any keys put into the cache that already existed in the cache.
put
in interface HistoricalDataCache
methodParams
- is the keys to the cache entryrows
- is a number of rowsprotected double getMaxAgeSec()
public double getPurgeIntervalSec()
public boolean isActive()
HistoricalDataCache
isActive
in interface HistoricalDataCache
protected long getSize()
public void scheduledTrigger()
ScheduleHandleCallback
scheduledTrigger
in interface ScheduleHandleCallback
public void destroy()
destroy
in interface HistoricalDataCache
Copyright © 2005–2018. All rights reserved.