Class CacheConfig.Builder

  • Enclosing class:
    CacheConfig

    public static class CacheConfig.Builder
    extends java.lang.Object
    • 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
    • Constructor Detail

      • Builder

        Builder()
    • 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 be true 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 be true to permit weak etags, false to reject them.
      • setHeuristicCachingEnabled

        public CacheConfig.Builder setHeuristicCachingEnabled​(boolean heuristicCachingEnabled)
        Enables or disables heuristic caching.
        Parameters:
        heuristicCachingEnabled - should be true 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 the Last-Modified and Date headers of a cached response during which the cached response will be considered heuristically fresh.
        Parameters:
        heuristicCoefficient - should be between 0.0 and 1.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 heuristic Last-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 to 0 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 to false.
      • setAsynchronousWorkers

        public CacheConfig.Builder setAsynchronousWorkers​(int asynchronousWorkers)
        Sets the maximum number of threads to allow for background revalidations due to the stale-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 to true to better emulate IE, which also never caches responses, regardless of what caching headers may be present.
      • setFreshnessCheckEnabled

        public CacheConfig.Builder setFreshnessCheckEnabled​(boolean freshnessCheckEnabled)