IcedTea-Web
NetX

net.sourceforge.jnlp
Class JNLPFile

java.lang.Object
  extended by 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 jvm
protected  java.util.Locale defaultLocale
          the default OS
protected  java.lang.String defaultOS
          the default arch
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  java.lang.Object 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.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.
 
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.
 java.lang.Object 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 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.
 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 needsNewVM()
           
 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.
 
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 java.lang.Object 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 OS


defaultOS

protected java.lang.String defaultOS
the default arch


defaultArch

protected java.lang.String defaultArch
the default jvm

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

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
Method Detail

getTitle

public java.lang.String getTitle()
Returns the JNLP file's title. This method returns the same value as InformationDesc.getTitle().


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 java.lang.Object 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().


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.

IcedTea-Web
NetX

Submit a bug or feature