Java EE 5 SDK

com.sun.appserv.web.cache
Class DefaultCacheHelper

java.lang.Object
  extended by com.sun.appserv.web.cache.DefaultCacheHelper
All Implemented Interfaces:
CacheHelper

public class DefaultCacheHelper
extends Object
implements CacheHelper

DefaultCacheHelper interface is the built-in implementation of the CacheHelper interface to aide in: a) the key generation b) whether to cache the response. There is one CacheHelper instance per web application.


Field Summary
static String ATTR_CACHING_FILTER_NAME
           
static String PROP_KEY_GENERATOR_ATTR_NAME
           
 
Fields inherited from interface com.sun.appserv.web.cache.CacheHelper
ATTR_CACHE_MAPPED_SERVLET_NAME, ATTR_CACHE_MAPPED_URL_PATTERN, TIMEOUT_VALUE_NOT_SET
 
Constructor Summary
DefaultCacheHelper()
           
 
Method Summary
 void destroy()
          Stop this Context component.
 String getCacheKey(HttpServletRequest request)
          getCacheKey: generate the key to be used to cache this request
 int getTimeout(HttpServletRequest request)
          get timeout for the cacheable data in this request
 void init(ServletContext context, Map props)
          initialize this helper
 boolean isCacheable(HttpServletRequest request)
          isCacheable: is the response to given request cachebale?
 boolean isRefreshNeeded(HttpServletRequest request)
          isRefreshNeeded: is the response to given request be refreshed?
 void setCacheManager(CacheManager manager)
          set the CacheManager for this application
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ATTR_CACHING_FILTER_NAME

public static final String ATTR_CACHING_FILTER_NAME
See Also:
Constant Field Values

PROP_KEY_GENERATOR_ATTR_NAME

public static final String PROP_KEY_GENERATOR_ATTR_NAME
See Also:
Constant Field Values
Constructor Detail

DefaultCacheHelper

public DefaultCacheHelper()
Method Detail

setCacheManager

public void setCacheManager(CacheManager manager)
set the CacheManager for this application

Parameters:
manager - associated with this application

init

public void init(ServletContext context,
                 Map props)
initialize this helper

Specified by:
init in interface CacheHelper
Parameters:
context - the web application context this helper belongs to
props - helper properties

getCacheKey

public String getCacheKey(HttpServletRequest request)
getCacheKey: generate the key to be used to cache this request

Specified by:
getCacheKey in interface CacheHelper
Parameters:
request - incoming HttpServletRequest
Returns:
key string used to access the cache entry. Key is composed of: servletPath + a concatenation of the field values in the request; all key field names must be found in the appropriate scope.

isCacheable

public boolean isCacheable(HttpServletRequest request)
isCacheable: is the response to given request cachebale?

Specified by:
isCacheable in interface CacheHelper
Parameters:
request - incoming HttpServletRequest object
Returns:
true if the response could be cached. or return false if the results of this request must not be cached. Applies pre-configured cacheability constraints in the cache-mapping; all constraints must pass for this to be cacheable.

isRefreshNeeded

public boolean isRefreshNeeded(HttpServletRequest request)
isRefreshNeeded: is the response to given request be refreshed?

Specified by:
isRefreshNeeded in interface CacheHelper
Parameters:
request - incoming HttpServletRequest object
Returns:
true if the response needs to be refreshed. or return false if the results of this request don't need to be refreshed. XXX: 04/16/02 right now there is no configurability for this in ias-web.xml; should add a refresh-field element there:

getTimeout

public int getTimeout(HttpServletRequest request)
get timeout for the cacheable data in this request

Specified by:
getTimeout in interface CacheHelper
Parameters:
request - incoming HttpServletRequest object
Returns:
either the statically specified value or from the request fields. If not specified, get the timeout defined for the cache element.

destroy

public void destroy()
             throws Exception
Stop this Context component.

Specified by:
destroy in interface CacheHelper
Throws:
Exception - if a shutdown error occurs

Java EE 5 SDK

Submit a bug or feature

Copyright 2006 Sun Microsystems, Inc. All rights reserved.