Class BasicHttpCacheStorage
java.lang.Object
org.apache.hc.client5.http.impl.cache.BasicHttpCacheStorage
- All Implemented Interfaces:
HttpCacheStorage
@Contract(threading=SAFE)
public class BasicHttpCacheStorage
extends Object
implements HttpCacheStorage
Basic
HttpCacheStorage
implementation backed by an instance of
LinkedHashMap
. In other words, cache entries and
the cached response bodies are held in-memory. This cache does NOT
deallocate resources associated with the cache entries; it is intended
for use with HeapResource
and similar. This is the default cache
storage backend used by CachingHttpClients
.- Since:
- 4.1
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetEntries
(Collection<String> keys) Retrieves multiple cache entries stored under the given keys.Gets an entry from the cache, if it existsvoid
putEntry
(String url, HttpCacheEntry entry) Places a HttpCacheEntry in the cachevoid
removeEntry
(String url) Removes a HttpCacheEntry from the cachevoid
updateEntry
(String url, HttpCacheCASOperation casOperation) Atomically applies the given callback to processChallenge an existing cache entry under a given key.
-
Field Details
-
entries
-
-
Constructor Details
-
BasicHttpCacheStorage
-
-
Method Details
-
putEntry
Places a HttpCacheEntry in the cache- Specified by:
putEntry
in interfaceHttpCacheStorage
- Parameters:
url
- Url to use as the cache keyentry
- HttpCacheEntry to place in the cache- Throws:
ResourceIOException
-
getEntry
Gets an entry from the cache, if it exists- Specified by:
getEntry
in interfaceHttpCacheStorage
- Parameters:
url
- Url that is the cache key- Returns:
- HttpCacheEntry if one exists, or null for cache miss
- Throws:
ResourceIOException
-
removeEntry
Removes a HttpCacheEntry from the cache- Specified by:
removeEntry
in interfaceHttpCacheStorage
- Parameters:
url
- Url that is the cache key- Throws:
ResourceIOException
-
updateEntry
Description copied from interface:HttpCacheStorage
Atomically applies the given callback to processChallenge an existing cache entry under a given key.- Specified by:
updateEntry
in interfaceHttpCacheStorage
- Parameters:
url
- indicates which entry to modifycasOperation
- the CAS operation to perform.- Throws:
ResourceIOException
-
getEntries
Description copied from interface:HttpCacheStorage
Retrieves multiple cache entries stored under the given keys. Some implementations may use a single bulk operation to do the retrieval.- Specified by:
getEntries
in interfaceHttpCacheStorage
- Parameters:
keys
- cache keys- Returns:
- an map of
HttpCacheEntry
s. - Throws:
ResourceIOException
-