public class JNLPFile
extends java.lang.Object
Provides methods to access the information in a Java Network Launching Protocol (JNLP) file. The Java Network Launching Protocol specifies in an XML file the information needed to load, cache, and run Java code over the network and in a secure environment.
This class represents the overall information about a JNLP file from the jnlp element. Other information is accessed through objects that represent the elements of a JNLP file (information, resources, application-desc, etc). References to these objects are obtained by calling the getInformation, getResources, getSecurity, etc methods.
Modifier and Type | Class and Description |
---|---|
static class |
JNLPFile.ManifestBoolean |
class |
JNLPFile.ManifestsAttributes |
Modifier and Type | Field and Description |
---|---|
protected java.net.URL |
codeBase
the URL used to resolve relative URLs in the file
|
protected ComponentDesc |
component
the component description
|
protected java.lang.String |
defaultArch
the default arch
|
protected java.util.Locale |
defaultLocale
the default JVM locale
|
protected java.lang.String |
defaultOS
the default OS
|
protected java.net.URL |
fileLocation
the network location of this JNLP file
|
protected Version |
fileVersion
file version
|
protected java.util.List<InformationDesc> |
info
information
|
protected LaunchDesc |
launchType
the application description
|
protected ParserSettings |
parserSettings
the ParserSettings which were used to parse this file
|
protected java.util.List<ResourcesDesc> |
resources
resources
|
protected SecurityDesc |
security
the security descriptor
|
protected ResourcesDesc |
sharedResources
additional resources not in JNLP file (from command line)
|
protected java.net.URL |
sourceLocation
the location this JNLP file was created from
|
protected Version |
specVersion
spec version
|
static java.lang.String |
TITLE_NOT_FOUND |
protected java.lang.String |
uniqueKey
A key that uniquely identifies connected instances (main jnlp+ext)
|
protected UpdateDesc |
update |
Modifier | Constructor and Description |
---|---|
protected |
JNLPFile()
Empty stub, allowing child classes to override the constructor
|
|
JNLPFile(java.io.InputStream input,
ParserSettings settings)
Create a JNLPFile from an input stream.
|
|
JNLPFile(java.io.InputStream input,
java.net.URL codebase,
ParserSettings settings)
Create a JNLPFile from an input stream.
|
|
JNLPFile(java.net.URL location)
Create a JNLPFile from a URL.
|
|
JNLPFile(java.net.URL location,
ParserSettings settings)
Create a JNLPFile from a URL checking for updates using the
default policy.
|
|
JNLPFile(java.net.URL location,
java.lang.String uniqueKey,
Version version,
ParserSettings settings,
UpdatePolicy policy)
Create a JNLPFile from a URL, parent URLm a version and checking for
updates using the specified policy.
|
|
JNLPFile(java.net.URL location,
Version version,
ParserSettings settings)
Create a JNLPFile from a URL and a Version checking for updates using
the default policy.
|
|
JNLPFile(java.net.URL location,
Version version,
ParserSettings settings,
UpdatePolicy policy)
Create a JNLPFile from a URL and a version, checking for updates
using the specified policy.
|
protected |
JNLPFile(java.net.URL location,
Version version,
ParserSettings settings,
UpdatePolicy policy,
java.net.URL forceCodebase)
Create a JNLPFile from a URL and a version, checking for updates
using the specified policy.
|
Modifier and Type | Method and Description |
---|---|
AppletDesc |
getApplet()
Returns the launch information for an applet.
|
ApplicationDesc |
getApplication()
Returns the launch information for an application.
|
java.net.URL |
getCodeBase()
Returns the codebase URL for the JNLP file.
|
ComponentDesc |
getComponent()
Returns the launch information for a component.
|
DownloadOptions |
getDownloadOptions() |
java.net.URL |
getFileLocation()
Returns the location of the file parsed to create the JNLP
file, or null if it was not created from a URL.
|
Version |
getFileVersion()
Returns the JNLP file's version.
|
InformationDesc |
getInformation()
Returns the information section of the JNLP file as viewed
through the default locale.
|
InformationDesc |
getInformation(java.util.Locale locale)
Returns the information section of the JNLP file as viewed
through the specified locale.
|
InstallerDesc |
getInstaller()
Returns the launch information for an installer.
|
LaunchDesc |
getLaunchInfo()
Returns an object of one of the following types: AppletDesc,
ApplicationDesc and InstallerDesc
|
JNLPFile.ManifestsAttributes |
getManifestsAttributes() |
java.util.List<java.lang.String> |
getNewVMArgs() |
ParserSettings |
getParserSettings()
Returns the ParserSettings that was used to parse this file
|
SecurityDesc.RequestedPermissionLevel |
getRequestedPermissionLevel() |
ResourcesDesc |
getResources()
Returns the resources section of the JNLP file as viewed
through the default locale and the os.name and os.arch
properties.
|
ResourcesDesc |
getResources(java.util.Locale locale,
java.lang.String os,
java.lang.String arch)
Returns the resources section of the JNLP file for the
specified locale, os, and arch.
|
ResourcesDesc[] |
getResourcesDescs()
Returns the resources section of the JNLP file as viewed
through the default locale and the os.name and os.arch
properties.
|
ResourcesDesc[] |
getResourcesDescs(java.util.Locale locale,
java.lang.String os,
java.lang.String arch)
Returns the resources section of the JNLP file for the
specified locale, os, and arch.
|
SecurityDesc |
getSecurity()
Returns the security section of the JNLP file.
|
java.net.URL |
getSourceLocation()
Returns the JNLP file's network location as specified in the
JNLP file.
|
Version |
getSpecVersion()
Returns the specification version required by the file.
|
java.lang.String |
getTitle()
Returns the JNLP file's best localized title.
|
java.lang.String |
getTitleFromJnlp()
Returns the JNLP file's best localized title.
|
java.lang.String |
getTitleFromManifest() |
java.lang.String |
getUniqueKey()
Returns the location of the parent file if it exists, null otherwise
|
UpdateDesc |
getUpdate()
Returns the update section of the JNLP file.
|
java.lang.String |
getVendor()
Returns the JNLP file's best localized vendor.
|
boolean |
isApplet()
Returns whether the lauch descriptor describes an Applet.
|
boolean |
isApplication()
Returns whether the lauch descriptor describes an Application.
|
boolean |
isComponent()
Returns whether the lauch descriptor describes a Component.
|
boolean |
isInstaller()
Returns whether the lauch descriptor describes an Installer.
|
boolean |
localeMatches(java.util.Locale requested,
java.util.Locale[] available,
net.sourceforge.jnlp.JNLPFile.Match matchLevel)
Returns whether a locale is matched by one of more other
locales.
|
boolean |
needsNewVM() |
boolean |
requiresSignedJNLPWarning()
Returns a boolean after determining if a signed JNLP warning should be
displayed in the 'More Information' panel.
|
void |
setDefaults(java.lang.String os,
java.lang.String arch,
java.util.Locale locale)
Sets the default view of the JNLP file returned by
getInformation, getResources, etc.
|
void |
setSignedJNLPAsMissing()
Informs that a signed JNLP file is missing in the main jar
|
protected java.net.URL sourceLocation
protected java.net.URL fileLocation
protected ParserSettings parserSettings
protected java.lang.String uniqueKey
protected java.net.URL codeBase
protected Version fileVersion
protected Version specVersion
protected java.util.List<InformationDesc> info
protected UpdateDesc update
protected java.util.List<ResourcesDesc> resources
protected ResourcesDesc sharedResources
protected LaunchDesc launchType
protected ComponentDesc component
protected SecurityDesc security
protected java.util.Locale defaultLocale
protected java.lang.String defaultOS
protected java.lang.String defaultArch
public static final java.lang.String TITLE_NOT_FOUND
protected JNLPFile()
public JNLPFile(java.net.URL location) throws java.io.IOException, ParseException
location
- the location of the JNLP filejava.io.IOException
- if an IO exception occurredParseException
- if the JNLP file was invalidpublic JNLPFile(java.net.URL location, ParserSettings settings) throws java.io.IOException, ParseException
location
- the location of the JNLP filesettings
- the parser settings to use while parsing the filejava.io.IOException
- if an IO exception occurredParseException
- if the JNLP file was invalidpublic JNLPFile(java.net.URL location, Version version, ParserSettings settings) throws java.io.IOException, ParseException
location
- the location of the JNLP fileversion
- the version of the JNLP filesettings
- the parser settings to use while parsing the filejava.io.IOException
- if an IO exception occurredParseException
- if the JNLP file was invalidpublic JNLPFile(java.net.URL location, Version version, ParserSettings settings, UpdatePolicy policy) throws java.io.IOException, ParseException
location
- the location of the JNLP fileversion
- the version of the JNLP filesettings
- the ParserSettings
to use when parsing the location
policy
- the update policyjava.io.IOException
- if an IO exception occurredParseException
- if the JNLP file was invalidprotected JNLPFile(java.net.URL location, Version version, ParserSettings settings, UpdatePolicy policy, java.net.URL forceCodebase) throws java.io.IOException, ParseException
location
- the location of the JNLP fileversion
- the version of the JNLP filesettings
- the parser settings to use while parsing the filepolicy
- the update policyforceCodebase
- codebase to use if not specified in JNLP file.java.io.IOException
- if an IO exception occurredParseException
- if the JNLP file was invalidpublic JNLPFile(java.net.URL location, java.lang.String uniqueKey, Version version, ParserSettings settings, UpdatePolicy policy) throws java.io.IOException, ParseException
location
- the location of the JNLP fileuniqueKey
- A string that uniquely identifies connected instancesversion
- the version of the JNLP filesettings
- the parser settings to use while parsing the filepolicy
- the update policyjava.io.IOException
- if an IO exception occurredParseException
- if the JNLP file was invalidpublic JNLPFile(java.io.InputStream input, ParserSettings settings) throws ParseException
ParseException
- if the JNLP file was invalidpublic JNLPFile(java.io.InputStream input, java.net.URL codebase, ParserSettings settings) throws ParseException
input
- input stream of JNLP file.codebase
- codebase to use if not specified in JNLP file..settings
- the ParserSettings
to use when parsingParseException
- if the JNLP file was invalidpublic java.lang.String getTitle()
public java.lang.String getTitleFromJnlp()
public java.lang.String getTitleFromManifest()
public java.lang.String getVendor()
public java.net.URL getSourceLocation()
public java.net.URL getFileLocation()
public java.lang.String getUniqueKey()
public ParserSettings getParserSettings()
public Version getFileVersion()
public Version getSpecVersion()
public java.net.URL getCodeBase()
public InformationDesc getInformation()
public InformationDesc getInformation(java.util.Locale locale)
public UpdateDesc getUpdate()
public SecurityDesc getSecurity()
public SecurityDesc.RequestedPermissionLevel getRequestedPermissionLevel()
public ResourcesDesc getResources()
public ResourcesDesc getResources(java.util.Locale locale, java.lang.String os, java.lang.String arch)
public ResourcesDesc[] getResourcesDescs()
public ResourcesDesc[] getResourcesDescs(java.util.Locale locale, java.lang.String os, java.lang.String arch)
public LaunchDesc getLaunchInfo()
public AppletDesc getApplet()
java.lang.UnsupportedOperationException
- if there is no applet informationpublic ApplicationDesc getApplication()
java.lang.UnsupportedOperationException
- if there is no application informationpublic ComponentDesc getComponent()
java.lang.UnsupportedOperationException
- if there is no component informationpublic InstallerDesc getInstaller()
java.lang.UnsupportedOperationException
- if there is no installer informationpublic boolean isApplet()
public boolean isApplication()
public boolean isComponent()
public boolean isInstaller()
public void setDefaults(java.lang.String os, java.lang.String arch, java.util.Locale locale)
public boolean localeMatches(java.util.Locale requested, java.util.Locale[] available, net.sourceforge.jnlp.JNLPFile.Match matchLevel)
requested
- the requested localeavailable
- the available localesmatchLevel
- the depth with which to match locales.true
if requested
matches any of available
, or if
available
is empty or null
.Locale
,
Match
public boolean needsNewVM()
public java.util.List<java.lang.String> getNewVMArgs()
public DownloadOptions getDownloadOptions()
public boolean requiresSignedJNLPWarning()
public void setSignedJNLPAsMissing()
public JNLPFile.ManifestsAttributes getManifestsAttributes()