Class CacheConfig.Builder
- java.lang.Object
-
- org.apache.hc.client5.http.impl.cache.CacheConfig.Builder
-
- Enclosing class:
- CacheConfig
public static class CacheConfig.Builder extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
allow303Caching
private int
asynchronousWorkers
private boolean
freshnessCheckEnabled
private boolean
heuristicCachingEnabled
private float
heuristicCoefficient
private org.apache.hc.core5.util.TimeValue
heuristicDefaultLifetime
private int
maxCacheEntries
private long
maxObjectSize
private int
maxUpdateRetries
private boolean
neverCacheHTTP10ResponsesWithQuery
private boolean
sharedCache
private boolean
weakETagOnPutDeleteAllowed
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CacheConfig
build()
CacheConfig.Builder
setAllow303Caching(boolean allow303Caching)
Enables or disables 303 caching.CacheConfig.Builder
setAsynchronousWorkers(int asynchronousWorkers)
Sets the maximum number of threads to allow for background revalidations due to thestale-while-revalidate
directive.CacheConfig.Builder
setFreshnessCheckEnabled(boolean freshnessCheckEnabled)
CacheConfig.Builder
setHeuristicCachingEnabled(boolean heuristicCachingEnabled)
Enables or disables heuristic caching.CacheConfig.Builder
setHeuristicCoefficient(float heuristicCoefficient)
Sets coefficient to be used in heuristic freshness caching.CacheConfig.Builder
setHeuristicDefaultLifetime(org.apache.hc.core5.util.TimeValue heuristicDefaultLifetime)
Sets default lifetime to be used if heuristic freshness calculation is not possible.CacheConfig.Builder
setMaxCacheEntries(int maxCacheEntries)
Sets the maximum number of cache entries the cache will retain.CacheConfig.Builder
setMaxObjectSize(long maxObjectSize)
Specifies the maximum response body size that will be eligible for caching.CacheConfig.Builder
setMaxUpdateRetries(int maxUpdateRetries)
Sets the number of times to retry a cache processChallenge on failureCacheConfig.Builder
setNeverCacheHTTP10ResponsesWithQueryString(boolean neverCacheHTTP10ResponsesWithQuery)
Sets whether the cache should never cache HTTP 1.0 responses with a query string or not.CacheConfig.Builder
setSharedCache(boolean sharedCache)
Sets whether the cache should behave as a shared cache or not.CacheConfig.Builder
setWeakETagOnPutDeleteAllowed(boolean weakETagOnPutDeleteAllowed)
Allows or disallows weak etags to be used with PUT/DELETE If-Match requests.
-
-
-
Field Detail
-
maxObjectSize
private long maxObjectSize
-
maxCacheEntries
private int maxCacheEntries
-
maxUpdateRetries
private int maxUpdateRetries
-
allow303Caching
private boolean allow303Caching
-
weakETagOnPutDeleteAllowed
private boolean weakETagOnPutDeleteAllowed
-
heuristicCachingEnabled
private boolean heuristicCachingEnabled
-
heuristicCoefficient
private float heuristicCoefficient
-
heuristicDefaultLifetime
private org.apache.hc.core5.util.TimeValue heuristicDefaultLifetime
-
sharedCache
private boolean sharedCache
-
freshnessCheckEnabled
private boolean freshnessCheckEnabled
-
asynchronousWorkers
private int asynchronousWorkers
-
neverCacheHTTP10ResponsesWithQuery
private boolean neverCacheHTTP10ResponsesWithQuery
-
-
Method Detail
-
setMaxObjectSize
public CacheConfig.Builder setMaxObjectSize(long maxObjectSize)
Specifies the maximum response body size that will be eligible for caching.- Parameters:
maxObjectSize
- size in bytes
-
setMaxCacheEntries
public CacheConfig.Builder setMaxCacheEntries(int maxCacheEntries)
Sets the maximum number of cache entries the cache will retain.
-
setMaxUpdateRetries
public CacheConfig.Builder setMaxUpdateRetries(int maxUpdateRetries)
Sets the number of times to retry a cache processChallenge on failure
-
setAllow303Caching
public CacheConfig.Builder setAllow303Caching(boolean allow303Caching)
Enables or disables 303 caching.- Parameters:
allow303Caching
- should betrue
to permit 303 caching,false
to disable it.
-
setWeakETagOnPutDeleteAllowed
public CacheConfig.Builder setWeakETagOnPutDeleteAllowed(boolean weakETagOnPutDeleteAllowed)
Allows or disallows weak etags to be used with PUT/DELETE If-Match requests.- Parameters:
weakETagOnPutDeleteAllowed
- should betrue
to permit weak etags,false
to reject them.
-
setHeuristicCachingEnabled
public CacheConfig.Builder setHeuristicCachingEnabled(boolean heuristicCachingEnabled)
Enables or disables heuristic caching.- Parameters:
heuristicCachingEnabled
- should betrue
to permit heuristic caching,false
to enable it.
-
setHeuristicCoefficient
public CacheConfig.Builder setHeuristicCoefficient(float heuristicCoefficient)
Sets coefficient to be used in heuristic freshness caching. This is interpreted as the fraction of the time between theLast-Modified
andDate
headers of a cached response during which the cached response will be considered heuristically fresh.- Parameters:
heuristicCoefficient
- should be between0.0
and1.0
.
-
setHeuristicDefaultLifetime
public CacheConfig.Builder setHeuristicDefaultLifetime(org.apache.hc.core5.util.TimeValue heuristicDefaultLifetime)
Sets default lifetime to be used if heuristic freshness calculation is not possible. Explicit cache control directives on either the request or origin response will override this, as will the heuristicLast-Modified
freshness calculation if it is available.- Parameters:
heuristicDefaultLifetime
- is the number to consider a cache-eligible response fresh in the absence of other information. Set this to0
to disable this style of heuristic caching.
-
setSharedCache
public CacheConfig.Builder setSharedCache(boolean sharedCache)
Sets whether the cache should behave as a shared cache or not.- Parameters:
sharedCache
- true to behave as a shared cache, false to behave as a non-shared (private) cache. To have the cache behave like a browser cache, you want to set this tofalse
.
-
setAsynchronousWorkers
public CacheConfig.Builder setAsynchronousWorkers(int asynchronousWorkers)
Sets the maximum number of threads to allow for background revalidations due to thestale-while-revalidate
directive.- Parameters:
asynchronousWorkers
- number of threads; a value of 0 disables background revalidations.
-
setNeverCacheHTTP10ResponsesWithQueryString
public CacheConfig.Builder setNeverCacheHTTP10ResponsesWithQueryString(boolean neverCacheHTTP10ResponsesWithQuery)
Sets whether the cache should never cache HTTP 1.0 responses with a query string or not.- Parameters:
neverCacheHTTP10ResponsesWithQuery
- true to never cache responses with a query string, false to cache if explicit cache headers are found. Set this totrue
to better emulate IE, which also never caches responses, regardless of what caching headers may be present.
-
setFreshnessCheckEnabled
public CacheConfig.Builder setFreshnessCheckEnabled(boolean freshnessCheckEnabled)
-
build
public CacheConfig build()
-
-