public interface PersistenceService
PersistenceService
provides methods for storing data
locally on the client system, even for applications that are running
in the untrusted execution environment. The service is somewhat
similar to that which the cookie mechanism provides to HTML-based
applications.
Each entry in the persistence data store is named with a URL. This provides a similar hierarchical structure as a traditional file system.
An application is only allowed to access data stored with a URL that
is based on its codebase. For example, given the codebase
http://www.mysite.com/apps/App1/
, the application
would be allowed to access the data at the associated URLs:
http://www.mysite.com/apps/App1/
http://www.mysite.com/apps/
http://www.mysite.com/
This scheme allows sharing of data between different applications from
the same host. For example, if another application is located at
http://www.mysite.com/apps/App2/
, then they can share data
between them in the http://www.mysite.com/
and
http://www.mysite.com/apps/
directories.
A JNLP client should track the amount of storage that a given
application uses. A PersistenceService
implementation
provides methods to get the current storage usage and limits and to
request more storage. Storage is allocated on a per file basis, but a
JNLP Client will typically grant or deny the request based on the total
storage is use by an application.
Data stored using this mechanism is intended to be a local copy of data stored on a remote server. The individual entries can be tagged as either cached, meaning the server has an up-to-date copy, dirty, meaning the server does not have an up-to-date copy, or temporary, meaning that the file can always be recreated.
Modifier and Type | Field and Description |
---|---|
static int |
CACHED |
static int |
DIRTY |
static int |
TEMPORARY |
Modifier and Type | Method and Description |
---|---|
long |
create(java.net.URL url,
long maxsize)
Creates a new persistent storage entry on the client side named with
the given URL.
|
void |
delete(java.net.URL url)
Removes the stream associated with the given URL from the
client-side date persistence store.
|
FileContents |
get(java.net.URL url)
Returns a
FileContents object representing the contents
of this file. |
java.lang.String[] |
getNames(java.net.URL url)
Returns an array of Strings containing the names of all the
entries for a given URL.
|
int |
getTag(java.net.URL url)
Returns an
int corresponding to the current value
of the tag for the persistent data store entry associated with the
given URL. |
void |
setTag(java.net.URL url,
int tag)
Tags the persistent data store entry associated with the given URL
with the given tag value.
|
static final int CACHED
static final int TEMPORARY
static final int DIRTY
long create(java.net.URL url, long maxsize) throws java.net.MalformedURLException, java.io.IOException
url
- the URL representing the name of the entry in the
persistent data store.maxsize
- maximum size of storage that can be written to this
entry.java.net.MalformedURLException
- if the application is denied access to
the persistent data store represented by
the given URL or the URL is null.java.io.IOException
- if an I/O exception occurs, or the entry already exists.FileContents get(java.net.URL url) throws java.net.MalformedURLException, java.io.IOException, java.io.FileNotFoundException
FileContents
object representing the contents
of this file.url
- the URL representing the persistent data store entry.java.io.IOException
- if an I/O error occurs.java.net.MalformedURLException
- if the application is denied access to
the persistent data store represented by
the given URL or the URL is null.java.io.FileNotFoundException
- if a persistence store for the given URL
is not found.void delete(java.net.URL url) throws java.net.MalformedURLException, java.io.IOException
url
- the URL representing the entry to delete from
the persistent data store.java.net.MalformedURLException
- if the application is denied access to
the persistent data store represented by
the given URL or the URL is null.java.io.IOException
- if an I/O exception occurs.java.lang.String[] getNames(java.net.URL url) throws java.net.MalformedURLException, java.io.IOException
url
- the URL representing the root directory to search for
entry names.String
array containing the entries
names.java.net.MalformedURLException
- if the application is denied access to
the persistent data store represented by
the given URL or the URL is null.java.io.IOException
- if an I/O exception occurs.int getTag(java.net.URL url) throws java.net.MalformedURLException, java.io.IOException
int
corresponding to the current value
of the tag for the persistent data store entry associated with the
given URL.url
- the URL representing the persistent data store entry
for which the tag value is requested.int
containing one of the following
tag values:
java.net.MalformedURLException
- if the application is denied access to
the persistent data store represented by
the given URL or the URL is null.java.io.IOException
- if an I/O exception occurs.void setTag(java.net.URL url, int tag) throws java.net.MalformedURLException, java.io.IOException
url
- the URL representing the persistent data store entry
for which to set the tag value.tag
- the tag value to set.java.net.MalformedURLException
- if the application is denied access to
the persistent data store represented by
the given URL or the URL is null.java.io.IOException
- if an I/O exception occurs.Copyright © 1998, 2017, Oracle and/or its affiliates. All rights reserved.