Interface CacheFile


@ProviderType public interface CacheFile
A cache file contains the response headers and body that can be delivered on subsequent requests for the same resource. TODO: currently there are methods that only makes sense while either using an existing cache file or creating a new one: it might be more appropriate to create separate interfaces for that.
  • Method Details

    • getKey

      String getKey()
      Return the cache key.
      Returns:
      cache key
    • getHeaders

      Headers getHeaders()
      Return the HTTP response headers stored with this entry.
      Returns:
      response headers
    • spool

      void spool(HttpServletResponse response) throws IOException
      Spool the cache file's contents to a response.
      Parameters:
      response - servlet response
      Throws:
      IOException - if an I/O error occurs
    • getOutputStream

      ServletOutputStream getOutputStream(ServletOutputStream base) throws IOException
      Open an output stream that will contain a copy of the response body.
      Parameters:
      base - base output stream
      Returns:
      servlet output stream
      Throws:
      IOException - if an I/O error occurs
    • getWriter

      PrintWriter getWriter(PrintWriter base, String encoding) throws IOException
      Open a print writer.
      Parameters:
      base - base writer
      encoding - response body encoding
      Returns:
      writer
      Throws:
      IOException - if an I/O error occurs
    • save

      boolean save()
      Keep this cache file.
      Returns:
      true if the save was successful; false otherwise
    • discard

      void discard()
      Discard this cache file.