IcedTea-Web NetX

## net.sourceforge.jnlp
Class JNLPFile

    java.lang.Object
      net.sourceforge.jnlp.JNLPFile

Direct Known Subclasses:
  PluginBridge

    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.

Field Summary
`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 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
`protected java.lang.String` `uniqueKey` A key that uniquely identifies connected instances (main jnlp+ext)
`protected UpdateDesc` `update`

Constructor Summary
`protected` `JNLPFile()` Empty stub, allowing child classes to override the constructor
`` `JNLPFile(java.io.InputStream input, boolean strict)` Create a JNLPFile from an input stream.
`` `JNLPFile(java.io.InputStream input, java.net.URL codebase, boolean strict)` Create a JNLPFile from an input stream.
`` `JNLPFile(java.net.URL location)` Create a JNLPFile from a URL.
`` `JNLPFile(java.net.URL location, boolean strict)` Create a JNLPFile from a URL checking for updates using the default policy.
`` `JNLPFile(java.net.URL location, java.lang.String uniqueKey, Version version, boolean strict, 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, boolean strict)` Create a JNLPFile from a URL and a Version checking for updates using the default policy.
`` `JNLPFile(java.net.URL location, Version version, boolean strict, 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, boolean strict, UpdatePolicy policy, java.net.URL forceCodebase)` Create a JNLPFile from a URL and a version, checking for updates using the specified policy.

Method Summary
`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` `getDownloadOptionsForJar(JARDesc jar)` XXX: this method does a "==" comparison between the input JARDesc and jars it finds through getResourcesDescs().
`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
`java.util.List<java.lang.String>` `getNewVMArgs()`
`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` `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

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### sourceLocation

    protected java.net.URL sourceLocation

  the location this JNLP file was created from

### fileLocation

    protected java.net.URL fileLocation

  the network location of this JNLP file

### uniqueKey

    protected java.lang.String uniqueKey

  A key that uniquely identifies connected instances (main jnlp+ext)

### codeBase

    protected java.net.URL codeBase

  the URL used to resolve relative URLs in the file

### fileVersion

    protected Version fileVersion

  file version

### specVersion

    protected Version specVersion

  spec version

### info

    protected java.util.List<InformationDesc> info

  information

### update

    protected UpdateDesc update

### resources

    protected java.util.List<ResourcesDesc> resources

  resources

### sharedResources

    protected ResourcesDesc sharedResources

  additional resources not in JNLP file (from command line)

### launchType

    protected LaunchDesc launchType

  the application description

### component

    protected ComponentDesc component

  the component description

### security

    protected SecurityDesc security

  the security descriptor

### defaultLocale

    protected java.util.Locale defaultLocale

  the default JVM locale

### defaultOS

    protected java.lang.String defaultOS

  the default OS

### defaultArch

    protected java.lang.String defaultArch

  the default arch

Constructor Detail

### JNLPFile

    protected JNLPFile()

  Empty stub, allowing child classes to override the constructor

### JNLPFile

    public JNLPFile(java.net.URL location)
             throws java.io.IOException,
                    ParseException

  Create a JNLPFile from a URL.

  Parameters:
    `location` - the location of the JNLP file
  Throws:
    `java.io.IOException` - if an IO exception occurred
    `ParseException` - if the JNLP file was invalid

### JNLPFile

    public JNLPFile(java.net.URL location,
                    boolean strict)
             throws java.io.IOException,
                    ParseException

  Create a JNLPFile from a URL checking for updates using the default policy.

  Parameters:
    `location` - the location of the JNLP file
    `strict` - whether to enforce the spec when
  Throws:
    `java.io.IOException` - if an IO exception occurred
    `ParseException` - if the JNLP file was invalid

### JNLPFile

    public JNLPFile(java.net.URL location,
                    Version version,
                    boolean strict)
             throws java.io.IOException,
                    ParseException

  Create a JNLPFile from a URL and a Version checking for updates using the default policy.

  Parameters:
    `location` - the location of the JNLP file
    `version` - the version of the JNLP file
    `strict` - whether to enforce the spec when
  Throws:
    `java.io.IOException` - if an IO exception occurred
    `ParseException` - if the JNLP file was invalid

### JNLPFile

    public JNLPFile(java.net.URL location,
                    Version version,
                    boolean strict,
                    UpdatePolicy policy)
             throws java.io.IOException,
                    ParseException

  Create a JNLPFile from a URL and a version, checking for updates using the specified policy.

  Parameters:
    `location` - the location of the JNLP file
    `version` - the version of the JNLP file
    `strict` - whether to enforce the spec when
    `policy` - the update policy
  Throws:
    `java.io.IOException` - if an IO exception occurred
    `ParseException` - if the JNLP file was invalid

### JNLPFile

    protected JNLPFile(java.net.URL location,
                       Version version,
                       boolean strict,
                       UpdatePolicy policy,
                       java.net.URL forceCodebase)
                throws java.io.IOException,
                       ParseException

  Create a JNLPFile from a URL and a version, checking for updates using the specified policy.

  Parameters:
    `location` - the location of the JNLP file
    `version` - the version of the JNLP file
    `strict` - whether to enforce the spec when
    `policy` - the update policy
    `forceCodebase` - codebase to use if not specified in JNLP file.
  Throws:
    `java.io.IOException` - if an IO exception occurred
    `ParseException` - if the JNLP file was invalid

### JNLPFile

    public JNLPFile(java.net.URL location,
                    java.lang.String uniqueKey,
                    Version version,
                    boolean strict,
                    UpdatePolicy policy)
             throws java.io.IOException,
                    ParseException

  Create a JNLPFile from a URL, parent URLm a version and checking for updates using the specified policy.

  Parameters:
    `location` - the location of the JNLP file
    `uniqueKey` - A string that uniquely identifies connected instances
    `version` - the version of the JNLP file
    `strict` - whether to enforce the spec when
    `policy` - the update policy
  Throws:
    `java.io.IOException` - if an IO exception occurred
    `ParseException` - if the JNLP file was invalid

### JNLPFile

    public JNLPFile(java.io.InputStream input,
                    boolean strict)
             throws ParseException

  Create a JNLPFile from an input stream.

  Throws:
    `java.io.IOException` - if an IO exception occurred
    `ParseException` - if the JNLP file was invalid

### JNLPFile

    public JNLPFile(java.io.InputStream input,
                    java.net.URL codebase,
                    boolean strict)
             throws ParseException

  Create a JNLPFile from an input stream.

  Parameters:
    `input` - input stream of JNLP file.
    `codebase` - codebase to use if not specified in JNLP file..
    `strict` - whether to enforce the spec rules
  Throws:
    `java.io.IOException` - if an IO exception occurred
    `ParseException` - if the JNLP file was invalid

Method Detail

### getTitle

    public java.lang.String getTitle()

  Returns the JNLP file's best localized title. This method returns the same value as InformationDesc.getTitle().

### getVendor

    public java.lang.String getVendor()

  Returns the JNLP file's best localized vendor. This method returns the same value as InformationDesc.getVendor().

### getSourceLocation

    public java.net.URL getSourceLocation()

  Returns the JNLP file's network location as specified in the JNLP file.

### getFileLocation

    public 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.

### getUniqueKey

    public java.lang.String getUniqueKey()

  Returns the location of the parent file if it exists, null otherwise

### getFileVersion

    public Version getFileVersion()

  Returns the JNLP file's version.

### getSpecVersion

    public Version getSpecVersion()

  Returns the specification version required by the file.

### getCodeBase

    public java.net.URL getCodeBase()

  Returns the codebase URL for the JNLP file.

### getInformation

    public InformationDesc getInformation()

  Returns the information section of the JNLP file as viewed through the default locale.

### getInformation

    public InformationDesc getInformation(java.util.Locale locale)

  Returns the information section of the JNLP file as viewed through the specified locale.

### getUpdate

    public UpdateDesc getUpdate()

  Returns the update section of the JNLP file.

### getSecurity

    public SecurityDesc getSecurity()

  Returns the security section of the JNLP file.

### getResources

    public ResourcesDesc getResources()

  Returns the resources section of the JNLP file as viewed through the default locale and the os.name and os.arch properties.

### getResources

    public 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.

### getResourcesDescs

    public ResourcesDesc[] getResourcesDescs()

  Returns the resources section of the JNLP file as viewed through the default locale and the os.name and os.arch properties. XXX: Before overriding this method or changing its implementation, read the comment in JNLPFile.getDownloadOptionsForJar(JARDesc).

### getResourcesDescs

    public 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.

### getLaunchInfo

    public LaunchDesc getLaunchInfo()

  Returns an object of one of the following types: AppletDesc, ApplicationDesc and InstallerDesc

### getApplet

    public AppletDesc getApplet()

  Returns the launch information for an applet.

  Throws:
    `java.lang.UnsupportedOperationException` - if there is no applet information

### getApplication

    public ApplicationDesc getApplication()

  Returns the launch information for an application.

  Throws:
    `java.lang.UnsupportedOperationException` - if there is no application information

### getComponent

    public ComponentDesc getComponent()

  Returns the launch information for a component.

  Throws:
    `java.lang.UnsupportedOperationException` - if there is no component information

### getInstaller

    public InstallerDesc getInstaller()

  Returns the launch information for an installer.

  Throws:
    `java.lang.UnsupportedOperationException` - if there is no installer information

### isApplet

    public boolean isApplet()

  Returns whether the lauch descriptor describes an Applet.

### isApplication

    public boolean isApplication()

  Returns whether the lauch descriptor describes an Application.

### isComponent

    public boolean isComponent()

  Returns whether the lauch descriptor describes a Component.

### isInstaller

    public boolean isInstaller()

  Returns whether the lauch descriptor describes an Installer.

### setDefaults

    public 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. If unset, the defaults are the properties os.name, os.arch, and the locale returned by Locale.getDefault().

### localeMatches

    public 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. Only the non-empty language, country, and variant codes are compared; for example, a requested locale of Locale("","","") would always return true.

  Parameters:
    `requested` - the local
    `available` - the available locales
    `precision` - the depth with which to match locales. 1 checks only language, 2 checks language and country, 3 checks language, country and variant for matches. Passing 0 will always return true.
  Returns:
    true if requested matches any of available, or if available is empty or null.

### needsNewVM

    public boolean needsNewVM()

  Returns:
    true if the JNLP file specifies things that can only be applied on a new vm (eg: different max heap memory)

### getNewVMArgs

    public java.util.List<java.lang.String> getNewVMArgs()

  Returns:
    a list of args to pass to the new JVM based on this JNLP file

### getDownloadOptionsForJar

    public DownloadOptions getDownloadOptionsForJar(JARDesc jar)

  XXX: this method does a "==" comparison between the input JARDesc and jars it finds through getResourcesDescs(). If ever the implementation of that function should change to return copies of JARDescs objects, then the "jar == aJar" comparison below should change accordingly.

  Parameters:
    `jar` - the jar whose download options to get.
  Returns:
    the download options.

### requiresSignedJNLPWarning

    public boolean requiresSignedJNLPWarning()

  Returns a boolean after determining if a signed JNLP warning should be displayed in the 'More Information' panel.

  Returns:
    true if a warning should be displayed; otherwise false

### setSignedJNLPAsMissing

    public void setSignedJNLPAsMissing()

  Informs that a signed JNLP file is missing in the main jar

IcedTea-Web NetX

Submit a bug or feature