org.apache.http.impl.client.cache
Class BasicHttpCacheStorage

java.lang.Object
  extended by org.apache.http.impl.client.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

Constructor Summary
BasicHttpCacheStorage(CacheConfig config)
           
 
Method Summary
 HttpCacheEntry getEntry(String url)
          Gets an entry from the cache, if it exists
 void putEntry(String url, HttpCacheEntry entry)
          Places a HttpCacheEntry in the cache
 void removeEntry(String url)
          Removes a HttpCacheEntry from the cache
 void updateEntry(String url, HttpCacheUpdateCallback callback)
          Atomically applies the given callback to update an existing cache entry under a given key.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BasicHttpCacheStorage

public BasicHttpCacheStorage(CacheConfig config)
Method Detail

putEntry

public void putEntry(String url,
                     HttpCacheEntry entry)
              throws IOException
Places a HttpCacheEntry in the cache

Specified by:
putEntry in interface HttpCacheStorage
Parameters:
url - Url to use as the cache key
entry - HttpCacheEntry to place in the cache
Throws:
IOException

getEntry

public HttpCacheEntry getEntry(String url)
                        throws IOException
Gets an entry from the cache, if it exists

Specified by:
getEntry in interface HttpCacheStorage
Parameters:
url - Url that is the cache key
Returns:
HttpCacheEntry if one exists, or null for cache miss
Throws:
IOException

removeEntry

public void removeEntry(String url)
                 throws IOException
Removes a HttpCacheEntry from the cache

Specified by:
removeEntry in interface HttpCacheStorage
Parameters:
url - Url that is the cache key
Throws:
IOException

updateEntry

public void updateEntry(String url,
                        HttpCacheUpdateCallback callback)
                 throws IOException
Description copied from interface: HttpCacheStorage
Atomically applies the given callback to update an existing cache entry under a given key.

Specified by:
updateEntry in interface HttpCacheStorage
Parameters:
url - indicates which entry to modify
callback - performs the update; see HttpCacheUpdateCallback for details, but roughly the callback expects to be handed the current entry and will return the new value for the entry.
Throws:
IOException


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