## org.apache.http.client.cache
Class HttpCacheEntry

    java.lang.Object
      org.apache.http.client.cache.HttpCacheEntry

All Implemented Interfaces:
  Serializable

    @Immutable
    public class HttpCacheEntry

extends Object
implements 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
`HttpCacheEntry(Date requestDate, Date responseDate, StatusLine statusLine, Header[] responseHeaders, Resource resource)` Create a new `HttpCacheEntry`.
`HttpCacheEntry(Date requestDate, Date responseDate, StatusLine statusLine, Header[] responseHeaders, Resource resource, Map<String,String> variantMap)` Create a new `HttpCacheEntry` with variants.

Method Summary
`Header[]` `getAllHeaders()` Returns all the headers that were on the origin response.
`Header` `getFirstHeader(String name)` Returns the first header from the origin response with the given name.
`Header[]` `getHeaders(String name)` Gets all the headers with the given name that were on the origin response.
`ProtocolVersion` `getProtocolVersion()` Returns the `ProtocolVersion` from the origin `HttpResponse`.
`String` `getReasonPhrase()` Gets the reason phrase from the origin `HttpResponse`, for example, "Not Modified".
`Date` `getRequestDate()` Returns the time the associated origin request was initiated by the caching module.
`Resource` `getResource()` Returns the `Resource` containing the origin response body.
`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`.
`StatusLine` `getStatusLine()` Returns the `StatusLine` from the origin `HttpResponse`.
`Map<String,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.
`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(Date requestDate,
                          Date responseDate,
                          StatusLine statusLine,
                          Header[] responseHeaders,
                          Resource resource,
                          Map<String,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(Date requestDate,
                          Date responseDate,
                          StatusLine statusLine,
                          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

Method Detail

### getStatusLine

    public StatusLine getStatusLine()

  Returns the `StatusLine` from the origin `HttpResponse`.

### getProtocolVersion

    public ProtocolVersion getProtocolVersion()

  Returns the `ProtocolVersion` from the origin `HttpResponse`.

### getReasonPhrase

    public 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 Date getRequestDate()

  Returns the time the associated origin request was initiated by the caching module.

  Returns:
    `Date`

### getResponseDate

    public Date getResponseDate()

  Returns the time the origin response was received by the caching module.

  Returns:
    `Date`

### getAllHeaders

    public Header[] getAllHeaders()

  Returns all the headers that were on the origin response.

### getFirstHeader

    public Header getFirstHeader(String name)

  Returns the first header from the origin response with the given name.

### getHeaders

    public Header[] getHeaders(String name)

  Gets all the headers with the given name that were on the origin response.

### 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 Map<String,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.

### toString

    public String toString()

  Provides a string representation of this instance suitable for human consumption.

  Overrides:
    `toString` in class `Object`

Copyright © 1999-2013 The Apache Software Foundation. All Rights Reserved.