org.atmosphere.cache
Class BroadcasterCacheBase

java.lang.Object
  extended by org.atmosphere.cache.BroadcasterCacheBase
All Implemented Interfaces:
BroadcasterCache<javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse>
Direct Known Subclasses:
HeaderBroadcasterCache, SessionBroadcasterCache

public abstract class BroadcasterCacheBase
extends Object
implements BroadcasterCache<javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse>

Abstract BroadcasterCache which is used to implement headers or query parameters or session based caching.

Author:
Jeanfrancois Arcand

Nested Class Summary
protected static class BroadcasterCacheBase.CachedMessage
           
 
Nested classes/interfaces inherited from interface org.atmosphere.cpr.BroadcasterCache
BroadcasterCache.STRATEGY
 
Field Summary
protected  int maxCachedinMs
           
protected  List<BroadcasterCacheBase.CachedMessage> queue
           
protected  ScheduledExecutorService reaper
           
 
Fields inherited from interface org.atmosphere.cpr.BroadcasterCache
BROADCASTER_CACHE_TRACKER
 
Constructor Summary
BroadcasterCacheBase()
           
 
Method Summary
 void addToCache(AtmosphereResource<javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse> resource, Object object)
          Start tracking messages associated with AtmosphereResource from the cache
abstract  void cache(AtmosphereResource<javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse> r, BroadcasterCacheBase.CachedMessage cm)
          Cache the last message broadcasted.
 int getMaxCachedinMs()
          Get the maximum time a broadcasted message can stay cached.
 List<Object> retrieveFromCache(AtmosphereResource<javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse> r)
          Retrieve messages associated with AtmosphereResource
abstract  BroadcasterCacheBase.CachedMessage retrieveLastMessage(AtmosphereResource<javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse> r)
          Return the last message broadcasted to the AtmosphereResource.
 void setExecutorService(ScheduledExecutorService reaper)
           
 void setMaxCachedinMs(int maxCachedinMs)
          Set the maximum time a broadcasted message can stay cached.
 void start()
          Start
 void stop()
          Stop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

queue

protected final List<BroadcasterCacheBase.CachedMessage> queue

reaper

protected ScheduledExecutorService reaper

maxCachedinMs

protected int maxCachedinMs
Constructor Detail

BroadcasterCacheBase

public BroadcasterCacheBase()
Method Detail

start

public final void start()
Start

Specified by:
start in interface BroadcasterCache<javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse>

setExecutorService

public void setExecutorService(ScheduledExecutorService reaper)

stop

public final void stop()
Stop

Specified by:
stop in interface BroadcasterCache<javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse>

addToCache

public final void addToCache(AtmosphereResource<javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse> resource,
                             Object object)
Start tracking messages associated with AtmosphereResource from the cache

Specified by:
addToCache in interface BroadcasterCache<javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse>
Parameters:
resource - AtmosphereResource
object - a broadcasted message.

cache

public abstract void cache(AtmosphereResource<javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse> r,
                           BroadcasterCacheBase.CachedMessage cm)
Cache the last message broadcasted.

Parameters:
r - AtmosphereResource.
cm - BroadcasterCacheBase.CachedMessage

retrieveLastMessage

public abstract BroadcasterCacheBase.CachedMessage retrieveLastMessage(AtmosphereResource<javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse> r)
Return the last message broadcasted to the AtmosphereResource.

Parameters:
r - AtmosphereResource.
Returns:
a BroadcasterCacheBase.CachedMessage, or null if not matched.

retrieveFromCache

public final List<Object> retrieveFromCache(AtmosphereResource<javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse> r)
Retrieve messages associated with AtmosphereResource

Specified by:
retrieveFromCache in interface BroadcasterCache<javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse>
Parameters:
r - AtmosphereResource
Returns:
a List of messages (String).

getMaxCachedinMs

public int getMaxCachedinMs()
Get the maximum time a broadcasted message can stay cached.

Returns:
Get the maximum time a broadcasted message can stay cached.

setMaxCachedinMs

public void setMaxCachedinMs(int maxCachedinMs)
Set the maximum time a broadcasted message can stay cached.

Parameters:
maxCachedinMs - time in milliseconds


Copyright © 2011. All Rights Reserved.