Class JNLPRuntime
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 -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic void
addStartupTrackingEntry
(String message) static void
detectOnline
(URL location) static void
Disables applets from calling exit.static void
exit
(int i) static ApplicationInstance
static DeploymentConfiguration
Gets the Configuration associated with this runtimestatic DownloadIndicator
static LaunchHandler
Returns the default launch handler.static UpdatePolicy
static boolean
static String
getLocalisedTimeStamp
(Date timestamp) static SecurityDialogMessageHandler
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 void
static boolean
static boolean
isConnectable
(URL location) static boolean
isDebug()
static boolean
static boolean
isHtml()
static boolean
static boolean
Returns whether the JNLP runtime environment has been initialized.static boolean
static boolean
isOnline()
static boolean
static boolean
Returns whether the secure runtime environment is enabled.static boolean
static boolean
static boolean
static boolean
isUnix()
Deprecated.static boolean
static boolean
static boolean
static void
Indicate that netx is running by creating theDeploymentConfiguration.KEY_USER_NETX_RUNNING_FILE
and acquiring a shared lock on itstatic void
static void
saveHistory
(String documentBase) static void
setAllowRedirect
(boolean enabled) 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
(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
setHtml
(boolean html) static void
setIgnoreHeaders
(boolean ignoreHeaders) static void
setInitialArgments
(List<String> args) static void
setOfflineForced
(boolean b) static void
setOnlineDetected
(boolean online) static void
setSecurityEnabled
(boolean enabled) Sets whether to enable the secure runtime environment.static void
setTrustAll
(boolean b) static void
setTrustNone
(boolean b) static void
setVerify
(boolean enabled) Sets whether we will verify code signing.
-
Field Details
-
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
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
- istrue
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
-
isConnectable
-
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
- Returns:
- the
SecurityDialogMessageHandler
that should be used to post security dialog messages
-
setExitClass
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
- 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
Sets the default update policy.- Parameters:
policy
- global update policy of environment- Throws:
IllegalStateException
- if caller is not the exit class
-
getDefaultUpdatePolicy
- Returns:
- the default update policy.
-
setDefaultLaunchHandler
Sets the default launch handler.- Parameters:
handler
- default handler
-
getDefaultLaunchHandler
Returns the default launch handler.- Returns:
- default handler
-
setDefaultDownloadIndicator
Sets the default download indicator.- Parameters:
indicator
- where to show progress- Throws:
IllegalStateException
- if caller is not the exit class
-
getDefaultDownloadIndicator
- Returns:
- the default download indicator.
-
getLocalisedTimeStamp
-
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.- Returns:
true
if running on a Unix or Unix-like system (including Linux and *BSD)
-
setInitialArgments
-
getInitialArguments
-
markNetxRunning
public static void markNetxRunning()Indicate that netx is running by creating theDeploymentConfiguration.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
-
exit
public static void exit(int i) -
saveHistory
-