Class HttpCacheEntry

  • All Implemented Interfaces:
    java.io.Serializable

    @Contract(threading=IMMUTABLE)
    public class HttpCacheEntry
    extends java.lang.Object
    implements java.io.Serializable
    Structure used to store an HttpResponse in a cache. Some entries can optionally depend on system resources that may require explicit deallocation. In such a case getResource() should return a non null instance of Resource that must be deallocated by calling Resource.dispose() method when no longer used.
    Since:
    4.1
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      HttpCacheEntry​(java.util.Date requestDate, java.util.Date responseDate, org.apache.http.StatusLine statusLine, org.apache.http.Header[] responseHeaders, Resource resource)
      Create a new HttpCacheEntry.
      HttpCacheEntry​(java.util.Date requestDate, java.util.Date responseDate, org.apache.http.StatusLine statusLine, org.apache.http.Header[] responseHeaders, Resource resource, java.lang.String requestMethod)
      Create a new HttpCacheEntry.
      HttpCacheEntry​(java.util.Date requestDate, java.util.Date responseDate, org.apache.http.StatusLine statusLine, org.apache.http.Header[] responseHeaders, Resource resource, java.util.Map<java.lang.String,​java.lang.String> variantMap)
      Create a new HttpCacheEntry with variants.
      HttpCacheEntry​(java.util.Date requestDate, java.util.Date responseDate, org.apache.http.StatusLine statusLine, org.apache.http.Header[] responseHeaders, Resource resource, java.util.Map<java.lang.String,​java.lang.String> variantMap, java.lang.String requestMethod)
      Create a new HttpCacheEntry with variants.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.apache.http.Header[] getAllHeaders()
      Returns all the headers that were on the origin response.
      java.util.Date getDate()
      Gets the Date value of the "Date" header or null if the header is missing or cannot be parsed.
      org.apache.http.Header getFirstHeader​(java.lang.String name)
      Returns the first header from the origin response with the given name.
      org.apache.http.Header[] getHeaders​(java.lang.String name)
      Gets all the headers with the given name that were on the origin response.
      org.apache.http.ProtocolVersion getProtocolVersion()
      Returns the ProtocolVersion from the origin HttpResponse.
      java.lang.String getReasonPhrase()
      Gets the reason phrase from the origin HttpResponse, for example, "Not Modified".
      java.util.Date getRequestDate()
      Returns the time the associated origin request was initiated by the caching module.
      java.lang.String getRequestMethod()
      Returns the HTTP request method that was used to create the cached response entry.
      Resource getResource()
      Returns the Resource containing the origin response body.
      java.util.Date getResponseDate()
      Returns the time the origin response was received by the caching module.
      int getStatusCode()
      Returns the HTTP response code from the origin HttpResponse.
      org.apache.http.StatusLine getStatusLine()
      Returns the StatusLine from the origin HttpResponse.
      java.util.Map<java.lang.String,​java.lang.String> getVariantMap()
      Returns an index about where in the cache different variants for a given resource are stored.
      boolean hasVariants()
      Indicates whether the origin response indicated the associated resource had variants (i.e.
      java.lang.String toString()
      Provides a string representation of this instance suitable for human consumption.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • HttpCacheEntry

        public HttpCacheEntry​(java.util.Date requestDate,
                              java.util.Date responseDate,
                              org.apache.http.StatusLine statusLine,
                              org.apache.http.Header[] responseHeaders,
                              Resource resource,
                              java.util.Map<java.lang.String,​java.lang.String> variantMap,
                              java.lang.String requestMethod)
        Create a new HttpCacheEntry with variants.
        Parameters:
        requestDate - Date/time when the request was made (Used for age calculations)
        responseDate - Date/time that the response came back (Used for age calculations)
        statusLine - HTTP status line from origin response
        responseHeaders - Header[] from original HTTP Response
        resource - representing origin response body
        variantMap - describing cache entries that are variants of this parent entry; this maps a "variant key" (derived from the varying request headers) to a "cache key" (where in the cache storage the particular variant is located)
        requestMethod - HTTP method used when the request was made
      • HttpCacheEntry

        public HttpCacheEntry​(java.util.Date requestDate,
                              java.util.Date responseDate,
                              org.apache.http.StatusLine statusLine,
                              org.apache.http.Header[] responseHeaders,
                              Resource resource,
                              java.util.Map<java.lang.String,​java.lang.String> variantMap)
        Create a new HttpCacheEntry with variants.
        Parameters:
        requestDate - Date/time when the request was made (Used for age calculations)
        responseDate - Date/time that the response came back (Used for age calculations)
        statusLine - HTTP status line from origin response
        responseHeaders - Header[] from original HTTP Response
        resource - representing origin response body
        variantMap - describing cache entries that are variants of this parent entry; this maps a "variant key" (derived from the varying request headers) to a "cache key" (where in the cache storage the particular variant is located)
      • HttpCacheEntry

        public HttpCacheEntry​(java.util.Date requestDate,
                              java.util.Date responseDate,
                              org.apache.http.StatusLine statusLine,
                              org.apache.http.Header[] responseHeaders,
                              Resource resource)
        Create a new HttpCacheEntry.
        Parameters:
        requestDate - Date/time when the request was made (Used for age calculations)
        responseDate - Date/time that the response came back (Used for age calculations)
        statusLine - HTTP status line from origin response
        responseHeaders - Header[] from original HTTP Response
        resource - representing origin response body
      • HttpCacheEntry

        public HttpCacheEntry​(java.util.Date requestDate,
                              java.util.Date responseDate,
                              org.apache.http.StatusLine statusLine,
                              org.apache.http.Header[] responseHeaders,
                              Resource resource,
                              java.lang.String requestMethod)
        Create a new HttpCacheEntry.
        Parameters:
        requestDate - Date/time when the request was made (Used for age calculations)
        responseDate - Date/time that the response came back (Used for age calculations)
        statusLine - HTTP status line from origin response
        responseHeaders - Header[] from original HTTP Response
        resource - representing origin response body
        requestMethod - HTTP method used when the request was made
    • Method Detail

      • getStatusLine

        public org.apache.http.StatusLine getStatusLine()
        Returns the StatusLine from the origin HttpResponse.
      • getProtocolVersion

        public org.apache.http.ProtocolVersion getProtocolVersion()
        Returns the ProtocolVersion from the origin HttpResponse.
      • getReasonPhrase

        public java.lang.String getReasonPhrase()
        Gets the reason phrase from the origin HttpResponse, for example, "Not Modified".
      • getStatusCode

        public int getStatusCode()
        Returns the HTTP response code from the origin HttpResponse.
      • getRequestDate

        public java.util.Date getRequestDate()
        Returns the time the associated origin request was initiated by the caching module.
        Returns:
        Date
      • getResponseDate

        public java.util.Date getResponseDate()
        Returns the time the origin response was received by the caching module.
        Returns:
        Date
      • getAllHeaders

        public org.apache.http.Header[] getAllHeaders()
        Returns all the headers that were on the origin response.
      • getFirstHeader

        public org.apache.http.Header getFirstHeader​(java.lang.String name)
        Returns the first header from the origin response with the given name.
      • getHeaders

        public org.apache.http.Header[] getHeaders​(java.lang.String name)
        Gets all the headers with the given name that were on the origin response.
      • getDate

        public java.util.Date getDate()
        Gets the Date value of the "Date" header or null if the header is missing or cannot be parsed.
        Since:
        4.3
      • getResource

        public Resource getResource()
        Returns the Resource containing the origin response body.
      • hasVariants

        public boolean hasVariants()
        Indicates whether the origin response indicated the associated resource had variants (i.e. that the Vary header was set on the origin response).
        Returns:
        true if this cached response was a variant
      • getVariantMap

        public java.util.Map<java.lang.String,​java.lang.String> getVariantMap()
        Returns an index about where in the cache different variants for a given resource are stored. This maps "variant keys" to "cache keys", where the variant key is derived from the varying request headers, and the cache key is the location in the HttpCacheStorage where that particular variant is stored. The first variant returned is used as the "parent" entry to hold this index of the other variants.
      • getRequestMethod

        public java.lang.String getRequestMethod()
        Returns the HTTP request method that was used to create the cached response entry.
        Since:
        4.4
      • toString

        public java.lang.String toString()
        Provides a string representation of this instance suitable for human consumption.
        Overrides:
        toString in class java.lang.Object