You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2018/10/17 21:40:40 UTC
[6/6] httpcomponents-client git commit: Javadocs;
renamed some methods (no functional changes)
Javadocs; renamed some methods (no functional changes)
Project: http://git-wip-us.apache.org/repos/asf/httpcomponents-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/httpcomponents-client/commit/37c80064
Tree: http://git-wip-us.apache.org/repos/asf/httpcomponents-client/tree/37c80064
Diff: http://git-wip-us.apache.org/repos/asf/httpcomponents-client/diff/37c80064
Branch: refs/heads/master
Commit: 37c80064726f0e4ae547c14ad73129483a81a67c
Parents: c446639
Author: Oleg Kalnichevski <ol...@apache.org>
Authored: Sat Oct 13 19:08:47 2018 +0200
Committer: Oleg Kalnichevski <ol...@apache.org>
Committed: Wed Oct 17 23:40:12 2018 +0200
----------------------------------------------------------------------
.../hc/client5/http/cache/HeaderConstants.java | 5 +-
.../http/cache/HttpAsyncCacheStorage.java | 6 +
.../cache/HttpAsyncCacheStorageAdaptor.java | 3 +
.../http/cache/HttpCacheCASOperation.java | 4 +
.../hc/client5/http/cache/HttpCacheContext.java | 3 +
.../http/cache/HttpCacheEntrySerializer.java | 4 +
.../http/cache/HttpCacheInvalidator.java | 3 +
.../client5/http/cache/HttpCacheResponse.java | 140 -------------------
.../hc/client5/http/cache/HttpCacheStorage.java | 7 +
.../http/cache/HttpCacheStorageEntry.java | 8 ++
.../apache/hc/client5/http/cache/Resource.java | 7 +
.../hc/client5/http/cache/ResourceFactory.java | 4 +
.../hc/client5/http/cache/package-info.java | 32 +++++
.../apache/hc/client5/http/cache/package.html | 78 -----------
.../http/impl/cache/AsyncCachingExec.java | 8 +-
.../http/impl/cache/BasicIdGenerator.java | 4 -
.../cache/ByteArrayCacheEntrySerializer.java | 2 +-
.../http/impl/cache/CacheKeyGenerator.java | 2 +-
.../http/impl/cache/CacheUpdateHandler.java | 5 -
.../http/impl/cache/CacheValidityPolicy.java | 6 -
.../http/impl/cache/CacheableRequestPolicy.java | 5 -
.../impl/cache/CachedHttpResponseGenerator.java | 5 -
.../cache/CachedResponseSuitabilityChecker.java | 5 -
.../hc/client5/http/impl/cache/CachingExec.java | 9 +-
.../impl/cache/CachingHttpAsyncClients.java | 5 +-
.../http/impl/cache/CachingHttpClients.java | 5 +-
.../impl/cache/ConditionalRequestBuilder.java | 6 -
.../cache/DefaultAsyncCacheInvalidator.java | 2 +-
.../impl/cache/DefaultCacheInvalidator.java | 2 +-
.../http/impl/cache/FileResourceFactory.java | 2 +-
.../http/impl/cache/HeapResourceFactory.java | 2 +-
.../client5/http/impl/cache/HttpAsyncCache.java | 5 -
.../hc/client5/http/impl/cache/HttpCache.java | 3 -
.../impl/cache/ManagedHttpCacheStorage.java | 2 +-
.../impl/cache/NoopCacheEntrySerializer.java | 5 +-
.../impl/cache/RequestProtocolCompliance.java | 6 -
.../http/impl/cache/RequestProtocolError.java | 3 -
.../http/impl/cache/ResourceReference.java | 3 -
.../http/impl/cache/ResponseCachingPolicy.java | 8 --
.../impl/cache/ResponseProtocolCompliance.java | 6 -
.../http/impl/cache/ehcache/package-info.java | 31 ++++
.../http/impl/cache/ehcache/package.html | 40 ------
.../impl/cache/memcached/KeyHashingScheme.java | 2 +
.../memcached/MemcachedKeyHashingException.java | 4 +-
.../MemcachedOperationTimeoutException.java | 6 +-
.../cache/memcached/PrefixKeyHashingScheme.java | 2 +
.../cache/memcached/SHA256KeyHashingScheme.java | 2 +
.../http/impl/cache/memcached/package-info.java | 32 +++++
.../http/impl/cache/memcached/package.html | 40 ------
.../client5/http/impl/cache/package-info.java | 32 +++++
.../hc/client5/http/impl/cache/package.html | 42 ------
.../ExponentialBackOffSchedulingStrategy.java | 4 +-
.../http/impl/schedule/package-info.java | 31 ++++
.../http/schedule/ConcurrentCountMap.java | 7 +
.../http/schedule/SchedulingStrategy.java | 3 +
.../hc/client5/http/schedule/package-info.java | 31 ++++
.../apache/hc/client5/http/fluent/Async.java | 5 +
.../apache/hc/client5/http/fluent/Content.java | 4 +-
.../apache/hc/client5/http/fluent/Executor.java | 4 +-
.../org/apache/hc/client5/http/fluent/Form.java | 5 +
.../apache/hc/client5/http/fluent/Request.java | 5 +
.../apache/hc/client5/http/fluent/Response.java | 5 +
.../http/impl/win/WindowsNTLMSchemeFactory.java | 7 +-
.../http/impl/win/WindowsNegotiateScheme.java | 7 +-
.../impl/win/WindowsNegotiateSchemeFactory.java | 7 +-
.../http/examples/ClientWithRequestFuture.java | 10 +-
.../hc/client5/http/AuthenticationStrategy.java | 3 +
.../client5/http/CircularRedirectException.java | 1 -
.../client5/http/ConnectTimeoutException.java | 1 -
.../http/ConnectionKeepAliveStrategy.java | 3 +
.../org/apache/hc/client5/http/DnsResolver.java | 4 +
.../client5/http/HttpRequestRetryHandler.java | 3 +
.../org/apache/hc/client5/http/HttpRoute.java | 2 +-
.../hc/client5/http/RedirectException.java | 1 -
.../org/apache/hc/client5/http/RouteInfo.java | 2 +-
.../hc/client5/http/SchemePortResolver.java | 3 +
.../http/ServiceUnavailableRetryStrategy.java | 3 +
.../apache/hc/client5/http/StandardMethods.java | 5 +
.../hc/client5/http/UserTokenHandler.java | 3 +
.../client5/http/async/AsyncExecCallback.java | 29 ++++
.../hc/client5/http/async/AsyncExecChain.java | 22 +++
.../http/async/AsyncExecChainHandler.java | 24 ++++
.../hc/client5/http/async/AsyncExecRuntime.java | 88 ++++++++++--
.../async/methods/AbstractBinPushConsumer.java | 14 +-
.../methods/AbstractBinResponseConsumer.java | 21 ++-
.../async/methods/AbstractCharPushConsumer.java | 14 +-
.../methods/AbstractCharResponseConsumer.java | 21 ++-
.../http/async/methods/AsyncRequestBuilder.java | 1 +
.../async/methods/ConfigurableHttpRequest.java | 5 +
.../http/async/methods/HttpRequests.java | 4 +-
.../client5/http/async/methods/SimpleBody.java | 5 +
.../http/async/methods/SimpleHttpRequest.java | 7 +
.../http/async/methods/SimpleHttpRequests.java | 4 +-
.../http/async/methods/SimpleHttpResponse.java | 7 +
.../async/methods/SimpleRequestProducer.java | 8 ++
.../async/methods/SimpleResponseConsumer.java | 8 ++
.../http/async/methods/package-info.java | 31 ++++
.../hc/client5/http/async/package-info.java | 31 ++++
.../apache/hc/client5/http/auth/AuthCache.java | 5 +-
.../apache/hc/client5/http/auth/AuthScheme.java | 8 ++
.../apache/hc/client5/http/auth/AuthScope.java | 2 +-
.../client5/http/auth/AuthStateCacheable.java | 6 +
.../http/auth/AuthenticationException.java | 1 -
.../client5/http/auth/BasicUserPrincipal.java | 2 +-
.../client5/http/auth/CredentialsProvider.java | 1 +
.../hc/client5/http/auth/CredentialsStore.java | 1 +
.../http/auth/InvalidCredentialsException.java | 5 -
.../client5/http/auth/KerberosCredentials.java | 2 +-
.../http/auth/MalformedChallengeException.java | 1 -
.../hc/client5/http/auth/NTCredentials.java | 2 +-
.../http/auth/UsernamePasswordCredentials.java | 2 +-
.../hc/client5/http/classic/BackoffManager.java | 1 -
.../hc/client5/http/classic/ExecChain.java | 8 ++
.../client5/http/classic/ExecChainHandler.java | 19 ++-
.../hc/client5/http/classic/ExecRuntime.java | 103 ++++++++++++--
.../hc/client5/http/classic/HttpClient.java | 24 ++--
.../classic/methods/ClassicHttpRequests.java | 4 +-
.../http/classic/methods/HttpDelete.java | 12 +-
.../client5/http/classic/methods/HttpGet.java | 11 --
.../client5/http/classic/methods/HttpHead.java | 14 --
.../http/classic/methods/HttpOptions.java | 12 --
.../client5/http/classic/methods/HttpPatch.java | 14 --
.../client5/http/classic/methods/HttpPost.java | 18 ---
.../client5/http/classic/methods/HttpPut.java | 10 --
.../client5/http/classic/methods/HttpTrace.java | 13 --
.../http/classic/methods/RequestBuilder.java | 7 +-
.../http/classic/methods/package-info.java | 2 +-
.../hc/client5/http/classic/package-info.java | 2 +-
.../hc/client5/http/config/package-info.java | 2 +-
.../client5/http/cookie/BasicCookieStore.java | 1 -
.../apache/hc/client5/http/cookie/Cookie.java | 3 -
.../http/cookie/CookieAttributeHandler.java | 8 +-
.../http/cookie/CookieIdentityComparator.java | 7 +-
.../http/cookie/CookiePathComparator.java | 4 +-
.../http/cookie/CookiePriorityComparator.java | 2 +-
.../hc/client5/http/cookie/CookieSpec.java | 3 -
.../client5/http/cookie/CookieSpecProvider.java | 3 +
.../http/cookie/MalformedCookieException.java | 1 -
.../hc/client5/http/cookie/SetCookie.java | 3 -
.../http/entity/DeflateInputStreamFactory.java | 2 +-
.../http/entity/GZIPInputStreamFactory.java | 2 +-
.../hc/client5/http/impl/AuthSupport.java | 4 +
.../hc/client5/http/impl/ChainElements.java | 5 +
.../hc/client5/http/impl/ConnPoolSupport.java | 5 +
.../client5/http/impl/CookieSpecRegistries.java | 79 -----------
.../hc/client5/http/impl/CookieSpecSupport.java | 83 +++++++++++
.../impl/DefaultAuthenticationStrategy.java | 4 +-
.../DefaultConnectionKeepAliveStrategy.java | 5 +-
.../impl/DefaultHttpRequestRetryHandler.java | 2 +-
.../http/impl/DefaultSchemePortResolver.java | 2 +-
.../DefaultServiceUnavailableRetryStrategy.java | 2 +-
.../http/impl/DefaultUserTokenHandler.java | 3 +-
.../hc/client5/http/impl/ExecSupport.java | 8 ++
.../http/impl/IdleConnectionEvictor.java | 3 +
.../client5/http/impl/InMemoryDnsResolver.java | 3 +
.../hc/client5/http/impl/MessageCopier.java | 2 +-
.../client5/http/impl/NoopUserTokenHandler.java | 2 +-
.../apache/hc/client5/http/impl/Operations.java | 25 ++++
.../hc/client5/http/impl/RequestCopier.java | 5 +
.../http/impl/async/AsyncConnectExec.java | 22 +--
.../http/impl/async/AsyncProtocolExec.java | 17 ++-
.../http/impl/async/AsyncRedirectExec.java | 20 ++-
.../client5/http/impl/async/AsyncRetryExec.java | 21 ++-
.../impl/async/CloseableHttpAsyncClient.java | 4 +-
.../impl/async/Http2AsyncClientBuilder.java | 12 +-
.../Http2AsyncClientEventHandlerFactory.java | 6 -
.../impl/async/Http2AsyncMainClientExec.java | 14 +-
.../http/impl/async/HttpAsyncClientBuilder.java | 13 +-
.../HttpAsyncClientEventHandlerFactory.java | 6 -
.../http/impl/async/HttpAsyncClients.java | 2 +-
.../impl/async/HttpAsyncMainClientExec.java | 12 ++
.../async/InternalAbstractHttpAsyncClient.java | 4 +-
.../impl/async/InternalHttp2AsyncClient.java | 17 ++-
.../async/InternalHttp2AsyncExecRuntime.java | 12 +-
.../impl/async/InternalHttpAsyncClient.java | 18 ++-
.../async/InternalHttpAsyncExecRuntime.java | 14 +-
.../client5/http/impl/async/LogAppendable.java | 2 +-
.../impl/async/MinimalHttp2AsyncClient.java | 16 +++
.../http/impl/async/MinimalHttpAsyncClient.java | 15 ++
.../client5/http/impl/async/package-info.java | 32 +++++
.../http/impl/auth/AuthChallengeParser.java | 16 ++-
.../http/impl/auth/BasicSchemeFactory.java | 2 +-
.../client5/http/impl/auth/CredSspScheme.java | 4 +-
.../http/impl/auth/CredSspSchemeFactory.java | 9 ++
.../http/impl/auth/DigestSchemeFactory.java | 2 +-
.../client5/http/impl/auth/GGSSchemeBase.java | 2 +
.../http/impl/auth/HttpAuthenticator.java | 43 +++++-
.../client5/http/impl/auth/KerberosScheme.java | 6 +
.../http/impl/auth/KerberosSchemeFactory.java | 8 +-
.../http/impl/auth/NTLMEngineException.java | 1 -
.../hc/client5/http/impl/auth/NTLMScheme.java | 2 +-
.../http/impl/auth/NTLMSchemeFactory.java | 2 +-
.../hc/client5/http/impl/auth/SPNegoScheme.java | 6 +
.../http/impl/auth/SPNegoSchemeFactory.java | 8 +-
.../UnsupportedDigestAlgorithmException.java | 1 -
.../hc/client5/http/impl/auth/package-info.java | 3 +-
.../http/impl/classic/AIMDBackoffManager.java | 2 +
.../AbstractHttpClientResponseHandler.java | 2 +-
.../http/impl/classic/BackoffStrategyExec.java | 14 +-
.../classic/BasicHttpClientResponseHandler.java | 2 +-
.../http/impl/classic/ClassicRequestCopier.java | 5 +
.../hc/client5/http/impl/classic/Clock.java | 6 -
.../http/impl/classic/CloseableHttpClient.java | 48 +++----
.../impl/classic/CloseableHttpResponse.java | 6 +-
.../client5/http/impl/classic/ConnectExec.java | 26 ++--
.../impl/classic/ContentCompressionExec.java | 8 +-
.../impl/classic/DefaultBackoffStrategy.java | 2 +
.../classic/FutureRequestExecutionService.java | 9 +-
.../http/impl/classic/HttpClientBuilder.java | 6 +-
.../client5/http/impl/classic/HttpClients.java | 3 +-
.../impl/classic/HttpRequestFutureTask.java | 14 +-
.../impl/classic/HttpRequestTaskCallable.java | 2 +-
.../http/impl/classic/InternalExecRuntime.java | 16 +--
.../http/impl/classic/InternalHttpClient.java | 8 +-
.../http/impl/classic/MainClientExec.java | 18 +--
.../http/impl/classic/MinimalHttpClient.java | 27 ++--
.../client5/http/impl/classic/ProtocolExec.java | 20 +--
.../client5/http/impl/classic/ProxyClient.java | 4 +-
.../client5/http/impl/classic/RedirectExec.java | 10 +-
.../http/impl/classic/RequestEntityProxy.java | 5 -
.../http/impl/classic/ResponseEntityProxy.java | 17 +--
.../hc/client5/http/impl/classic/RetryExec.java | 12 +-
.../classic/ServiceUnavailableRetryExec.java | 6 +-
.../client5/http/impl/classic/SystemClock.java | 5 -
.../client5/http/impl/classic/package-info.java | 25 +---
.../cookie/AbstractCookieAttributeHandler.java | 2 +-
.../http/impl/cookie/AbstractCookieSpec.java | 1 -
.../http/impl/cookie/BasicClientCookie.java | 2 +-
.../http/impl/cookie/BasicDomainHandler.java | 3 +-
.../http/impl/cookie/BasicExpiresHandler.java | 3 +-
.../http/impl/cookie/BasicMaxAgeHandler.java | 3 +-
.../http/impl/cookie/BasicPathHandler.java | 3 +-
.../http/impl/cookie/BasicSecureHandler.java | 3 +-
.../http/impl/cookie/CookieSpecBase.java | 2 +-
.../hc/client5/http/impl/cookie/IgnoreSpec.java | 2 +-
.../http/impl/cookie/IgnoreSpecProvider.java | 4 +-
.../http/impl/cookie/LaxExpiresHandler.java | 4 +-
.../http/impl/cookie/LaxMaxAgeHandler.java | 4 +-
.../impl/cookie/PublicSuffixDomainFilter.java | 10 +-
.../http/impl/cookie/RFC6265CookieSpec.java | 2 +-
.../impl/cookie/RFC6265CookieSpecProvider.java | 8 +-
.../http/impl/cookie/RFC6265LaxSpec.java | 4 +-
.../http/impl/cookie/RFC6265StrictSpec.java | 6 +-
.../client5/http/impl/cookie/package-info.java | 3 +-
.../io/DefaultHttpClientConnectionOperator.java | 2 +-
.../io/DefaultHttpResponseParserFactory.java | 2 +-
.../io/DefaultManagedHttpClientConnection.java | 5 -
.../http/impl/io/LoggingOutputStream.java | 5 -
.../io/ManagedHttpClientConnectionFactory.java | 2 +-
.../hc/client5/http/impl/io/package-info.java | 4 +-
.../DefaultAsyncClientConnectionOperator.java | 7 -
.../DefaultManagedAsyncClientConnection.java | 7 -
.../impl/nio/MultuhomeConnectionInitiator.java | 3 +
.../hc/client5/http/impl/nio/package-info.java | 32 +++++
.../http/impl/routing/BasicRouteDirector.java | 2 +-
.../impl/routing/DefaultProxyRoutePlanner.java | 2 +-
.../http/impl/routing/DefaultRoutePlanner.java | 2 +-
.../impl/routing/SystemDefaultRoutePlanner.java | 2 +-
.../client5/http/impl/routing/package-info.java | 31 ++++
.../hc/client5/http/io/ConnectionEndpoint.java | 24 +++-
.../http/io/HttpClientConnectionManager.java | 6 +-
.../http/io/HttpClientConnectionOperator.java | 27 +++-
.../http/io/ManagedHttpClientConnection.java | 1 -
.../apache/hc/client5/http/io/package-info.java | 31 ++++
.../http/nio/AsyncClientConnectionManager.java | 7 +-
.../http/nio/AsyncClientConnectionOperator.java | 29 +++-
.../http/nio/AsyncConnectionEndpoint.java | 63 ++++++++-
.../http/nio/ManagedAsyncClientConnection.java | 12 ++
.../hc/client5/http/nio/package-info.java | 31 ++++
.../apache/hc/client5/http/package-info.java | 34 +++++
.../client5/http/protocol/RedirectStrategy.java | 4 +
.../http/protocol/RequestAddCookies.java | 2 +-
.../client5/http/protocol/RequestAuthCache.java | 2 +-
.../http/protocol/RequestClientConnControl.java | 2 +-
.../http/protocol/RequestDefaultHeaders.java | 2 +-
.../http/protocol/RequestExpectContinue.java | 2 +-
.../http/protocol/ResponseProcessCookies.java | 2 +-
.../hc/client5/http/protocol/package-info.java | 3 +-
.../hc/client5/http/psl/PublicSuffixList.java | 1 +
.../http/psl/PublicSuffixListParser.java | 2 +-
.../client5/http/psl/PublicSuffixMatcher.java | 1 +
.../hc/client5/http/psl/package-info.java | 31 ++++
.../client5/http/routing/HttpRouteDirector.java | 3 +
.../client5/http/routing/HttpRoutePlanner.java | 3 +
.../http/socket/ConnectionSocketFactory.java | 3 +
.../socket/LayeredConnectionSocketFactory.java | 3 +
.../socket/PlainConnectionSocketFactory.java | 2 +-
.../http/ssl/DefaultHostnameVerifier.java | 2 +-
.../http/ssl/DistinguishedNameParser.java | 3 -
.../hc/client5/http/ssl/H2TlsStrategy.java | 3 +
.../http/ssl/HttpClientHostnameVerifier.java | 11 ++
.../client5/http/ssl/NoopHostnameVerifier.java | 2 +-
.../http/ssl/SSLConnectionSocketFactory.java | 2 +-
.../hc/client5/http/ssl/TrustAllStrategy.java | 5 +-
.../http/ssl/TrustSelfSignedStrategy.java | 3 +
.../hc/client5/http/utils/ByteArrayBuilder.java | 4 -
.../apache/hc/client5/http/utils/DateUtils.java | 3 -
.../http/impl/auth/TestHttpAuthenticator.java | 22 +--
.../http/impl/classic/TestConnectExec.java | 54 +++----
.../TestFutureRequestExecutionService.java | 7 +-
.../impl/classic/TestInternalExecRuntime.java | 70 +++++-----
.../http/impl/classic/TestMainClientExec.java | 40 +++---
.../http/impl/classic/TestProtocolExec.java | 8 +-
.../impl/classic/TestResponseEntityWrapper.java | 18 +--
304 files changed, 2044 insertions(+), 1206 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HeaderConstants.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HeaderConstants.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HeaderConstants.java
index 1dbaaf3..e2c6cdb 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HeaderConstants.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HeaderConstants.java
@@ -26,14 +26,11 @@
*/
package org.apache.hc.client5.http.cache;
-import org.apache.hc.core5.annotation.Contract;
-import org.apache.hc.core5.annotation.ThreadingBehavior;
-
/**
* Records static constants for various HTTP header names.
+ *
* @since 4.1
*/
-@Contract(threading = ThreadingBehavior.IMMUTABLE)
public class HeaderConstants {
public static final String GET_METHOD = "GET";
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpAsyncCacheStorage.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpAsyncCacheStorage.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpAsyncCacheStorage.java
index 6fdf1f8..447af80 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpAsyncCacheStorage.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpAsyncCacheStorage.java
@@ -29,6 +29,8 @@ package org.apache.hc.client5.http.cache;
import java.util.Collection;
import java.util.Map;
+import org.apache.hc.core5.annotation.Contract;
+import org.apache.hc.core5.annotation.ThreadingBehavior;
import org.apache.hc.core5.concurrent.Cancellable;
import org.apache.hc.core5.concurrent.FutureCallback;
@@ -37,9 +39,13 @@ import org.apache.hc.core5.concurrent.FutureCallback;
* storage backend that can then be plugged into the asynchronous
* (non-blocking ) request execution
* pipeline.
+ * <p>
+ * Implementations of this interface are expected to be threading-safe.
+ * </p>
*
* @since 5.0
*/
+@Contract(threading = ThreadingBehavior.SAFE)
public interface HttpAsyncCacheStorage {
/**
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpAsyncCacheStorageAdaptor.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpAsyncCacheStorageAdaptor.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpAsyncCacheStorageAdaptor.java
index baa8497..7f1e525 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpAsyncCacheStorageAdaptor.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpAsyncCacheStorageAdaptor.java
@@ -30,6 +30,8 @@ import java.util.Collection;
import java.util.Map;
import org.apache.hc.client5.http.impl.Operations;
+import org.apache.hc.core5.annotation.Contract;
+import org.apache.hc.core5.annotation.ThreadingBehavior;
import org.apache.hc.core5.concurrent.Cancellable;
import org.apache.hc.core5.concurrent.FutureCallback;
import org.apache.hc.core5.util.Args;
@@ -40,6 +42,7 @@ import org.apache.hc.core5.util.Args;
*
* @since 5.0
*/
+@Contract(threading = ThreadingBehavior.SAFE_CONDITIONAL)
public final class HttpAsyncCacheStorageAdaptor implements HttpAsyncCacheStorage {
private final HttpCacheStorage cacheStorage;
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpCacheCASOperation.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpCacheCASOperation.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpCacheCASOperation.java
index 722b116..4b59bb3 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpCacheCASOperation.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpCacheCASOperation.java
@@ -26,11 +26,15 @@
*/
package org.apache.hc.client5.http.cache;
+import org.apache.hc.core5.annotation.Contract;
+import org.apache.hc.core5.annotation.ThreadingBehavior;
+
/**
* Atomic Compare-And-Swap (CAS) cache operation.
*
* @since 5.0
*/
+@Contract(threading = ThreadingBehavior.STATELESS)
public interface HttpCacheCASOperation {
/**
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpCacheContext.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpCacheContext.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpCacheContext.java
index f1e4e8f..435bc86 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpCacheContext.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpCacheContext.java
@@ -31,6 +31,9 @@ import org.apache.hc.core5.http.protocol.BasicHttpContext;
import org.apache.hc.core5.http.protocol.HttpContext;
/**
+ * Adaptor class that provides convenience type safe setters and getters
+ * for caching {@link HttpContext} attributes.
+ *
* @since 4.3
*/
public class HttpCacheContext extends HttpClientContext {
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpCacheEntrySerializer.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpCacheEntrySerializer.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpCacheEntrySerializer.java
index 70f57c6..e08a08d 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpCacheEntrySerializer.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpCacheEntrySerializer.java
@@ -26,11 +26,15 @@
*/
package org.apache.hc.client5.http.cache;
+import org.apache.hc.core5.annotation.Contract;
+import org.apache.hc.core5.annotation.ThreadingBehavior;
+
/**
* Serializer / deserializer for {@link HttpCacheStorageEntry} entries.
*
* @since 5.0
*/
+@Contract(threading = ThreadingBehavior.STATELESS)
public interface HttpCacheEntrySerializer<T> {
/**
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpCacheInvalidator.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpCacheInvalidator.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpCacheInvalidator.java
index e373d22..df80379 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpCacheInvalidator.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpCacheInvalidator.java
@@ -28,7 +28,9 @@ package org.apache.hc.client5.http.cache;
import java.net.URI;
+import org.apache.hc.core5.annotation.Contract;
import org.apache.hc.core5.annotation.Internal;
+import org.apache.hc.core5.annotation.ThreadingBehavior;
import org.apache.hc.core5.function.Resolver;
import org.apache.hc.core5.http.HttpHost;
import org.apache.hc.core5.http.HttpRequest;
@@ -40,6 +42,7 @@ import org.apache.hc.core5.http.HttpResponse;
*
* @since 4.3
*/
+@Contract(threading = ThreadingBehavior.STATELESS)
@Internal
public interface HttpCacheInvalidator {
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpCacheResponse.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpCacheResponse.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpCacheResponse.java
deleted file mode 100644
index 68a6dba..0000000
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpCacheResponse.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * ====================================================================
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- */
-
-package org.apache.hc.client5.http.cache;
-
-import java.nio.charset.Charset;
-import java.nio.charset.StandardCharsets;
-import java.util.Set;
-
-import org.apache.hc.core5.http.ContentType;
-import org.apache.hc.core5.http.EntityDetails;
-import org.apache.hc.core5.util.Args;
-
-public final class HttpCacheResponse implements EntityDetails {
-
- private final int code;
- private final String reasonPhrase;
- private final byte[] body;
- private final ContentType contentType;
-
- public static HttpCacheResponse create(
- final int code,
- final String reasonPhrase,
- final byte[] body,
- final ContentType contentType) {
- return new HttpCacheResponse(code, reasonPhrase, body, contentType);
- }
-
- public static HttpCacheResponse create(
- final int code,
- final byte[] body,
- final ContentType contentType) {
- return new HttpCacheResponse(code, null, body, contentType);
- }
-
- public static HttpCacheResponse create(
- final int code,
- final String reasonPhrase) {
- return new HttpCacheResponse(code, reasonPhrase, null, null);
- }
-
- public static HttpCacheResponse create(final int code) {
- return new HttpCacheResponse(code, null, null, null);
- }
-
- public static HttpCacheResponse create(
- final int code,
- final String reasonPhrase,
- final String body,
- final ContentType contentType) {
- if (body != null) {
- final Charset charset = contentType != null ? contentType.getCharset() : null;
- final byte[] b = body.getBytes(charset != null ? charset : StandardCharsets.US_ASCII);
- return new HttpCacheResponse(code, reasonPhrase, b, contentType);
- } else {
- return create(code, reasonPhrase);
- }
- }
-
- public static HttpCacheResponse create(
- final int code,
- final String body,
- final ContentType contentType) {
- return create(code, null, body, contentType);
- }
-
- private HttpCacheResponse(
- final int code,
- final String reasonPhrase,
- final byte[] body,
- final ContentType contentType) {
- this.code = Args.checkRange(code, 200, 599, "HTTP status");
- this.reasonPhrase = reasonPhrase;
- this.body = body;
- this.contentType = contentType;
- }
-
- public int getCode() {
- return code;
- }
-
- public String getReasonPhrase() {
- return reasonPhrase;
- }
-
- public byte[] getBody() {
- return body;
- }
-
- @Override
- public long getContentLength() {
- return body != null ? body.length : 0;
- }
-
- @Override
- public String getContentType() {
- return contentType != null ? contentType.toString() : null;
- }
-
- @Override
- public String getContentEncoding() {
- return null;
- }
-
- @Override
- public boolean isChunked() {
- return false;
- }
-
- @Override
- public Set<String> getTrailerNames() {
- return null;
- }
-
-}
-
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpCacheStorage.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpCacheStorage.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpCacheStorage.java
index b4a459e..0e0ac72 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpCacheStorage.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpCacheStorage.java
@@ -29,13 +29,20 @@ package org.apache.hc.client5.http.cache;
import java.util.Collection;
import java.util.Map;
+import org.apache.hc.core5.annotation.Contract;
+import org.apache.hc.core5.annotation.ThreadingBehavior;
+
/**
* {@literal HttpCacheStorage} represents an abstract HTTP cache
* storage backend that can then be plugged into the classic
* (blocking) request execution pipeline.
+ * <p>
+ * Implementations of this interface are expected to be threading-safe.
+ * </p>
*
* @since 4.1
*/
+@Contract(threading = ThreadingBehavior.SAFE)
public interface HttpCacheStorage {
/**
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpCacheStorageEntry.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpCacheStorageEntry.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpCacheStorageEntry.java
index 5e3cb7a..1031d01 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpCacheStorageEntry.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/HttpCacheStorageEntry.java
@@ -28,8 +28,16 @@ package org.apache.hc.client5.http.cache;
import java.io.Serializable;
+import org.apache.hc.core5.annotation.Contract;
+import org.apache.hc.core5.annotation.ThreadingBehavior;
import org.apache.hc.core5.util.Args;
+/**
+ * This class contains a {@link HttpCacheEntry} along with its key.
+ *
+ * @since 5.0
+ */
+@Contract(threading = ThreadingBehavior.IMMUTABLE)
public final class HttpCacheStorageEntry implements Serializable {
private static final long serialVersionUID = 1L;
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/Resource.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/Resource.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/Resource.java
index 1a986e2..b2cf028 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/Resource.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/Resource.java
@@ -30,12 +30,19 @@ import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.io.Serializable;
+import org.apache.hc.core5.annotation.Contract;
+import org.apache.hc.core5.annotation.ThreadingBehavior;
+
/**
* Represents a disposable system resource used for handling
* cached response bodies.
+ * <p>
+ * Implementations of this interface are expected to be threading-safe.
+ * </p>
*
* @since 4.1
*/
+@Contract(threading = ThreadingBehavior.SAFE)
public abstract class Resource implements Serializable {
private static final long serialVersionUID = 1L;
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/ResourceFactory.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/ResourceFactory.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/ResourceFactory.java
index e94a82b..2ef204a 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/ResourceFactory.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/ResourceFactory.java
@@ -26,12 +26,16 @@
*/
package org.apache.hc.client5.http.cache;
+import org.apache.hc.core5.annotation.Contract;
+import org.apache.hc.core5.annotation.ThreadingBehavior;
+
/**
* Generates {@link Resource} instances for handling cached
* HTTP response bodies.
*
* @since 4.1
*/
+@Contract(threading = ThreadingBehavior.STATELESS)
public interface ResourceFactory {
/**
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/package-info.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/package-info.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/package-info.java
new file mode 100644
index 0000000..9e9b2a5
--- /dev/null
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/package-info.java
@@ -0,0 +1,32 @@
+/*
+ * ====================================================================
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ *
+ */
+
+/**
+ * Caching APIs for both the classic and the asynchronous
+ * HTTP transports.
+ */
+package org.apache.hc.client5.http.cache;
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/package.html
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/package.html b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/package.html
deleted file mode 100644
index 3ef03e2..0000000
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/cache/package.html
+++ /dev/null
@@ -1,78 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-<!--
-====================================================================
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
-====================================================================
-
-This software consists of voluntary contributions made by many
-individuals on behalf of the Apache Software Foundation. For more
-information on the Apache Software Foundation, please see
-<http://www.apache.org/>.
--->
-</head>
-<body bgcolor="white">
-
-<p>
- This package consists largely of constants and interfaces that are
- necessary for building new storage backends for the
- {@link org.apache.hc.client5.http.impl.client.cache.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
- the {@code CachingHttpClient} documentation itself.
-</p>
-<p>
- The classes in this package can be divided into two main groups:
- reference constants and interfaces needed for storage backends. In
- the former group,
- {@link org.apache.hc.client5.http.client.cache.HeaderConstants} contains a list
- of HTTP header names encoded as static fields, and the
- {@link org.apache.hc.client5.http.client.cache.CacheResponseStatus} enumeration
- values are set in an {@link org.apache.hc.client5.http.protocol.HttpContext} by
- the {@code CachingHttpClient} to indicate how the request was
- processed by the caching module itself.
-</p>
-<p>
- New storage backends will need to implement the
- {@link org.apache.hc.client5.http.client.cache.HttpCacheStorage}
- interface; they can then be passed to one of the {@code CachingHttpClient}
- constructors, which will happily make use of the new storage mechanism.
- The {@link org.apache.hc.client5.http.client.cache.HttpCacheEntry} class shows the
- datastructure for a cache entry that must be stored by the
- {@code HttpCacheStorage}.
- There is, in addition, the notion of a
- {@link org.apache.hc.client5.http.client.cache.Resource} and an associated
- {@link org.apache.hc.client5.http.client.cache.ResourceFactory}, which are used for
- managing the handling of cached response bodies. The default implementation
- used by the {@code CachingHttpClient} stores response bodies in memory;
- alternative implementations might involve storing these in a filesystem. A new
- {@code ResourceFactory} can be provided along with a {@code HttpCacheStorage}
- in one of the constructors to the {@code CachingHttpClient}. Finally, some
- of the additional storage backends we provide, like the
- {@link org.apache.hc.client5.http.impl.client.cache.ehcache.EhcacheHttpCacheStorage} and
- {@link org.apache.hc.client5.http.impl.client.cache.memcached.MemcachedHttpCacheStorage},
- can be provided with different serializers for the cache entry metadata;
- developers wanting to experiment with different serialization techniques
- should implement the
- {@link org.apache.hc.client5.http.client.cache.HttpCacheEntrySerializer} interface.
-</p>
-</body>
-</html>
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/AsyncCachingExec.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/AsyncCachingExec.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/AsyncCachingExec.java
index 2cb66f1..beecb4d 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/AsyncCachingExec.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/AsyncCachingExec.java
@@ -88,7 +88,7 @@ import org.apache.hc.core5.util.ByteArrayBuffer;
* @since 5.0
*/
@Contract(threading = ThreadingBehavior.SAFE) // So long as the responseCache implementation is threadsafe
-public class AsyncCachingExec extends CachingExecBase implements AsyncExecChainHandler {
+class AsyncCachingExec extends CachingExecBase implements AsyncExecChainHandler {
private final HttpAsyncCache responseCache;
private final DefaultAsyncCacheRevalidator cacheRevalidator;
@@ -120,7 +120,7 @@ public class AsyncCachingExec extends CachingExecBase implements AsyncExecChainH
this.conditionalRequestBuilder = conditionalRequestBuilder;
}
- public AsyncCachingExec(
+ AsyncCachingExec(
final HttpAsyncCache cache,
final ScheduledExecutorService executorService,
final SchedulingStrategy schedulingStrategy,
@@ -130,7 +130,7 @@ public class AsyncCachingExec extends CachingExecBase implements AsyncExecChainH
config);
}
- public AsyncCachingExec(
+ AsyncCachingExec(
final ResourceFactory resourceFactory,
final HttpAsyncCacheStorage storage,
final ScheduledExecutorService executorService,
@@ -144,7 +144,7 @@ public class AsyncCachingExec extends CachingExecBase implements AsyncExecChainH
final AsyncExecChain.Scope scope,
final AsyncExecCallback asyncExecCallback) {
scope.clientContext.setAttribute(HttpCoreContext.HTTP_RESPONSE, cacheResponse);
- scope.execRuntime.releaseConnection();
+ scope.execRuntime.releaseEndpoint();
final SimpleBody body = cacheResponse.getBody();
final byte[] content = body != null ? body.getBodyBytes() : null;
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/BasicIdGenerator.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/BasicIdGenerator.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/BasicIdGenerator.java
index 5c48ed7..cfa28ac 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/BasicIdGenerator.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/BasicIdGenerator.java
@@ -33,13 +33,9 @@ import java.security.SecureRandom;
import java.util.Formatter;
import java.util.Locale;
-import org.apache.hc.core5.annotation.Contract;
-import org.apache.hc.core5.annotation.ThreadingBehavior;
-
/**
* Should produce reasonably unique tokens.
*/
-@Contract(threading = ThreadingBehavior.SAFE)
class BasicIdGenerator {
private final String hostname;
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ByteArrayCacheEntrySerializer.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ByteArrayCacheEntrySerializer.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ByteArrayCacheEntrySerializer.java
index e5f653c..7b7f457 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ByteArrayCacheEntrySerializer.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ByteArrayCacheEntrySerializer.java
@@ -46,7 +46,7 @@ import org.apache.hc.core5.annotation.ThreadingBehavior;
*
* @since 4.1
*/
-@Contract(threading = ThreadingBehavior.IMMUTABLE)
+@Contract(threading = ThreadingBehavior.STATELESS)
public final class ByteArrayCacheEntrySerializer implements HttpCacheEntrySerializer<byte[]> {
public static final ByteArrayCacheEntrySerializer INSTANCE = new ByteArrayCacheEntrySerializer();
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CacheKeyGenerator.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CacheKeyGenerator.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CacheKeyGenerator.java
index 2ea3e1f..bb84aee 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CacheKeyGenerator.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CacheKeyGenerator.java
@@ -50,7 +50,7 @@ import org.apache.hc.core5.http.message.MessageSupport;
/**
* @since 4.1
*/
-@Contract(threading = ThreadingBehavior.IMMUTABLE)
+@Contract(threading = ThreadingBehavior.STATELESS)
public class CacheKeyGenerator implements Resolver<URI, String> {
public static final CacheKeyGenerator INSTANCE = new CacheKeyGenerator();
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CacheUpdateHandler.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CacheUpdateHandler.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CacheUpdateHandler.java
index 2db7bea..3ee2fe9 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CacheUpdateHandler.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CacheUpdateHandler.java
@@ -37,8 +37,6 @@ import org.apache.hc.client5.http.cache.Resource;
import org.apache.hc.client5.http.cache.ResourceFactory;
import org.apache.hc.client5.http.cache.ResourceIOException;
import org.apache.hc.client5.http.utils.DateUtils;
-import org.apache.hc.core5.annotation.Contract;
-import org.apache.hc.core5.annotation.ThreadingBehavior;
import org.apache.hc.core5.http.Header;
import org.apache.hc.core5.http.HttpHeaders;
import org.apache.hc.core5.http.HttpRequest;
@@ -51,10 +49,7 @@ import org.apache.hc.core5.util.ByteArrayBuffer;
/**
* Creates new {@link HttpCacheEntry}s and updates existing ones with new or updated information
* based on the response from the origin server.
- *
- * @since 5.0
*/
-@Contract(threading = ThreadingBehavior.IMMUTABLE)
class CacheUpdateHandler {
private final ResourceFactory resourceFactory;
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CacheValidityPolicy.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CacheValidityPolicy.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CacheValidityPolicy.java
index 7930d43..2d469ca 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CacheValidityPolicy.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CacheValidityPolicy.java
@@ -33,8 +33,6 @@ import org.apache.hc.client5.http.cache.HeaderConstants;
import org.apache.hc.client5.http.cache.HttpCacheEntry;
import org.apache.hc.client5.http.cache.Resource;
import org.apache.hc.client5.http.utils.DateUtils;
-import org.apache.hc.core5.annotation.Contract;
-import org.apache.hc.core5.annotation.ThreadingBehavior;
import org.apache.hc.core5.http.Header;
import org.apache.hc.core5.http.HeaderElement;
import org.apache.hc.core5.http.HttpHeaders;
@@ -42,10 +40,6 @@ import org.apache.hc.core5.http.HttpRequest;
import org.apache.hc.core5.http.MessageHeaders;
import org.apache.hc.core5.http.message.MessageSupport;
-/**
- * @since 4.1
- */
-@Contract(threading = ThreadingBehavior.IMMUTABLE)
class CacheValidityPolicy {
public static final long MAX_AGE = 2147483648L;
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CacheableRequestPolicy.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CacheableRequestPolicy.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CacheableRequestPolicy.java
index 620ad9b..45f8180 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CacheableRequestPolicy.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CacheableRequestPolicy.java
@@ -29,8 +29,6 @@ package org.apache.hc.client5.http.impl.cache;
import java.util.Iterator;
import org.apache.hc.client5.http.cache.HeaderConstants;
-import org.apache.hc.core5.annotation.Contract;
-import org.apache.hc.core5.annotation.ThreadingBehavior;
import org.apache.hc.core5.http.HeaderElement;
import org.apache.hc.core5.http.HttpRequest;
import org.apache.hc.core5.http.HttpVersion;
@@ -41,10 +39,7 @@ import org.slf4j.LoggerFactory;
/**
* Determines if an HttpRequest is allowed to be served from the cache.
- *
- * @since 4.1
*/
-@Contract(threading = ThreadingBehavior.IMMUTABLE)
class CacheableRequestPolicy {
private final Logger log = LoggerFactory.getLogger(getClass());
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CachedHttpResponseGenerator.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CachedHttpResponseGenerator.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CachedHttpResponseGenerator.java
index d558837..f3a0002 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CachedHttpResponseGenerator.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CachedHttpResponseGenerator.java
@@ -34,8 +34,6 @@ import org.apache.hc.client5.http.cache.HttpCacheEntry;
import org.apache.hc.client5.http.cache.Resource;
import org.apache.hc.client5.http.cache.ResourceIOException;
import org.apache.hc.client5.http.utils.DateUtils;
-import org.apache.hc.core5.annotation.Contract;
-import org.apache.hc.core5.annotation.ThreadingBehavior;
import org.apache.hc.core5.http.ContentType;
import org.apache.hc.core5.http.Header;
import org.apache.hc.core5.http.HttpHeaders;
@@ -47,10 +45,7 @@ import org.apache.hc.core5.http.message.BasicHeader;
/**
* Rebuilds an {@link HttpResponse} from a {@link HttpCacheEntry}
- *
- * @since 4.1
*/
-@Contract(threading = ThreadingBehavior.IMMUTABLE)
class CachedHttpResponseGenerator {
private final CacheValidityPolicy validityStrategy;
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CachedResponseSuitabilityChecker.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CachedResponseSuitabilityChecker.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CachedResponseSuitabilityChecker.java
index f191778..dc6b4d1 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CachedResponseSuitabilityChecker.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CachedResponseSuitabilityChecker.java
@@ -32,8 +32,6 @@ import java.util.Iterator;
import org.apache.hc.client5.http.cache.HeaderConstants;
import org.apache.hc.client5.http.cache.HttpCacheEntry;
import org.apache.hc.client5.http.utils.DateUtils;
-import org.apache.hc.core5.annotation.Contract;
-import org.apache.hc.core5.annotation.ThreadingBehavior;
import org.apache.hc.core5.http.Header;
import org.apache.hc.core5.http.HeaderElement;
import org.apache.hc.core5.http.HttpHost;
@@ -46,10 +44,7 @@ import org.slf4j.LoggerFactory;
/**
* Determines whether a given {@link HttpCacheEntry} is suitable to be
* used as a response for a given {@link HttpRequest}.
- *
- * @since 4.1
*/
-@Contract(threading = ThreadingBehavior.IMMUTABLE)
class CachedResponseSuitabilityChecker {
private final Logger log = LoggerFactory.getLogger(getClass());
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CachingExec.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CachingExec.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CachingExec.java
index a515094..10a0f8d 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CachingExec.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CachingExec.java
@@ -49,8 +49,6 @@ import org.apache.hc.client5.http.impl.classic.ClassicRequestCopier;
import org.apache.hc.client5.http.protocol.HttpClientContext;
import org.apache.hc.client5.http.schedule.SchedulingStrategy;
import org.apache.hc.client5.http.utils.DateUtils;
-import org.apache.hc.core5.annotation.Contract;
-import org.apache.hc.core5.annotation.ThreadingBehavior;
import org.apache.hc.core5.http.ClassicHttpRequest;
import org.apache.hc.core5.http.ClassicHttpResponse;
import org.apache.hc.core5.http.Header;
@@ -100,8 +98,7 @@ import org.slf4j.LoggerFactory;
*
* @since 4.3
*/
-@Contract(threading = ThreadingBehavior.SAFE) // So long as the responseCache implementation is threadsafe
-public class CachingExec extends CachingExecBase implements ExecChainHandler {
+class CachingExec extends CachingExecBase implements ExecChainHandler {
private final HttpCache responseCache;
private final DefaultCacheRevalidator cacheRevalidator;
@@ -135,7 +132,7 @@ public class CachingExec extends CachingExecBase implements ExecChainHandler {
this.conditionalRequestBuilder = conditionalRequestBuilder;
}
- public CachingExec(
+ CachingExec(
final HttpCache cache,
final ScheduledExecutorService executorService,
final SchedulingStrategy schedulingStrategy,
@@ -145,7 +142,7 @@ public class CachingExec extends CachingExecBase implements ExecChainHandler {
config);
}
- public CachingExec(
+ CachingExec(
final ResourceFactory resourceFactory,
final HttpCacheStorage storage,
final ScheduledExecutorService executorService,
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CachingHttpAsyncClients.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CachingHttpAsyncClients.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CachingHttpAsyncClients.java
index 230791b..4742b00 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CachingHttpAsyncClients.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CachingHttpAsyncClients.java
@@ -30,8 +30,6 @@ package org.apache.hc.client5.http.impl.cache;
import java.io.File;
import org.apache.hc.client5.http.impl.async.CloseableHttpAsyncClient;
-import org.apache.hc.core5.annotation.Contract;
-import org.apache.hc.core5.annotation.ThreadingBehavior;
/**
* Factory methods for {@link CloseableHttpAsyncClient} instances
@@ -39,8 +37,7 @@ import org.apache.hc.core5.annotation.ThreadingBehavior;
*
* @since 5.0
*/
-@Contract(threading = ThreadingBehavior.IMMUTABLE)
-public class CachingHttpAsyncClients {
+public final class CachingHttpAsyncClients {
private CachingHttpAsyncClients() {
super();
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CachingHttpClients.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CachingHttpClients.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CachingHttpClients.java
index 0ea8eed..c8cf99a 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CachingHttpClients.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/CachingHttpClients.java
@@ -30,8 +30,6 @@ package org.apache.hc.client5.http.impl.cache;
import java.io.File;
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
-import org.apache.hc.core5.annotation.Contract;
-import org.apache.hc.core5.annotation.ThreadingBehavior;
/**
* Factory methods for {@link CloseableHttpClient} instances
@@ -39,8 +37,7 @@ import org.apache.hc.core5.annotation.ThreadingBehavior;
*
* @since 4.3
*/
-@Contract(threading = ThreadingBehavior.IMMUTABLE)
-public class CachingHttpClients {
+public final class CachingHttpClients {
private CachingHttpClients() {
super();
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ConditionalRequestBuilder.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ConditionalRequestBuilder.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ConditionalRequestBuilder.java
index b6eeb9e..b5cc5fe 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ConditionalRequestBuilder.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ConditionalRequestBuilder.java
@@ -32,17 +32,11 @@ import java.util.Map;
import org.apache.hc.client5.http.cache.HeaderConstants;
import org.apache.hc.client5.http.cache.HttpCacheEntry;
import org.apache.hc.client5.http.impl.MessageCopier;
-import org.apache.hc.core5.annotation.Contract;
-import org.apache.hc.core5.annotation.ThreadingBehavior;
import org.apache.hc.core5.http.Header;
import org.apache.hc.core5.http.HeaderElement;
import org.apache.hc.core5.http.HttpRequest;
import org.apache.hc.core5.http.message.MessageSupport;
-/**
- * @since 4.1
- */
-@Contract(threading = ThreadingBehavior.IMMUTABLE)
class ConditionalRequestBuilder<T extends HttpRequest> {
private final MessageCopier<T> messageCopier;
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/DefaultAsyncCacheInvalidator.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/DefaultAsyncCacheInvalidator.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/DefaultAsyncCacheInvalidator.java
index 246a11a..91aab39 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/DefaultAsyncCacheInvalidator.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/DefaultAsyncCacheInvalidator.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
*
* @since 5.0
*/
-@Contract(threading = ThreadingBehavior.IMMUTABLE)
+@Contract(threading = ThreadingBehavior.STATELESS)
@Internal
public class DefaultAsyncCacheInvalidator extends CacheInvalidatorBase implements HttpAsyncCacheInvalidator {
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/DefaultCacheInvalidator.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/DefaultCacheInvalidator.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/DefaultCacheInvalidator.java
index c305b91..12bd68a 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/DefaultCacheInvalidator.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/DefaultCacheInvalidator.java
@@ -50,7 +50,7 @@ import org.slf4j.LoggerFactory;
*
* @since 4.1
*/
-@Contract(threading = ThreadingBehavior.IMMUTABLE)
+@Contract(threading = ThreadingBehavior.STATELESS)
@Internal
public class DefaultCacheInvalidator extends CacheInvalidatorBase implements HttpCacheInvalidator {
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/FileResourceFactory.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/FileResourceFactory.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/FileResourceFactory.java
index 99f1ddb..4b5c671 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/FileResourceFactory.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/FileResourceFactory.java
@@ -45,7 +45,7 @@ import org.apache.hc.core5.util.Args;
*
* @since 4.1
*/
-@Contract(threading = ThreadingBehavior.IMMUTABLE)
+@Contract(threading = ThreadingBehavior.STATELESS)
public class FileResourceFactory implements ResourceFactory {
private final File cacheDir;
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/HeapResourceFactory.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/HeapResourceFactory.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/HeapResourceFactory.java
index bb656e0..78e965b 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/HeapResourceFactory.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/HeapResourceFactory.java
@@ -38,7 +38,7 @@ import org.apache.hc.core5.util.Args;
*
* @since 4.1
*/
-@Contract(threading = ThreadingBehavior.IMMUTABLE)
+@Contract(threading = ThreadingBehavior.STATELESS)
public class HeapResourceFactory implements ResourceFactory {
public static final HeapResourceFactory INSTANCE = new HeapResourceFactory();
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/HttpAsyncCache.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/HttpAsyncCache.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/HttpAsyncCache.java
index dc4b2e6..6ba9262 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/HttpAsyncCache.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/HttpAsyncCache.java
@@ -30,7 +30,6 @@ import java.util.Date;
import java.util.Map;
import org.apache.hc.client5.http.cache.HttpCacheEntry;
-import org.apache.hc.core5.annotation.Internal;
import org.apache.hc.core5.concurrent.Cancellable;
import org.apache.hc.core5.concurrent.FutureCallback;
import org.apache.hc.core5.http.HttpHost;
@@ -38,10 +37,6 @@ import org.apache.hc.core5.http.HttpRequest;
import org.apache.hc.core5.http.HttpResponse;
import org.apache.hc.core5.util.ByteArrayBuffer;
-/**
- * @since 5.0
- */
-@Internal
interface HttpAsyncCache {
String generateKey (HttpHost host, HttpRequest request, HttpCacheEntry cacheEntry);
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/HttpCache.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/HttpCache.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/HttpCache.java
index d2c6e66..66f4af9 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/HttpCache.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/HttpCache.java
@@ -35,9 +35,6 @@ import org.apache.hc.core5.http.HttpRequest;
import org.apache.hc.core5.http.HttpResponse;
import org.apache.hc.core5.util.ByteArrayBuffer;
-/**
- * @since 4.1
- */
interface HttpCache {
String generateKey (HttpHost host, HttpRequest request, HttpCacheEntry cacheEntry);
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ManagedHttpCacheStorage.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ManagedHttpCacheStorage.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ManagedHttpCacheStorage.java
index a89c667..0623171 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ManagedHttpCacheStorage.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ManagedHttpCacheStorage.java
@@ -35,9 +35,9 @@ import java.util.Map;
import java.util.Set;
import java.util.concurrent.atomic.AtomicBoolean;
+import org.apache.hc.client5.http.cache.HttpCacheCASOperation;
import org.apache.hc.client5.http.cache.HttpCacheEntry;
import org.apache.hc.client5.http.cache.HttpCacheStorage;
-import org.apache.hc.client5.http.cache.HttpCacheCASOperation;
import org.apache.hc.client5.http.cache.Resource;
import org.apache.hc.client5.http.cache.ResourceIOException;
import org.apache.hc.core5.annotation.Contract;
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/NoopCacheEntrySerializer.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/NoopCacheEntrySerializer.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/NoopCacheEntrySerializer.java
index 76f1716..a3f555b 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/NoopCacheEntrySerializer.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/NoopCacheEntrySerializer.java
@@ -33,9 +33,12 @@ import org.apache.hc.core5.annotation.Contract;
import org.apache.hc.core5.annotation.ThreadingBehavior;
/**
+ * {@link HttpCacheEntrySerializer} that uses {@link HttpCacheStorageEntry}
+ * as its cache content representation.
+ *
* @since 5.0
*/
-@Contract(threading = ThreadingBehavior.IMMUTABLE)
+@Contract(threading = ThreadingBehavior.STATELESS)
public class NoopCacheEntrySerializer implements HttpCacheEntrySerializer<HttpCacheStorageEntry> {
public static final NoopCacheEntrySerializer INSTANCE = new NoopCacheEntrySerializer();
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/RequestProtocolCompliance.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/RequestProtocolCompliance.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/RequestProtocolCompliance.java
index 99affcb..89674e4 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/RequestProtocolCompliance.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/RequestProtocolCompliance.java
@@ -32,8 +32,6 @@ import java.util.Iterator;
import java.util.List;
import org.apache.hc.client5.http.cache.HeaderConstants;
-import org.apache.hc.core5.annotation.Contract;
-import org.apache.hc.core5.annotation.ThreadingBehavior;
import org.apache.hc.core5.http.Header;
import org.apache.hc.core5.http.HeaderElement;
import org.apache.hc.core5.http.HttpRequest;
@@ -41,10 +39,6 @@ import org.apache.hc.core5.http.HttpVersion;
import org.apache.hc.core5.http.ProtocolVersion;
import org.apache.hc.core5.http.message.MessageSupport;
-/**
- * @since 4.1
- */
-@Contract(threading = ThreadingBehavior.IMMUTABLE)
class RequestProtocolCompliance {
private final boolean weakETagOnPutDeleteAllowed;
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/RequestProtocolError.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/RequestProtocolError.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/RequestProtocolError.java
index 38ffa7a..9e8829e 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/RequestProtocolError.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/RequestProtocolError.java
@@ -26,9 +26,6 @@
*/
package org.apache.hc.client5.http.impl.cache;
-/**
- * @since 4.1
- */
enum RequestProtocolError {
UNKNOWN,
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ResourceReference.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ResourceReference.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ResourceReference.java
index 502e13e..7ada578 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ResourceReference.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ResourceReference.java
@@ -31,11 +31,8 @@ import java.lang.ref.ReferenceQueue;
import org.apache.hc.client5.http.cache.HttpCacheEntry;
import org.apache.hc.client5.http.cache.Resource;
-import org.apache.hc.core5.annotation.Contract;
-import org.apache.hc.core5.annotation.ThreadingBehavior;
import org.apache.hc.core5.util.Args;
-@Contract(threading = ThreadingBehavior.IMMUTABLE)
class ResourceReference extends PhantomReference<HttpCacheEntry> {
private final Resource resource;
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ResponseCachingPolicy.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ResponseCachingPolicy.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ResponseCachingPolicy.java
index e862274..9564645 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ResponseCachingPolicy.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ResponseCachingPolicy.java
@@ -34,8 +34,6 @@ import java.util.Set;
import org.apache.hc.client5.http.cache.HeaderConstants;
import org.apache.hc.client5.http.utils.DateUtils;
-import org.apache.hc.core5.annotation.Contract;
-import org.apache.hc.core5.annotation.ThreadingBehavior;
import org.apache.hc.core5.http.Header;
import org.apache.hc.core5.http.HeaderElement;
import org.apache.hc.core5.http.HttpHeaders;
@@ -49,12 +47,6 @@ import org.apache.hc.core5.http.message.MessageSupport;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-/**
- * Determines if an HttpResponse can be cached.
- *
- * @since 4.1
- */
-@Contract(threading = ThreadingBehavior.IMMUTABLE)
class ResponseCachingPolicy {
private static final String[] AUTH_CACHEABLE_PARAMS = {
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ResponseProtocolCompliance.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ResponseProtocolCompliance.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ResponseProtocolCompliance.java
index ff5f0cc..f0e714e 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ResponseProtocolCompliance.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ResponseProtocolCompliance.java
@@ -34,8 +34,6 @@ import java.util.List;
import org.apache.hc.client5.http.ClientProtocolException;
import org.apache.hc.client5.http.cache.HeaderConstants;
import org.apache.hc.client5.http.utils.DateUtils;
-import org.apache.hc.core5.annotation.Contract;
-import org.apache.hc.core5.annotation.ThreadingBehavior;
import org.apache.hc.core5.http.Header;
import org.apache.hc.core5.http.HeaderElement;
import org.apache.hc.core5.http.HeaderElements;
@@ -48,10 +46,6 @@ import org.apache.hc.core5.http.ProtocolVersion;
import org.apache.hc.core5.http.message.BasicHeader;
import org.apache.hc.core5.http.message.MessageSupport;
-/**
- * @since 4.1
- */
-@Contract(threading = ThreadingBehavior.IMMUTABLE)
class ResponseProtocolCompliance {
private static final String UNEXPECTED_100_CONTINUE = "The incoming request did not contain a "
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ehcache/package-info.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ehcache/package-info.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ehcache/package-info.java
new file mode 100644
index 0000000..818b710
--- /dev/null
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ehcache/package-info.java
@@ -0,0 +1,31 @@
+/*
+ * ====================================================================
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ *
+ */
+
+/**
+ * <a href="http://ehcache.org/">Ehcache</a> based caching backend implementation.
+ */
+package org.apache.hc.client5.http.impl.cache.ehcache;
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ehcache/package.html
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ehcache/package.html b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ehcache/package.html
deleted file mode 100644
index 9a27360..0000000
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/ehcache/package.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-<!--
-====================================================================
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
-====================================================================
-
-This software consists of voluntary contributions made by many
-individuals on behalf of the Apache Software Foundation. For more
-information on the Apache Software Foundation, please see
-<http://www.apache.org/>.
--->
-</head>
-<body bgcolor="white">
-
-<p>
-This package contains a storage backend based on
-<a href="http://ehcache.org/">Ehcache</a>
-that can be plugged into
-a {@link org.apache.http.impl.client.cache.CachingHttpClient} and
-used for storing cache entries.
-</p>
-</body>
-</html>
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/memcached/KeyHashingScheme.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/memcached/KeyHashingScheme.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/memcached/KeyHashingScheme.java
index d24faab..a087b89 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/memcached/KeyHashingScheme.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/memcached/KeyHashingScheme.java
@@ -58,6 +58,8 @@
* keys. Clients can implement this interface to change the way the mapping
* is done (for example, to add a prefix to all cache keys to provide a form
* of memcached namespacing).
+ *
+ * @since 4.1
*/
public interface KeyHashingScheme {
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/memcached/MemcachedKeyHashingException.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/memcached/MemcachedKeyHashingException.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/memcached/MemcachedKeyHashingException.java
index 8b2fd14..4499d98 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/memcached/MemcachedKeyHashingException.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/memcached/MemcachedKeyHashingException.java
@@ -27,9 +27,11 @@
package org.apache.hc.client5.http.impl.cache.memcached;
/**
- * Indicates a problem encountered when trying to map a
+ * Signals a problem encountered when trying to map a
* logical "storage key" to a "cache key" suitable for use with
* memcached.
+ *
+ * @since 4.1
*/
public class MemcachedKeyHashingException extends RuntimeException {
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/memcached/MemcachedOperationTimeoutException.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/memcached/MemcachedOperationTimeoutException.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/memcached/MemcachedOperationTimeoutException.java
index 054753c..d221d3e 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/memcached/MemcachedOperationTimeoutException.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/memcached/MemcachedOperationTimeoutException.java
@@ -29,9 +29,11 @@ package org.apache.hc.client5.http.impl.cache.memcached;
import org.apache.hc.client5.http.cache.ResourceIOException;
/**
- * Raised when memcached times out on us.
+ * Signals memcached operation timeout.
+ *
+ * @since 4.1
*/
-class MemcachedOperationTimeoutException extends ResourceIOException {
+public class MemcachedOperationTimeoutException extends ResourceIOException {
private static final long serialVersionUID = 1L;
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/memcached/PrefixKeyHashingScheme.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/memcached/PrefixKeyHashingScheme.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/memcached/PrefixKeyHashingScheme.java
index b7a1fd4..ad2dfe2 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/memcached/PrefixKeyHashingScheme.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/memcached/PrefixKeyHashingScheme.java
@@ -32,6 +32,8 @@ package org.apache.hc.client5.http.impl.cache.memcached;
* a known prefix to the results of another {@code KeyHashingScheme}.
* Primarily useful for namespacing a shared memcached cluster, for
* example.
+ *
+ * @since 4.1
*/
public final class PrefixKeyHashingScheme implements KeyHashingScheme {
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/memcached/SHA256KeyHashingScheme.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/memcached/SHA256KeyHashingScheme.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/memcached/SHA256KeyHashingScheme.java
index dd23b3c..c54938d 100644
--- a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/memcached/SHA256KeyHashingScheme.java
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/memcached/SHA256KeyHashingScheme.java
@@ -39,6 +39,8 @@ import org.slf4j.LoggerFactory;
* algorithm. The hashes produced are hex-encoded SHA-256
* digests and hence are always 64-character hexadecimal
* strings.
+ *
+ * @since 4.1
*/
public final class SHA256KeyHashingScheme implements KeyHashingScheme {
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/37c80064/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/memcached/package-info.java
----------------------------------------------------------------------
diff --git a/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/memcached/package-info.java b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/memcached/package-info.java
new file mode 100644
index 0000000..87618b2
--- /dev/null
+++ b/httpclient5-cache/src/main/java/org/apache/hc/client5/http/impl/cache/memcached/package-info.java
@@ -0,0 +1,32 @@
+/*
+ * ====================================================================
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ *
+ */
+
+/**
+ * <a href="http://memcached.org/">Memcached</a> based caching backend
+ * implementation.
+ */
+package org.apache.hc.client5.http.impl.cache.memcached;