阅读(646) (0)

鸿蒙OS ResponseCache

2022-06-06 16:31:15 更新

ResponseCache

java.lang.Object

|---java.net.ResponseCache

public abstract class ResponseCache
extends Object

表示 URLConnection 缓存的实现。 可以通过执行 ResponseCache.setDefault(ResponseCache) 向系统注册此类的实例,系统将调用此对象以:

  • 将已从外部源检索到的资源数据存储到缓存中
  • 尝试获取可能已存储在缓存中的请求资源

ResponseCache 实现决定哪些资源应该被缓存,以及它们应该被缓存多长时间。 如果无法从缓存中检索请求资源,则协议处理程序将从其原始位置获取资源。 URLConnection#useCaches 的设置控制是否允许协议使用缓存的响应。

构造函数摘要

构造函数 描述
ResponseCache()

方法总结

修饰符和类型 方法 描述
abstract CacheResponse get(URI uri, String rqstMethod, Map<String,List<String>> rqstHeaders) 根据请求 uri、请求方法和请求标头检索缓存的响应。
static ResponseCache getDefault() 获取系统范围的响应缓存。
abstract CacheRequest put(URI uri, URLConnection conn) 协议处理程序在获取资源后调用此方法,并且 ResponseCache 必须决定是否将资源存储在其缓存中。
static void setDefault(ResponseCache responseCache) 设置(或取消设置)系统范围的缓存。
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

构造函数详细信息

ResponseCache

public ResponseCache()

方法详情

getDefault

public static ResponseCache getDefault()

获取系统范围的响应缓存。

返回:

系统范围的 ResponseCache

Throws:

Throw名称 Throw描述
SecurityException 如果已安装安全管理器并且它拒绝 NetPermission("getResponseCache")

setDefault

public static void setDefault(ResponseCache responseCache)

设置(或取消设置)系统范围的缓存。 注意:非标准协议处理程序可能会忽略此设置。

参数:

参数名称 参数描述
responseCache 响应缓存,或 null 取消设置缓存。

Throws:

Throw名称 Throw描述
SecurityException 如果已安装安全管理器并且它拒绝 NetPermission("setResponseCache")

get

public abstract CacheResponse get(URI uri, String rqstMethod, Map<String,List<String>> rqstHeaders) throws IOException

根据请求 uri、请求方法和请求标头检索缓存的响应。 通常,此方法由协议处理程序在发出请求以获取网络资源之前调用。 如果返回缓存的响应,则使用该资源。

参数:

参数名称 参数描述
uri 用于引用请求的网络资源的 URI
rqstMethod 表示请求方法的字符串
rqstHeaders - 从请求标头字段名称到表示当前请求标头的字段值列表的映射

返回:

如果缓存中可用,则为 CacheResponse 实例,否则为 null

Throws:

Throw名称 Throw描述
IOException 如果发生 I/O 错误
IllegalArgumentException 如果任何一个参数为空

put

public abstract CacheRequest put(URI uri, URLConnection conn) throws IOException

协议处理程序在获取资源后调用此方法,并且 ResponseCache 必须决定是否将资源存储在其缓存中。 如果要缓存资源,则 put() 必须返回一个 CacheRequest 对象,该对象包含协议处理程序将用于将资源写入缓存的 OutputStream。 如果不缓存资源,则 put 必须返回 null。

参数:

参数名称 参数描述
uri 用于引用请求的网络资源的 URI
conn - 用于获取要缓存的响应的 URLConnection 实例

返回:

用于记录要缓存的响应的 CacheRequest。 空返回表示调用者不打算缓存响应。

Throws:

Throw名称 Throw描述
IOException 如果发生 I/O 错误
IllegalArgumentException 如果任何一个参数为空