Class 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.
    • 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​(jakarta.servlet.ServletContext context,
                         Map<String,​String> 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​(jakarta.servlet.http.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​(jakarta.servlet.http.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​(jakarta.servlet.http.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​(jakarta.servlet.http.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.