This package consists largely of constants and interfaces that are
necessary for building new storage backends for the
CachingHttpClient or for
those clients wanting to get a little more behavioral information
out of the cache module (for example, whether a particular response
was a cache hit or not). Developers that simply want to instantiate
and make use of the caching module will be better off looking at
CachingHttpClient documentation itself.
The classes in this package can be divided into two main groups:
reference constants and interfaces needed for storage backends. In
the former group,
HeaderConstants contains a list
of HTTP header names encoded as static fields, and the
values are set in an
CachingHttpClient to indicate how the request was
processed by the caching module itself.
New storage backends will need to implement the
interface; they can then be passed to one of the
constructors, which will happily make use of the new storage mechanism.
HttpCacheEntry class shows the
datastructure for a cache entry that must be stored by the
There is, in addition, the notion of a
Resource and an associated
ResourceFactory, which are used for
managing the handling of cached response bodies. The default implementation
used by the
CachingHttpClient stores response bodies in memory;
alternative implementations might involve storing these in a filesystem. A new
ResourceFactory can be provided along with a
in one of the constructors to the
CachingHttpClient. Finally, some
of the additional storage backends we provide, like the
can be provided with different serializers for the cache entry metadata;
developers wanting to experiment with different serialization techniques
should implement the
Interface Summary Interface Description HttpCacheEntrySerializer HttpCacheInvalidatorGiven a particular HttpRequest, flush any cache entries that this request would invalidate. HttpCacheStorageNew storage backends should implement this
HttpCacheUpdateCallbackUsed for atomically updating entries in a
ResourceRepresents a disposable system resource used for handling cached response bodies. ResourceFactoryGenerates
Resourceinstances for handling cached HTTP response bodies.
Class Summary Class Description HeaderConstantsRecords static constants for various HTTP header names. HttpCacheContext HttpCacheEntryStructure used to store an
HttpResponsein a cache.
InputLimitUsed to limiting the size of an incoming response body of unknown size that is optimistically being read in anticipation of caching it.
Enum Summary Enum Description CacheResponseStatus
Exception Summary Exception Description HttpCacheEntrySerializationExceptionThrown if serialization or deserialization of an
HttpCacheStorageencountered an error performing an update operation.