Class LaunchContextImpl
java.lang.Object
com.inductiveautomation.ignition.client.launch.LaunchContextImpl
- All Implemented Interfaces:
LaunchContext
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.inductiveautomation.ignition.client.launch.LaunchContext
LaunchContext.WritableProject -
Field Summary
Fields inherited from interface com.inductiveautomation.ignition.client.launch.LaunchContext
CONDENSED_FONT_ATTRIBUTE, FRAMEWORK_ATTRIBUTE, SSO_PASSWORD, SSO_USERNAME -
Constructor Summary
ConstructorsConstructorDescriptionLaunchContextImpl(ResourceBundle bundle, LaunchSpec spec, File cacheDir, LaunchParent parent, Map<String, Object> attributes) -
Method Summary
Modifier and TypeMethodDescription<T> TgetAttribute(String key) A free-for-all map of objects that clients can use to communicate between launches.<T> TgetAttribute(String key, T defaultValue) Retrieves the raw attribute mapThe base of the cache dirs: %USER_HOME%/.ignition/cache/Currently should return an empty list if edition is not edge.The actual cache directory for the specific gateway that we ended up connecting to.This LaunchManifest is downloaded from the gateway during ConnectStep.getLog()A PrintWriter that steps can use to log their progress.The name of the class that should be started during StartupStepThe platform edition.This is the project snapshot that we can send to the gw to get changes.The name of the project.The base of the cached resources: %USER_HOME%/.ignition/cache/resources/Returns the location of the cached translation term db file.byte[]Returns a serialized user object (if any) that was passed as part of a restartvoidA shortcut for:voidsetAttribute(String key, Object value) voidsetDownloadRequiredManifest(LaunchManifest downloadRequiredManifest) voidsetGatewayAddress(GatewayAddress gatewayAddress) voidsetGatewayAddresses(List<GatewayAddress> gatewayAddresses) voidsetGwCacheDir(File gwCacheDir) voidsetLaunchManifest(LaunchManifest launchManifest) voidsetTranDBLocation(File tranDBLocation) voidUpdates the cache with a list of gateway addresses that will be available for use next time this project is loaded.voidThis overload of updateProjectCache takes a WriteableProject, which lets the project be streamed.
-
Constructor Details
-
LaunchContextImpl
public LaunchContextImpl(ResourceBundle bundle, LaunchSpec spec, File cacheDir, LaunchParent parent, Map<String, Object> attributes) throws LaunchException- Throws:
LaunchException
-
-
Method Details
-
getScopeCode
- Specified by:
getScopeCodein interfaceLaunchContext- Returns:
- "C" for client, "D" for designer
-
getBundle
-
getCacheDir
Description copied from interface:LaunchContextThe base of the cache dirs: %USER_HOME%/.ignition/cache/- Specified by:
getCacheDirin interfaceLaunchContext
-
getResourceDir
Description copied from interface:LaunchContextThe base of the cached resources: %USER_HOME%/.ignition/cache/resources/- Specified by:
getResourceDirin interfaceLaunchContext
-
log
Description copied from interface:LaunchContextA shortcut for:getLog().printf(message, args); getLog().println();
- Specified by:
login interfaceLaunchContext
-
getLog
Description copied from interface:LaunchContextA PrintWriter that steps can use to log their progress. Under normal conditions, this log is echoed to System.out. However, if an error ever occurs during the launch procedure, the entire contents of the log will be written to a launch crash file under the user's cache dir.- Specified by:
getLogin interfaceLaunchContext
-
getLogContents
-
getTranslationDBLocation
Description copied from interface:LaunchContextReturns the location of the cached translation term db file. The file will be in the form of "XXX_e{d}_v{d}.dat". The "e{d}" is the edit version, the "v{d}" is the serialization version.- Specified by:
getTranslationDBLocationin interfaceLaunchContext
-
setTranDBLocation
-
getLaunchManifest
Description copied from interface:LaunchContextThis LaunchManifest is downloaded from the gateway during ConnectStep. It describes all JAR files that will we'll need to start up the app of this context, including their CRC32 checksums. Will only be set after ConnectStep finishes.- Specified by:
getLaunchManifestin interfaceLaunchContext
-
setLaunchManifest
-
getDownloadRequiredManifest
-
setDownloadRequiredManifest
-
getGwCacheDir
Description copied from interface:LaunchContextThe actual cache directory for the specific gateway that we ended up connecting to. Only set after CacheStep runs. %USER_HOME%/.ignition/cache/gwHOST_HTTP_HTTPS_CONTEXT/Cx where "x" is the client ID that this JVM has claimed. Each JVM gets its own cache dir so that the they don't step on each other's toes when downloading/modifying jar files.- Specified by:
getGwCacheDirin interfaceLaunchContext
-
setGwCacheDir
-
getMainClass
Description copied from interface:LaunchContextThe name of the class that should be started during StartupStep- Specified by:
getMainClassin interfaceLaunchContext
-
getGatewayAddresses
- Specified by:
getGatewayAddressesin interfaceLaunchContext
-
setGatewayAddresses
-
updateGatewayAddressListCache
Description copied from interface:LaunchContextUpdates the cache with a list of gateway addresses that will be available for use next time this project is loaded. Should be update when the client receives notification that new cluster gateways have been added- Specified by:
updateGatewayAddressListCachein interfaceLaunchContext
-
getGatewayAddress
- Specified by:
getGatewayAddressin interfaceLaunchContext
-
setGatewayAddress
-
getProjectName
Description copied from interface:LaunchContextThe name of the project. May not be used in all scopes- Specified by:
getProjectNamein interfaceLaunchContext
-
getPlatformEdition
Description copied from interface:LaunchContextThe platform edition. Standard edition = "", Edge edition = "edge"- Specified by:
getPlatformEditionin interfaceLaunchContext
-
getEdgeFlags
Description copied from interface:LaunchContextCurrently should return an empty list if edition is not edge.- Specified by:
getEdgeFlagsin interfaceLaunchContext
-
getProjectCacheFile
- Specified by:
getProjectCacheFilein interfaceLaunchContext
-
getProjectCacheChkFile
- Specified by:
getProjectCacheChkFilein interfaceLaunchContext
-
getProjectCacheSignatureFile
This is the project snapshot that we can send to the gw to get changes. -
updateProjectCache
Description copied from interface:LaunchContextThis overload of updateProjectCache takes a WriteableProject, which lets the project be streamed. We cannot remove the old byte[] version, because of re-targeting compatibility.- Specified by:
updateProjectCachein interfaceLaunchContext- Throws:
IOException
-
getParent
- Specified by:
getParentin interfaceLaunchContext
-
getUserObject
public byte[] getUserObject()Description copied from interface:LaunchContextReturns a serialized user object (if any) that was passed as part of a restart- Specified by:
getUserObjectin interfaceLaunchContext
-
getAttribute
Description copied from interface:LaunchContextA free-for-all map of objects that clients can use to communicate between launches. Beware that one should only store types is this map that are loaded by the system classloader - not custom objects. Any custom objects should be serialized to a byte[] first.- Specified by:
getAttributein interfaceLaunchContext
-
getAttribute
- Specified by:
getAttributein interfaceLaunchContext
-
setAttribute
- Specified by:
setAttributein interfaceLaunchContext
-
getAttributes
Description copied from interface:LaunchContextRetrieves the raw attribute map- Specified by:
getAttributesin interfaceLaunchContext
-