net.sourceforge.jnlp.runtime

## Class JNLPRuntime

- java.lang.Object
- - net.sourceforge.jnlp.runtime.JNLPRuntime

-     public class JNLPRuntime
      extends java.lang.Object

  Configure and access the runtime environment. This class stores global jnlp properties such as default download indicators, the install/base directory, the default resource update policy, etc. Some settings, such as the base directory, cannot be changed once the runtime has been initialized.

  The JNLP runtime can be locked to prevent further changes to the runtime environment except by a specified class. If set, only instances of the exit class can exit the JVM or change the JNLP runtime settings once the runtime has been initialized.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.Object` | `initMutex` mutex to wait on, for initialization
    `static java.lang.String` | `STDERR_FILE`
    `static java.lang.String` | `STDOUT_FILE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JNLPRuntime()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `disableExit()` Disables applets from calling exit.
    `static ApplicationInstance` | `getApplication()` Return the current Application, or null if none can be determined.
    `static DeploymentConfiguration` | `getConfiguration()` Gets the Configuration associated with this runtime
    `static DownloadIndicator` | `getDefaultDownloadIndicator()` Returns the default download indicator.
    `static LaunchHandler` | `getDefaultLaunchHandler()` Returns the default launch handler.
    `static UpdatePolicy` | `getDefaultUpdatePolicy()` Returns the default update policy.
    `static boolean` | `getForksAllowed()` Returns true if the current runtime will fork
    `static java.util.List<java.lang.String>` | `getInitialArguments()`
    `static java.lang.String` | `getMessage(java.lang.String key)` Returns the localized resource string identified by the specified key.
    `static java.lang.String` | `getMessage(java.lang.String key, java.lang.Object... args)` Returns the localized resource string using the specified arguments.
    `static SecurityDialogMessageHandler` | `getSecurityDialogHandler()`
    `static void` | `initialize(boolean isApplication)` Initialize the JNLP runtime environment by installing the security manager and security policy, initializing the JNLP standard services, etc.
    `static boolean` | `isDebug()` Return whether debug statements for the JNLP client code should be printed.
    `static boolean` | `isHeadless()` Returns whether the JNLP client will use any AWT/Swing components.
    `static boolean` | `isIgnoreHeaders()`
    `static boolean` | `isInitialized()` Returns whether the JNLP runtime environment has been initialized.
    `static boolean` | `isSecurityEnabled()` Returns whether the secure runtime environment is enabled.
    `static boolean` | `isTrustAll()`
    `static boolean` | `isUnix()`
    `static boolean` | `isVerifying()` Returns whether we are verifying code signing.
    `static boolean` | `isWebstartApplication()` Returns true if a webstart application has been initialized, and false for a plugin applet.
    `static boolean` | `isWindows()`
    `static void` | `markNetxRunning()` Indicate that netx is running by creating the `JNLPRuntime#INSTANCE_FILE` and acquiring a shared lock on it
    `static void` | `setDebug(boolean enabled)` Sets whether debug statements for the JNLP client code should be printed to the standard output.
    `static void` | `setDefaultDownloadIndicator(DownloadIndicator indicator)` Sets the default download indicator.
    `static void` | `setDefaultLaunchHandler(LaunchHandler handler)` Sets the default launch handler.
    `static void` | `setDefaultUpdatePolicy(UpdatePolicy policy)` Sets the default update policy.
    `static void` | `setExitClass(java.lang.Class exitClass)` Set a class that can exit the JVM; if not set then any class can exit the JVM.
    `static void` | `setForksAllowed(boolean value)`
    `static void` | `setHeadless(boolean enabled)` Sets whether the JNLP client will use any AWT/Swing components.
    `static void` | `setIgnoreHeaders(boolean ignoreHeaders)`
    `static void` | `setInitialArgments(java.util.List<java.lang.String> args)`
    `static void` | `setRedirectStreams(boolean redirect)` Sets whether the standard output/error streams should be redirected to the loggging files.
    `static void` | `setSecurityEnabled(boolean enabled)` Sets whether to enable the secure runtime environment.
    `static void` | `setVerify(boolean enabled)` Sets whether we will verify code signing.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### initMutex

          public static java.lang.Object initMutex

      mutex to wait on, for initialization

    - #### STDERR_FILE

          public static final java.lang.String STDERR_FILE

      See Also:
        Constant Field Values

    - #### STDOUT_FILE

          public static final java.lang.String STDOUT_FILE

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### JNLPRuntime

          public JNLPRuntime()

  - ### Method Detail

    - #### isInitialized

          public static boolean isInitialized()

      Returns whether the JNLP runtime environment has been initialized. Once initialized, some properties such as the base directory cannot be changed. Before

    - #### initialize

          public static void initialize(boolean isApplication)
                                 throws java.lang.IllegalStateException

      Initialize the JNLP runtime environment by installing the security manager and security policy, initializing the JNLP standard services, etc.

      This method should be called from the main AppContext/Thread.

      This method cannot be called more than once. Once initialized, methods that alter the runtime can only be called by the exit class.

      Parameters:
        `isApplication` - is true if a webstart application is being initialized
      Throws:
        `java.lang.IllegalStateException` - if the runtime was previously initialized

    - #### getConfiguration

          public static DeploymentConfiguration getConfiguration()

      Gets the Configuration associated with this runtime
      Returns:
        a `DeploymentConfiguration` object that can be queried to find relevant configuration settings

    - #### isWebstartApplication

          public static boolean isWebstartApplication()

      Returns true if a webstart application has been initialized, and false for a plugin applet.

    - #### isHeadless

          public static boolean isHeadless()

      Returns whether the JNLP client will use any AWT/Swing components.

    - #### isVerifying

          public static boolean isVerifying()

      Returns whether we are verifying code signing.

    - #### setHeadless

          public static void setHeadless(boolean enabled)

      Sets whether the JNLP client will use any AWT/Swing components. In headless mode, client features that use the AWT are disabled such that the client can be used in headless mode (`java.awt.headless=true`).
      Throws:
        `java.lang.IllegalStateException` - if the runtime was previously initialized

    - #### setVerify

          public static void setVerify(boolean enabled)

      Sets whether we will verify code signing.
      Throws:
        `java.lang.IllegalStateException` - if the runtime was previously initialized

    - #### isSecurityEnabled

          public static boolean isSecurityEnabled()

      Returns whether the secure runtime environment is enabled.

    - #### setSecurityEnabled

          public static void setSecurityEnabled(boolean enabled)

      Sets whether to enable the secure runtime environment. Disabling security can increase performance for some applications, and can be used to use netx with other code that uses its own security manager or policy. Disabling security is not recommended and should only be used if the JNLP files opened are trusted. This method can only be called before initalizing the runtime.

      Parameters:
        `enabled` - whether security should be enabled
      Throws:
        `java.lang.IllegalStateException` - if the runtime is already initialized

    - #### getSecurityDialogHandler

          public static SecurityDialogMessageHandler getSecurityDialogHandler()

      Returns:
        the `SecurityDialogMessageHandler` that should be used to post security dialog messages

    - #### setExitClass

          public static void setExitClass(java.lang.Class exitClass)

      Set a class that can exit the JVM; if not set then any class can exit the JVM.
      Throws:
        `java.lang.IllegalStateException` - if caller is not the exit class

    - #### disableExit

          public static void disableExit()

      Disables applets from calling exit. Once disabled, exit cannot be re-enabled for the duration of the JVM instance

    - #### getApplication

          public static ApplicationInstance getApplication()

      Return the current Application, or null if none can be determined.

    - #### isDebug

          public static boolean isDebug()

      Return whether debug statements for the JNLP client code should be printed.

    - #### setDebug

          public static void setDebug(boolean enabled)

      Sets whether debug statements for the JNLP client code should be printed to the standard output.
      Throws:
        `java.lang.IllegalStateException` - if caller is not the exit class

    - #### setRedirectStreams

          public static void setRedirectStreams(boolean redirect)

      Sets whether the standard output/error streams should be redirected to the loggging files.
      Throws:
        `java.lang.IllegalStateException` - if the runtime has already been initialized

    - #### setDefaultUpdatePolicy

          public static void setDefaultUpdatePolicy(UpdatePolicy policy)

      Sets the default update policy.
      Throws:
        `java.lang.IllegalStateException` - if caller is not the exit class

    - #### getDefaultUpdatePolicy

          public static UpdatePolicy getDefaultUpdatePolicy()

      Returns the default update policy.

    - #### setDefaultLaunchHandler

          public static void setDefaultLaunchHandler(LaunchHandler handler)

      Sets the default launch handler.

    - #### getDefaultLaunchHandler

          public static LaunchHandler getDefaultLaunchHandler()

      Returns the default launch handler.

    - #### setDefaultDownloadIndicator

          public static void setDefaultDownloadIndicator(DownloadIndicator indicator)

      Sets the default download indicator.
      Throws:
        `java.lang.IllegalStateException` - if caller is not the exit class

    - #### getDefaultDownloadIndicator

          public static DownloadIndicator getDefaultDownloadIndicator()

      Returns the default download indicator.

    - #### getMessage

          public static java.lang.String getMessage(java.lang.String key)

      Returns the localized resource string identified by the specified key. If the message is empty, a null is returned.

    - #### getMessage

          public static java.lang.String getMessage(java.lang.String key,
                                    java.lang.Object... args)

      Returns the localized resource string using the specified arguments.
      Parameters:
        `args` - the formatting arguments to the resource string

    - #### getForksAllowed

          public static boolean getForksAllowed()

      Returns true if the current runtime will fork

    - #### setForksAllowed

          public static void setForksAllowed(boolean value)

    - #### isWindows

          public static boolean isWindows()

      Returns:
        true if running on Windows

    - #### isUnix

          public static boolean isUnix()

      Returns:
        true if running on a Unix or Unix-like system (including Linux and *BSD)

    - #### setInitialArgments

          public static void setInitialArgments(java.util.List<java.lang.String> args)

    - #### getInitialArguments

          public static java.util.List<java.lang.String> getInitialArguments()

    - #### markNetxRunning

          public static void markNetxRunning()

      Indicate that netx is running by creating the `JNLPRuntime#INSTANCE_FILE` and acquiring a shared lock on it

    - #### isTrustAll

          public static boolean isTrustAll()

    - #### isIgnoreHeaders

          public static boolean isIgnoreHeaders()

    - #### setIgnoreHeaders

          public static void setIgnoreHeaders(boolean ignoreHeaders)

Submit a bug or feature