Class JNLPRuntime

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

public class JNLPRuntime extends 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 Details

    • initMutex

      public static Object initMutex
      mutex to wait on, for initialization
  • Constructor Details

    • JNLPRuntime

      public JNLPRuntime()
  • Method Details

    • 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
      Returns:
      whether this runtime was already initialilsed
    • initialize

      public static void initialize(boolean isApplication) throws 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:
      IllegalStateException - if the runtime was previously initialized
    • reloadPolicy

      public static void reloadPolicy()
    • setOfflineForced

      public static void setOfflineForced(boolean b)
    • isOfflineForced

      public static boolean isOfflineForced()
    • setOnlineDetected

      public static void setOnlineDetected(boolean online)
    • isOnlineDetected

      public static boolean isOnlineDetected()
    • isOnline

      public static boolean isOnline()
    • detectOnline

      public static void detectOnline(URL location)
    • isConnectable

      public static boolean isConnectable(URL location)
    • 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).
      Parameters:
      enabled - true if application do not wont/need gui or X at all
      Throws:
      IllegalStateException - if the runtime was previously initialized
    • setAllowRedirect

      public static void setAllowRedirect(boolean enabled)
    • isAllowRedirect

      public static boolean isAllowRedirect()
    • setVerify

      public static void setVerify(boolean enabled)
      Sets whether we will verify code signing.
      Parameters:
      enabled - true if app should verify signatures
      Throws:
      IllegalStateException - if the runtime was previously initialized
    • isSecurityEnabled

      public static boolean isSecurityEnabled()
      Returns whether the secure runtime environment is enabled.
      Returns:
      true if security manager is created
    • 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:
      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(Class<?> exitClass)
      Set a class that can exit the JVM; if not set then any class can exit the JVM.
      Parameters:
      exitClass - a class that can exit the JVM
      Throws:
      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()
      Returns:
      the current Application, or null if none can be determined.
    • isDebug

      public static boolean isDebug()
      Returns:
      whether debug statements for the JNLP client code should be printed.
    • isSetDebug

      public static boolean isSetDebug()
    • setDebug

      public static void setDebug(boolean enabled)
      Sets whether debug statements for the JNLP client code should be printed to the standard output.
      Parameters:
      enabled - set to true if you need full debug output
      Throws:
      IllegalStateException - if caller is not the exit class
    • setDefaultUpdatePolicy

      public static void setDefaultUpdatePolicy(UpdatePolicy policy)
      Sets the default update policy.
      Parameters:
      policy - global update policy of environment
      Throws:
      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.
      Parameters:
      handler - default handler
    • getDefaultLaunchHandler

      public static LaunchHandler getDefaultLaunchHandler()
      Returns the default launch handler.
      Returns:
      default handler
    • setDefaultDownloadIndicator

      public static void setDefaultDownloadIndicator(DownloadIndicator indicator)
      Sets the default download indicator.
      Parameters:
      indicator - where to show progress
      Throws:
      IllegalStateException - if caller is not the exit class
    • getDefaultDownloadIndicator

      public static DownloadIndicator getDefaultDownloadIndicator()
      Returns:
      the default download indicator.
    • getLocalisedTimeStamp

      public static String getLocalisedTimeStamp(Date timestamp)
    • 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

      @Deprecated public static boolean isUnix()
      Deprecated.
      Returns:
      true if running on a Unix or Unix-like system (including Linux and *BSD)
    • setInitialArgments

      public static void setInitialArgments(List<String> args)
    • getInitialArguments

      public static List<String> getInitialArguments()
    • markNetxRunning

      public static void markNetxRunning()
      Indicate that netx is running by creating the DeploymentConfiguration.KEY_USER_NETX_RUNNING_FILE and acquiring a shared lock on it
    • setHtml

      public static void setHtml(boolean html)
    • isHtml

      public static boolean isHtml()
    • setTrustAll

      public static void setTrustAll(boolean b)
    • isTrustAll

      public static boolean isTrustAll()
    • setTrustNone

      public static void setTrustNone(boolean b)
    • isTrustNone

      public static boolean isTrustNone()
    • isIgnoreHeaders

      public static boolean isIgnoreHeaders()
    • setIgnoreHeaders

      public static void setIgnoreHeaders(boolean ignoreHeaders)
    • initStartupTracker

      public static void initStartupTracker()
    • addStartupTrackingEntry

      public static void addStartupTrackingEntry(String message)
    • exit

      public static void exit(int i)
    • saveHistory

      public static void saveHistory(String documentBase)