View Javadoc

1   package com.atlassian.core.filters.cache;
2   
3   import javax.servlet.http.HttpServletResponse;
4   import javax.servlet.http.HttpServletRequest;
5   
6   /**
7    * A strategy for the {@link AbstractCachingFilter}.
8    * <p/>
9    * If an implementation returns true from {@link #matches(HttpServletRequest)}, the filter will call
10   * {@link #setCachingHeaders(HttpServletResponse)} for the strategy to apply the relevant caching headers.
11   *
12   * @see AbstractCachingFilter
13   * @since 4.0
14   */
15  public interface CachingStrategy
16  {
17      /**
18       * Returns true if the given request should be handled by this caching strategy.
19       */
20      boolean matches(HttpServletRequest request);
21  
22      /**
23       * Sets the relevant caching headers for the response.
24       */
25      void setCachingHeaders(HttpServletResponse response);
26  }