You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by se...@apache.org on 2010/05/01 01:58:50 UTC
svn commit: r939883 -
/httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/
Author: sebb
Date: Fri Apr 30 23:58:50 2010
New Revision: 939883
URL: http://svn.apache.org/viewvc?rev=939883&view=rev
Log:
Add thread-safety annotations
Modified:
httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/BasicHttpCache.java
httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/CacheEntryGenerator.java
httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/CacheEntryUpdater.java
httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/CacheInvalidator.java
httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/CacheableRequestPolicy.java
httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/CachedHttpResponseGenerator.java
httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/CachedResponseSuitabilityChecker.java
httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/ConditionalRequestBuilder.java
httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/DefaultCacheEntrySerializer.java
httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/HeaderConstants.java
httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/RequestProtocolCompliance.java
httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/ResponseCachingPolicy.java
httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/ResponseProtocolCompliance.java
httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/URIExtractor.java
Modified: httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/BasicHttpCache.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/BasicHttpCache.java?rev=939883&r1=939882&r2=939883&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/BasicHttpCache.java (original)
+++ httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/BasicHttpCache.java Fri Apr 30 23:58:50 2010
@@ -30,6 +30,7 @@ import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.Map;
+import org.apache.http.annotation.ThreadSafe;
import org.apache.http.client.cache.HttpCacheOperationException;
import org.apache.http.client.cache.HttpCacheUpdateCallback;
import org.apache.http.client.cache.HttpCache;
@@ -39,6 +40,7 @@ import org.apache.http.client.cache.Http
*
* @since 4.1
*/
+@ThreadSafe
public class BasicHttpCache implements HttpCache<CacheEntry> {
private final LinkedHashMap<String, CacheEntry> baseMap = new LinkedHashMap<String, CacheEntry>(20,
Modified: httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/CacheEntryGenerator.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/CacheEntryGenerator.java?rev=939883&r1=939882&r2=939883&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/CacheEntryGenerator.java (original)
+++ httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/CacheEntryGenerator.java Fri Apr 30 23:58:50 2010
@@ -30,10 +30,12 @@ import java.io.IOException;
import java.util.Date;
import org.apache.http.HttpResponse;
+import org.apache.http.annotation.Immutable;
/**
* @since 4.1
*/
+@Immutable
public class CacheEntryGenerator {
public CacheEntry generateEntry(Date requestDate, Date responseDate, HttpResponse response,
Modified: httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/CacheEntryUpdater.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/CacheEntryUpdater.java?rev=939883&r1=939882&r2=939883&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/CacheEntryUpdater.java (original)
+++ httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/CacheEntryUpdater.java Fri Apr 30 23:58:50 2010
@@ -34,12 +34,14 @@ import java.util.ListIterator;
import org.apache.http.Header;
import org.apache.http.HttpResponse;
+import org.apache.http.annotation.Immutable;
import org.apache.http.impl.cookie.DateParseException;
import org.apache.http.impl.cookie.DateUtils;
/**
* @since 4.1
*/
+@Immutable
public class CacheEntryUpdater {
public void updateCacheEntry(CacheEntry entry, Date requestDate, Date responseDate,
Modified: httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/CacheInvalidator.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/CacheInvalidator.java?rev=939883&r1=939882&r2=939883&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/CacheInvalidator.java (original)
+++ httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/CacheInvalidator.java Fri Apr 30 23:58:50 2010
@@ -32,6 +32,7 @@ import org.apache.http.Header;
import org.apache.http.HeaderElement;
import org.apache.http.HttpHost;
import org.apache.http.HttpRequest;
+import org.apache.http.annotation.Immutable;
import org.apache.http.client.cache.HttpCacheOperationException;
import org.apache.http.client.cache.HttpCache;
@@ -41,6 +42,7 @@ import org.apache.http.client.cache.Http
*
* @since 4.1
*/
+@Immutable
public class CacheInvalidator {
private final HttpCache<CacheEntry> cache;
Modified: httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/CacheableRequestPolicy.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/CacheableRequestPolicy.java?rev=939883&r1=939882&r2=939883&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/CacheableRequestPolicy.java (original)
+++ httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/CacheableRequestPolicy.java Fri Apr 30 23:58:50 2010
@@ -32,12 +32,14 @@ import org.apache.http.Header;
import org.apache.http.HeaderElement;
import org.apache.http.HttpRequest;
import org.apache.http.ProtocolVersion;
+import org.apache.http.annotation.Immutable;
/**
* Determines if an HttpRequest is allowed to be served from the cache.
*
* @since 4.1
*/
+@Immutable
public class CacheableRequestPolicy {
private static final Log LOG = LogFactory.getLog(CacheableRequestPolicy.class);
Modified: httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/CachedHttpResponseGenerator.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/CachedHttpResponseGenerator.java?rev=939883&r1=939882&r2=939883&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/CachedHttpResponseGenerator.java (original)
+++ httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/CachedHttpResponseGenerator.java Fri Apr 30 23:58:50 2010
@@ -30,6 +30,7 @@ import org.apache.http.Header;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
+import org.apache.http.annotation.Immutable;
import org.apache.http.entity.ByteArrayEntity;
import org.apache.http.message.BasicHeader;
import org.apache.http.message.BasicHttpResponse;
@@ -39,6 +40,7 @@ import org.apache.http.message.BasicHttp
*
* @since 4.1
*/
+@Immutable
public class CachedHttpResponseGenerator {
/**
Modified: httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/CachedResponseSuitabilityChecker.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/CachedResponseSuitabilityChecker.java?rev=939883&r1=939882&r2=939883&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/CachedResponseSuitabilityChecker.java (original)
+++ httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/CachedResponseSuitabilityChecker.java Fri Apr 30 23:58:50 2010
@@ -32,12 +32,14 @@ import org.apache.http.Header;
import org.apache.http.HeaderElement;
import org.apache.http.HttpHost;
import org.apache.http.HttpRequest;
+import org.apache.http.annotation.Immutable;
/**
* Determines whether a given response can be cached.
*
* @since 4.1
*/
+@Immutable
public class CachedResponseSuitabilityChecker {
private static final Log LOG = LogFactory.getLog(CachedResponseSuitabilityChecker.class);
Modified: httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/ConditionalRequestBuilder.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/ConditionalRequestBuilder.java?rev=939883&r1=939882&r2=939883&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/ConditionalRequestBuilder.java (original)
+++ httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/ConditionalRequestBuilder.java Fri Apr 30 23:58:50 2010
@@ -29,11 +29,13 @@ package org.apache.http.client.cache.imp
import org.apache.http.Header;
import org.apache.http.HttpRequest;
import org.apache.http.ProtocolException;
+import org.apache.http.annotation.Immutable;
import org.apache.http.impl.client.RequestWrapper;
/**
* @since 4.1
*/
+@Immutable
public class ConditionalRequestBuilder {
public HttpRequest buildConditionalRequest(HttpRequest request, CacheEntry cacheEntry)
Modified: httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/DefaultCacheEntrySerializer.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/DefaultCacheEntrySerializer.java?rev=939883&r1=939882&r2=939883&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/DefaultCacheEntrySerializer.java (original)
+++ httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/DefaultCacheEntrySerializer.java Fri Apr 30 23:58:50 2010
@@ -32,6 +32,7 @@ import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
+import org.apache.http.annotation.Immutable;
import org.apache.http.client.cache.HttpCacheEntrySerializer;
/**
@@ -42,6 +43,7 @@ import org.apache.http.client.cache.Http
*
* @since 4.1
*/
+@Immutable
public class DefaultCacheEntrySerializer implements HttpCacheEntrySerializer<CacheEntry> {
public void writeTo(CacheEntry cacheEntry, OutputStream os) throws IOException {
Modified: httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/HeaderConstants.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/HeaderConstants.java?rev=939883&r1=939882&r2=939883&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/HeaderConstants.java (original)
+++ httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/HeaderConstants.java Fri Apr 30 23:58:50 2010
@@ -26,9 +26,12 @@
*/
package org.apache.http.client.cache.impl;
+import org.apache.http.annotation.Immutable;
+
/**
* @since 4.1
*/
+@Immutable
public class HeaderConstants {
public static final String GET_METHOD = "GET";
Modified: httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/RequestProtocolCompliance.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/RequestProtocolCompliance.java?rev=939883&r1=939882&r2=939883&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/RequestProtocolCompliance.java (original)
+++ httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/RequestProtocolCompliance.java Fri Apr 30 23:58:50 2010
@@ -37,6 +37,7 @@ import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.ProtocolException;
import org.apache.http.ProtocolVersion;
+import org.apache.http.annotation.Immutable;
import org.apache.http.entity.AbstractHttpEntity;
import org.apache.http.impl.client.RequestWrapper;
import org.apache.http.message.BasicHeader;
@@ -46,6 +47,7 @@ import org.apache.http.message.BasicStat
/**
* @since 4.1
*/
+@Immutable
public class RequestProtocolCompliance {
public List<RequestProtocolError> requestIsFatallyNonCompliant(HttpRequest request) {
Modified: httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/ResponseCachingPolicy.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/ResponseCachingPolicy.java?rev=939883&r1=939882&r2=939883&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/ResponseCachingPolicy.java (original)
+++ httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/ResponseCachingPolicy.java Fri Apr 30 23:58:50 2010
@@ -33,6 +33,7 @@ import org.apache.http.HeaderElement;
import org.apache.http.HttpRequest;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
+import org.apache.http.annotation.Immutable;
import org.apache.http.impl.cookie.DateParseException;
import org.apache.http.impl.cookie.DateUtils;
@@ -41,6 +42,7 @@ import org.apache.http.impl.cookie.DateU
*
* @since 4.1
*/
+@Immutable
public class ResponseCachingPolicy {
private final int maxObjectSizeBytes;
Modified: httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/ResponseProtocolCompliance.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/ResponseProtocolCompliance.java?rev=939883&r1=939882&r2=939883&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/ResponseProtocolCompliance.java (original)
+++ httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/ResponseProtocolCompliance.java Fri Apr 30 23:58:50 2010
@@ -33,6 +33,7 @@ import org.apache.http.HttpRequest;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.ProtocolVersion;
+import org.apache.http.annotation.Immutable;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.impl.client.RequestWrapper;
import org.apache.http.impl.cookie.DateUtils;
@@ -40,6 +41,7 @@ import org.apache.http.impl.cookie.DateU
/**
* @since 4.1
*/
+@Immutable
public class ResponseProtocolCompliance {
public void ensureProtocolCompliance(HttpRequest request, HttpResponse response)
Modified: httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/URIExtractor.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/URIExtractor.java?rev=939883&r1=939882&r2=939883&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/URIExtractor.java (original)
+++ httpcomponents/httpclient/trunk/httpclient-cache/src/main/java/org/apache/http/client/cache/impl/URIExtractor.java Fri Apr 30 23:58:50 2010
@@ -36,10 +36,12 @@ import org.apache.http.Header;
import org.apache.http.HeaderElement;
import org.apache.http.HttpHost;
import org.apache.http.HttpRequest;
+import org.apache.http.annotation.Immutable;
/**
* @since 4.1
*/
+@Immutable
public class URIExtractor {
public String getURI(HttpHost host, HttpRequest req) {