-
public interface PersistenceService
PersistenceService
提供了在客户端系统上本地存储数据的方法,即使是在不受信任的执行环境中运行的应用程序。 该服务有点类似于cookie机制提供给基于HTML的应用程序。持久性数据存储中的每个条目都使用URL命名。 这提供了与传统文件系统类似的层次结构。
应用程序只能访问存储有基于其代码库的URL的数据。 例如,鉴于代码库
http://www.mysite.com/apps/App1/
,应用程序将被允许访问相关URL的数据:-
http://www.mysite.com/apps/App1/
-
http://www.mysite.com/apps/
-
http://www.mysite.com/
该方案允许在同一主机之间的不同应用之间共享数据。 例如,如果另一个应用程序位于
http://www.mysite.com/apps/App2/
,则它们可以在http://www.mysite.com/
和http://www.mysite.com/apps/
目录之间共享它们之间的数据。JNLP客户端应跟踪给定应用程序使用的存储量。 A
PersistenceService
实现提供了获取当前存储使用和限制并请求更多存储的方法。 存储按每个文件进行分配,但JNLP客户端通常将根据应用程序使用的总存储来授予或拒绝该请求。使用此机制存储的数据旨在成为存储在远程服务器上的数据的本地副本。 单个条目可以被标记为缓存的 ,这意味着服务器具有最新的副本,这是脏的 ,这意味着服务器没有最新的副本或临时的副本,这意味着文件总是可以被重新创建。
- 从以下版本开始:
- 1.4.2
-
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 long
create(URL url, long maxsize)
在客户端创建一个以给定的URL命名的永久存储条目。void
delete(URL url)
从客户端日期持久性存储中删除与给定URL相关联的流。FileContents
get(URL url)
返回表示此文件内容的FileContents
对象。String[]
getNames(URL url)
返回一个字符串数组,其中包含给定URL的所有条目的名称。int
getTag(URL url)
返回对应于与给定URL相关联的持久性数据存储条目的标记的当前值的int
。void
setTag(URL url, int tag)
使用给定的标签值标记与给定URL相关联的持久数据存储条目。
-
-
-
字段详细信息
-
CACHED
static final int CACHED
- 另请参见:
- Constant Field Values
-
TEMPORARY
static final int TEMPORARY
- 另请参见:
- Constant Field Values
-
DIRTY
static final int DIRTY
- 另请参见:
- Constant Field Values
-
-
方法详细信息
-
create
long create(URL url, long maxsize) throws MalformedURLException, IOException
在客户端创建一个以给定的URL命名的永久存储条目。- 参数
-
url
- 表示持久数据存储中条目名称的URL。 -
maxsize
- 可以写入此条目的最大存储空间。 - 结果
- 授予的最大存储空间大小(以字节为单位)。
- 异常
-
MalformedURLException
- 如果应用程序被拒绝访问由给定URL表示的持久性数据存储,或者URL为null。 -
IOException
- 如果发生I / O异常,或者条目已经存在。
-
get
FileContents get(URL url) throws MalformedURLException, IOException, FileNotFoundException
返回表示此文件内容的FileContents
对象。- 参数
-
url
- 表示持久数据存储条目的URL。 - 结果
- 文件内容为FileContents。
- 异常
-
IOException
- 如果发生I / O错误。 -
MalformedURLException
- 如果应用程序被拒绝访问由给定URL表示的持久性数据存储,或者URL为null。 -
FileNotFoundException
- 如果找不到给定URL的持久性存储。
-
delete
void delete(URL url) throws MalformedURLException, IOException
从客户端日期持久性存储中删除与给定URL相关联的流。- 参数
-
url
- 表示从永久数据存储中删除的条目的URL。 - 异常
-
MalformedURLException
- 如果应用程序被拒绝访问由给定URL表示的持久性数据存储,或者URL为null。 -
IOException
- 如果发生I / O异常。
-
getNames
String[] getNames(URL url) throws MalformedURLException, IOException
返回一个字符串数组,其中包含给定URL的所有条目的名称。- 参数
-
url
- 表示搜索条目名称的根目录的URL。 - 结果
-
一个包含条目名称的
String
数组。 - 异常
-
MalformedURLException
- 如果应用程序被拒绝访问由给定URL表示的持久性数据存储,或者URL为null。 -
IOException
- 如果发生I / O异常。
-
getTag
int getTag(URL url) throws MalformedURLException, IOException
返回与给定URL相关联的持久性数据存储条目的标签的当前值对应的int
。- 参数
-
url
- 表示要求标签值的持久数据存储条目的URL。 - 结果
-
一个
int
包含以下标签值之一: - 异常
-
MalformedURLException
- 如果应用程序被拒绝访问由给定URL表示的持久性数据存储,或者URL为null。 -
IOException
- 如果发生I / O异常。
-
setTag
void setTag(URL url, int tag) throws MalformedURLException, IOException
使用给定的标签值标记与给定URL相关联的持久数据存储条目。- 参数
-
url
- 表示要为其设置标签值的持久性数据存储条目的URL。 -
tag
- 要设置的标签值。 - 异常
-
MalformedURLException
- 如果应用程序被拒绝访问由给定URL表示的持久性数据存储,或者URL为null。 -
IOException
- 如果发生I / O异常。
-
-