Class BasicHttpCacheStorage
- java.lang.Object
-
- org.apache.http.impl.client.cache.BasicHttpCacheStorage
-
- All Implemented Interfaces:
HttpCacheStorage
@Contract(threading=SAFE) public class BasicHttpCacheStorage extends java.lang.Object implements HttpCacheStorage
BasicHttpCacheStorageimplementation backed by an instance ofLinkedHashMap. 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 withHeapResourceand similar. This is the default cache storage backend used byCachingHttpClients.- Since:
- 4.1
-
-
Constructor Summary
Constructors Constructor Description BasicHttpCacheStorage(CacheConfig config)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description HttpCacheEntrygetEntry(java.lang.String url)Gets an entry from the cache, if it existsvoidputEntry(java.lang.String url, HttpCacheEntry entry)Places a HttpCacheEntry in the cachevoidremoveEntry(java.lang.String url)Removes a HttpCacheEntry from the cachevoidupdateEntry(java.lang.String url, HttpCacheUpdateCallback callback)Atomically applies the given callback to update an existing cache entry under a given key.
-
-
-
Constructor Detail
-
BasicHttpCacheStorage
public BasicHttpCacheStorage(CacheConfig config)
-
-
Method Detail
-
putEntry
public void putEntry(java.lang.String url, HttpCacheEntry entry) throws java.io.IOExceptionPlaces a HttpCacheEntry in the cache- Specified by:
putEntryin interfaceHttpCacheStorage- Parameters:
url- Url to use as the cache keyentry- HttpCacheEntry to place in the cache- Throws:
java.io.IOException
-
getEntry
public HttpCacheEntry getEntry(java.lang.String url) throws java.io.IOException
Gets an entry from the cache, if it exists- Specified by:
getEntryin interfaceHttpCacheStorage- Parameters:
url- Url that is the cache key- Returns:
- HttpCacheEntry if one exists, or null for cache miss
- Throws:
java.io.IOException
-
removeEntry
public void removeEntry(java.lang.String url) throws java.io.IOExceptionRemoves a HttpCacheEntry from the cache- Specified by:
removeEntryin interfaceHttpCacheStorage- Parameters:
url- Url that is the cache key- Throws:
java.io.IOException
-
updateEntry
public void updateEntry(java.lang.String url, HttpCacheUpdateCallback callback) throws java.io.IOExceptionDescription copied from interface:HttpCacheStorageAtomically applies the given callback to update an existing cache entry under a given key.- Specified by:
updateEntryin interfaceHttpCacheStorage- Parameters:
url- indicates which entry to modifycallback- performs the update; seeHttpCacheUpdateCallbackfor details, but roughly the callback expects to be handed the current entry and will return the new value for the entry.- Throws:
java.io.IOException
-
-