Module  java.jnlp
软件包  javax.jnlp

Interface PersistenceService



  • 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
    • Field Summary

      Fields  
      Modifier and Type Field 描述
      static int CACHED  
      static int DIRTY  
      static int TEMPORARY  
    • 方法摘要

      所有方法  接口方法  抽象方法 
      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相关联的持久数据存储条目。
    • 方法详细信息

      • create

        long create​(URL url,
                    long maxsize)
             throws MalformedURLException,
                    IOException
        在客户端创建一个以给定的URL命名的永久存储条目。
        参数
        url - 表示持久数据存储中条目名称的URL。
        maxsize - 可以写入此条目的最大存储空间。
        结果
        授予的最大存储空间大小(以字节为单位)。
        异常
        MalformedURLException - 如果应用程序被拒绝访问由给定URL表示的持久性数据存储,或者URL为null。
        IOException - 如果发生I / O异常,或者条目已经存在。
      • 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异常。