Class ClientContextImpl
- java.lang.Object
-
- com.inductiveautomation.ignition.client.model.AbstractClientContext
-
- com.inductiveautomation.factorypmi.application.runtime.ClientContextImpl
-
- All Implemented Interfaces:
ClientContext
,CommonContext
,VisionClientInterface
public class ClientContextImpl extends AbstractClientContext implements VisionClientInterface
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.inductiveautomation.ignition.client.model.AbstractClientContext
AbstractClientContext.ClientContextResourceListener
-
-
Field Summary
-
Fields inherited from class com.inductiveautomation.ignition.client.model.AbstractClientContext
changeSupport, globalProps, log, loggingManager, project, projectDescription, projectTitle
-
Fields inherited from interface com.inductiveautomation.vision.api.client.VisionClientInterface
VISION_MODULE_ID
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addExtensibleBindingType(BindingType binding)
Adds a new binding type to be used in the extensible binding systemvoid
addWindowListener(VisionWindowListener listener)
Adds a listener to be notified when windows are opened and closed.static void
configureClassNameResolver(ClassNameResolver r)
static void
configureDeserializer(XMLDeserializer d)
XMLDeserializer
createDeserializer()
Returns an instance of the XMLDeserializer that can be used to deserialize project resources.protected FunctionFactory
createExpressionFunctionFactory()
java.lang.Object
deserialize(byte[] data, org.apache.log4j.Logger log)
Convenience function to deserialize a gzipped byte array into a single object.BindingType
getBindingType(java.lang.String bindingTypeKey)
ExecutionManager
getExecutionManager()
Returns the shared task execution manager for this clientGeneralProps
getGeneralProps()
WindowUtilities
getGuiUtil()
WindowUtilities
getGuiUtil(java.lang.String desktopHandle)
Gets the WindowUtilities for a secondary desktop, by handleLaunchProps
getLaunchProps()
LicenseState
getLicenseState(java.lang.String moduleId)
Returns the license state for the given moduleClientLocalizationManager
getLocalizationManager()
LoginProps
getLoginProps()
java.lang.Object
getModule(java.lang.String id)
Returns the hook class for another module, used for modules that deal with each other's models.java.util.List<ModuleInfo>
getModules()
Retrieve the list of all modules currently loaded in this contextNamedQueryManager
getNamedQueryManager()
Returns the appropriate named query rpc for the context.NavUtilities
getNavUtil()
Gets the NavUtilities (for the primary desktopNavUtilities
getNavUtil(java.lang.String desktopHandle)
Gets the NavUtilities for a secondary desktop, by handleRuntimeProject
getProject()
Returns the project that this client is running.javax.swing.RootPaneContainer
getRootPaneContainer()
Returns the RootPaneContainer that is currently the owner of the clientScriptManager
getScriptManager()
Returns the ScriptManager that can be used to execute Python scripts.ClientTagManager
getTagManager()
Returns the manager that provides access to Ignition's tag system.UIProps
getUiProps()
void
loadModules(java.util.List<ModuleInfo> modules)
Create LoadedModule objects to represent each client-scoped module in the list.protected ProjectResourceListener
newProjectResourceListener()
Make a custom resource listener so we can keep track of some Vision-specific resourcesvoid
receiveVisionWindowEvent(VisionWindowEvent event)
Listens to the event bus for vision window evens to push all window open/close events to any modules that have registered VisionWindowListener objects.void
removeWindowListener(VisionWindowListener listener)
Removes window listenervoid
setApp(FPMIApp app)
void
setLocalizationManager(ClientLocalizationManager mgr)
void
setProject(Project project)
void
shutdown()
void
startup()
-
Methods inherited from class com.inductiveautomation.ignition.client.model.AbstractClientContext
addPropertyChangeListener, addPropertyChangeListener, getAuthProfileName, getDefaultDatasourceName, getDefaultTagProviderName, getEdgeEditions, getEventBus, getExpressionFunctionFactory, getGlobalProps, getLaunchContext, getLoggingManager, getOrDefault, getProgressManager, getProjectDescription, getProjectName, getProjectTitle, getTagPollRate, getUIEventBus, initProject, installLegacyScriptLibrary, resetExpressionFunctionFactory, setGlobalProps
-
-
-
-
Method Detail
-
getProject
public RuntimeProject getProject()
Description copied from interface:ClientContext
Returns the project that this client is running. Note that this may be null before the client is fully logged in and started, because the context is created before the project is downloaded.- Specified by:
getProject
in interfaceClientContext
-
addExtensibleBindingType
public void addExtensibleBindingType(BindingType binding)
Description copied from interface:VisionClientInterface
Adds a new binding type to be used in the extensible binding system- Specified by:
addExtensibleBindingType
in interfaceVisionClientInterface
-
getBindingType
public BindingType getBindingType(java.lang.String bindingTypeKey)
- Specified by:
getBindingType
in interfaceVisionClientInterface
-
getExecutionManager
public ExecutionManager getExecutionManager()
Description copied from interface:ClientContext
Returns the shared task execution manager for this client- Specified by:
getExecutionManager
in interfaceClientContext
-
getLocalizationManager
public ClientLocalizationManager getLocalizationManager()
- Specified by:
getLocalizationManager
in interfaceClientContext
-
setLocalizationManager
public void setLocalizationManager(ClientLocalizationManager mgr)
-
addWindowListener
public void addWindowListener(VisionWindowListener listener)
Description copied from interface:VisionClientInterface
Adds a listener to be notified when windows are opened and closed. Only works during runtime, not designer- Specified by:
addWindowListener
in interfaceVisionClientInterface
-
removeWindowListener
public void removeWindowListener(VisionWindowListener listener)
Description copied from interface:VisionClientInterface
Removes window listener- Specified by:
removeWindowListener
in interfaceVisionClientInterface
-
receiveVisionWindowEvent
public void receiveVisionWindowEvent(VisionWindowEvent event)
Listens to the event bus for vision window evens to push all window open/close events to any modules that have registered VisionWindowListener objects.
-
deserialize
public java.lang.Object deserialize(byte[] data, org.apache.log4j.Logger log) throws SerializationException
Description copied from interface:ClientContext
Convenience function to deserialize a gzipped byte array into a single object. If multiple objects are found, they will be discarded. Warnings are logged to the given logger. If data is null or empty, null is returned.- Specified by:
deserialize
in interfaceClientContext
- Throws:
SerializationException
-
getRootPaneContainer
public javax.swing.RootPaneContainer getRootPaneContainer()
Description copied from interface:ClientContext
Returns the RootPaneContainer that is currently the owner of the client- Specified by:
getRootPaneContainer
in interfaceClientContext
-
getModules
public java.util.List<ModuleInfo> getModules()
Description copied from interface:ClientContext
Retrieve the list of all modules currently loaded in this context- Specified by:
getModules
in interfaceClientContext
-
getLicenseState
public LicenseState getLicenseState(java.lang.String moduleId)
Description copied from interface:CommonContext
Returns the license state for the given module- Specified by:
getLicenseState
in interfaceCommonContext
-
createExpressionFunctionFactory
protected FunctionFactory createExpressionFunctionFactory()
- Specified by:
createExpressionFunctionFactory
in classAbstractClientContext
-
loadModules
public void loadModules(java.util.List<ModuleInfo> modules) throws ModuleLoadException
Create LoadedModule objects to represent each client-scoped module in the list. This will instantiate, but not start up, the client module hooks.- Throws:
ModuleLoadException
-
startup
public void startup()
-
setApp
public void setApp(FPMIApp app)
-
shutdown
public void shutdown()
-
getNavUtil
public NavUtilities getNavUtil()
Description copied from interface:VisionClientInterface
Gets the NavUtilities (for the primary desktop- Specified by:
getNavUtil
in interfaceVisionClientInterface
-
getNavUtil
public NavUtilities getNavUtil(java.lang.String desktopHandle)
Description copied from interface:VisionClientInterface
Gets the NavUtilities for a secondary desktop, by handle- Specified by:
getNavUtil
in interfaceVisionClientInterface
-
getGuiUtil
public WindowUtilities getGuiUtil()
- Specified by:
getGuiUtil
in interfaceVisionClientInterface
-
getGuiUtil
public WindowUtilities getGuiUtil(java.lang.String desktopHandle)
Description copied from interface:VisionClientInterface
Gets the WindowUtilities for a secondary desktop, by handle- Specified by:
getGuiUtil
in interfaceVisionClientInterface
-
setProject
public void setProject(Project project)
-
newProjectResourceListener
protected ProjectResourceListener newProjectResourceListener()
Make a custom resource listener so we can keep track of some Vision-specific resources- Overrides:
newProjectResourceListener
in classAbstractClientContext
-
getTagManager
public ClientTagManager getTagManager()
Description copied from interface:CommonContext
Returns the manager that provides access to Ignition's tag system.- Specified by:
getTagManager
in interfaceClientContext
- Specified by:
getTagManager
in interfaceCommonContext
-
getScriptManager
public ScriptManager getScriptManager()
Description copied from interface:CommonContext
Returns the ScriptManager that can be used to execute Python scripts.- Specified by:
getScriptManager
in interfaceCommonContext
-
getNamedQueryManager
public NamedQueryManager getNamedQueryManager()
Description copied from interface:ClientContext
Returns the appropriate named query rpc for the context. In the gateway and client, we only want to use named queries that have been saved. In the designer, we want to use the current version so that reports and bindings can be seen and used for testing before the project is saved.- Specified by:
getNamedQueryManager
in interfaceClientContext
- Returns:
- The correct NamedQueryManager implementation for the scope.
-
createDeserializer
public XMLDeserializer createDeserializer()
Description copied from interface:CommonContext
Returns an instance of the XMLDeserializer that can be used to deserialize project resources. Note that this is the only safe way to obtain an instance of XMLDeserializer, because the context will pass the new deserializer around to all loaded modules, giving them a chance to initialize any custom deserialization deletes on it first.- Specified by:
createDeserializer
in interfaceCommonContext
-
configureDeserializer
public static void configureDeserializer(XMLDeserializer d)
-
configureClassNameResolver
public static void configureClassNameResolver(ClassNameResolver r)
-
getGeneralProps
public GeneralProps getGeneralProps()
-
getLaunchProps
public LaunchProps getLaunchProps()
-
getLoginProps
public LoginProps getLoginProps()
-
getUiProps
public UIProps getUiProps()
-
getModule
public java.lang.Object getModule(java.lang.String id)
Description copied from interface:CommonContext
Returns the hook class for another module, used for modules that deal with each other's models. Example: The reporting plugin's designer hook uses this to get FactoryPMI's palette.- Specified by:
getModule
in interfaceCommonContext
-
-