org.apache.hc.client5.http.cache

## Class HttpCacheEntryFactory

- java.lang.Object
- - org.apache.hc.client5.http.cache.HttpCacheEntryFactory

-     @Contract(threading=IMMUTABLE)
      public class HttpCacheEntryFactory
      extends Object

  `HttpCacheEntry` factory.
  Since:
    5.4

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static HttpCacheEntryFactory` | `INSTANCE` Default instance of `HttpCacheEntryFactory`.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `HttpCacheEntryFactory()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `HttpCacheEntry` | `copy(HttpCacheEntry entry)` Creates a copy of the given `HttpCacheEntry`.
    `HttpCacheEntry` | `create(Instant requestInstant, Instant responseInstant, org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.http.HttpResponse response, Resource resource)` Create a new `HttpCacheEntry` with the given `Resource`.
    `HttpCacheEntry` | `createRoot(HttpCacheEntry latestVariant, Collection<String> variants)` Creates a new root `HttpCacheEntry` (parent of multiple variants).
    `HttpCacheEntry` | `createUpdated(Instant requestInstant, Instant responseInstant, org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.http.HttpResponse response, HttpCacheEntry entry)` Creates updated entry with the new information from the response.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### INSTANCE

          public static final HttpCacheEntryFactory INSTANCE

      Default instance of `HttpCacheEntryFactory`.

  - ### Constructor Detail

    - #### HttpCacheEntryFactory

          public HttpCacheEntryFactory()

  - ### Method Detail

    - #### createRoot

          public HttpCacheEntry createRoot(HttpCacheEntry latestVariant,
                                           Collection<String> variants)

      Creates a new root `HttpCacheEntry` (parent of multiple variants).
      Parameters:
        `latestVariant` - The most recently created variant entry
        `variants` - 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)

    - #### create

          public HttpCacheEntry create(Instant requestInstant,
                                       Instant responseInstant,
                                       org.apache.hc.core5.http.HttpHost host,
                                       org.apache.hc.core5.http.HttpRequest request,
                                       org.apache.hc.core5.http.HttpResponse response,
                                       Resource resource)

      Create a new `HttpCacheEntry` with the given `Resource`.
      Parameters:
        `requestInstant` - Date/time when the request was made (Used for age calculations)
        `responseInstant` - Date/time that the response came back (Used for age calculations)
        `host` - Target host
        `request` - Original client request (a deep copy of this object is made)
        `response` - Origin response (a deep copy of this object is made)
        `resource` - Resource representing origin response body

    - #### createUpdated

          public HttpCacheEntry createUpdated(Instant requestInstant,
                                              Instant responseInstant,
                                              org.apache.hc.core5.http.HttpHost host,
                                              org.apache.hc.core5.http.HttpRequest request,
                                              org.apache.hc.core5.http.HttpResponse response,
                                              HttpCacheEntry entry)

      Creates updated entry with the new information from the response. Should only be used for 304 responses.
      Parameters:
        `requestInstant` - Date/time when the request was made (Used for age calculations)
        `responseInstant` - Date/time that the response came back (Used for age calculations)
        `host` - Target host
        `request` - Original client request (a deep copy of this object is made)
        `response` - Origin response (a deep copy of this object is made)
        `entry` - Existing cache entry.

    - #### copy

          public HttpCacheEntry copy(HttpCacheEntry entry)

      Creates a copy of the given `HttpCacheEntry`. Please note the underlying `Resource` is copied by reference.

Copyright © 1999–2021 The Apache Software Foundation. All rights reserved.