Class ResponseCache
java.lang.Object
java.net.ResponseCache
Represents implementations of URLConnection caches. An instance of
such a class can be registered with the system by doing
ResponseCache.setDefault(ResponseCache), and the system will call
this object in order to:
- store resource data which has been retrieved from an external source into the cache
- try to fetch a requested resource that may have been stored in the cache
- Since:
- 1.5
- External Specifications
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract CacheResponseRetrieve the cached response based on the requesting uri, request method and request headers.static ResponseCacheGets the system-wide response cache.abstract CacheRequestput(URI uri, URLConnection conn) The protocol handler calls this method after a resource has been retrieved, and the ResponseCache must decide whether or not to store the resource in its cache.static voidsetDefault(ResponseCache responseCache) Sets (or unsets) the system-wide cache.Methods declared in class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitModifier and TypeMethodDescriptionprotected Objectclone()Answers a new instance of the same class as the receiver, whose slots have been filled in with the values in the slots of the receiver.booleanCompares the argument to the receiver, and answers true if they represent the same object using a class specific comparison.protected voidfinalize()Deprecated, for removal: This API element is subject to removal in a future version.May cause performance issues, deadlocks and hangs.getClass()Answers the unique instance of java.lang.Class which represents the class of the receiver.inthashCode()Answers an integer hash code for the receiver.final voidnotify()Causes one thread which iswaiting on the receiver to be made ready to run.final voidCauses all threads which arewaiting on the receiver to be made ready to run.toString()Answers a string containing a concise, human-readable description of the receiver.final voidwait()Causes the thread which sent this message to be made not ready to run pending some change in the receiver (as indicated bynotifyornotifyAll).final voidwait(long time) Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated bynotifyornotifyAll) or the expiration of the timeout.final voidwait(long time, int frac) Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated bynotifyornotifyAll) or the expiration of the timeout.
-
Constructor Details
-
ResponseCache
public ResponseCache()Constructor for subclasses to call.
-
-
Method Details
-
getDefault
Gets the system-wide response cache.- Returns:
- the system-wide
ResponseCache - Since:
- 1.5
- See Also:
-
setDefault
Sets (or unsets) the system-wide cache. Note: non-standard protocol handlers may ignore this setting.- Parameters:
responseCache- The response cache, ornullto unset the cache.- Since:
- 1.5
- See Also:
-
get
public abstract CacheResponse get(URI uri, String rqstMethod, Map<String, List<String>> rqstHeaders) throws IOException Retrieve the cached response based on the requesting uri, request method and request headers. Typically this method is called by the protocol handler before it sends out the request to get the network resource. If a cached response is returned, that resource is used instead.- Parameters:
uri- aURIused to reference the requested network resourcerqstMethod- aStringrepresenting the request methodrqstHeaders- a Map from request header field names to lists of field values representing the current request headers- Returns:
- a
CacheResponseinstance if available from cache, or null otherwise - Throws:
IOException- if an I/O error occursIllegalArgumentException- if any one of the arguments is null- See Also:
-
put
The protocol handler calls this method after a resource has been retrieved, and the ResponseCache must decide whether or not to store the resource in its cache. If the resource is to be cached, then put() must return a CacheRequest object which contains an OutputStream that the protocol handler will use to write the resource into the cache. If the resource is not to be cached, then put must return null.- Parameters:
uri- aURIused to reference the requested network resourceconn- a URLConnection instance that is used to fetch the response to be cached- Returns:
- a
CacheRequestfor recording the response to be cached. Null return indicates that the caller does not intend to cache the response. - Throws:
IOException- if an I/O error occursIllegalArgumentException- if any one of the arguments is null
-