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 voidaddStartupTrackingEntry(String message) static voiddetectOnline(URL location) static voidDisables applets from calling exit.static voidexit(int i) static ApplicationInstancestatic DeploymentConfigurationGets the Configuration associated with this runtimestatic DownloadIndicatorstatic LaunchHandlerReturns the default launch handler.static UpdatePolicystatic booleanstatic StringgetLocalisedTimeStamp(Date timestamp) static SecurityDialogMessageHandlerstatic voidinitialize(boolean isApplication) Initialize the JNLP runtime environment by installing the security manager and security policy, initializing the JNLP standard services, etc.static voidstatic booleanstatic booleanisConnectable(URL location) static booleanisDebug()static booleanstatic booleanisHtml()static booleanstatic booleanReturns whether the JNLP runtime environment has been initialized.static booleanstatic booleanisOnline()static booleanstatic booleanReturns whether the secure runtime environment is enabled.static booleanstatic booleanstatic booleanstatic booleanisUnix()Deprecated.static booleanstatic booleanstatic booleanstatic voidIndicate that netx is running by creating theDeploymentConfiguration.KEY_USER_NETX_RUNNING_FILEand acquiring a shared lock on itstatic voidstatic voidsaveHistory(String documentBase) static voidsetAllowRedirect(boolean enabled) static voidsetDebug(boolean enabled) Sets whether debug statements for the JNLP client code should be printed to the standard output.static voidsetDefaultDownloadIndicator(DownloadIndicator indicator) Sets the default download indicator.static voidsetDefaultLaunchHandler(LaunchHandler handler) Sets the default launch handler.static voidsetDefaultUpdatePolicy(UpdatePolicy policy) Sets the default update policy.static voidsetExitClass(Class<?> exitClass) Set a class that can exit the JVM; if not set then any class can exit the JVM.static voidsetForksAllowed(boolean value) static voidsetHeadless(boolean enabled) Sets whether the JNLP client will use any AWT/Swing components.static voidsetHtml(boolean html) static voidsetIgnoreHeaders(boolean ignoreHeaders) static voidsetInitialArgments(List<String> args) static voidsetOfflineForced(boolean b) static voidsetOnlineDetected(boolean online) static voidsetSecurityEnabled(boolean enabled) Sets whether to enable the secure runtime environment.static voidsetTrustAll(boolean b) static voidsetTrustNone(boolean b) static voidsetVerify(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- istrueif 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
DeploymentConfigurationobject 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
SecurityDialogMessageHandlerthat 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:
trueif the current runtime will fork
-
setForksAllowed
public static void setForksAllowed(boolean value) -
isWindows
public static boolean isWindows()- Returns:
trueif running on Windows
-
isUnix
Deprecated.- Returns:
trueif 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_FILEand 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
-