Class AbstractClientModuleHook
- java.lang.Object
-
- com.inductiveautomation.vision.api.client.AbstractClientModuleHook
-
- All Implemented Interfaces:
ClientModuleHook
- Direct Known Subclasses:
AbstractClientModuleHook
,ModuleHook
,ReportingClientHook
,SFCClientHook
public abstract class AbstractClientModuleHook extends java.lang.Object implements ClientModuleHook
Base class for all client module hook implementations. All methods are given empty implementations. It is expected that subclasses will override any methods that they wish to give real implementations.
Best practice is to subclass this class rather than implement
ClientModuleHook
directly, so that when new methods get added to the interface, your module automatically inherits an empty implementation of the new method rather than breaking with aNoSuchMethodError
.
-
-
Constructor Summary
Constructors Constructor Description AbstractClientModuleHook()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
configureDeserializer(XMLDeserializer deserializer)
Called when an XMLDeserializer is created.void
configureFunctionFactory(ExpressionFunctionManager factory)
Provides the module with an opportunity to define its own expression functionsjava.util.Map<java.lang.String,java.lang.String>
createPermissionKeys()
Allows a module to create one or more id-bundlekey pairs that the module will use for role-based client security.void
initializeScriptManager(ScriptManager manager)
Initialize a newly-instantiated script manager.void
notifyActivationStateChanged(LicenseState licenseState)
Notifies this client module that its license state has changed.void
shutdown()
Called when the module is shut down.void
startup(ClientContext context, LicenseState activationState)
The main entrypoint for the module hook.
-
-
-
Method Detail
-
startup
public void startup(ClientContext context, LicenseState activationState) throws java.lang.Exception
Description copied from interface:ClientModuleHook
The main entrypoint for the module hook. This will only be called once for a given project. If another project is ever opened,ClientModuleHook.shutdown()
will be called and a new hook will be instantiated- Specified by:
startup
in interfaceClientModuleHook
- Throws:
java.lang.Exception
- if the module was not able to be initialized for the given project.
-
shutdown
public void shutdown()
Description copied from interface:ClientModuleHook
Called when the module is shut down.- Specified by:
shutdown
in interfaceClientModuleHook
-
configureDeserializer
public void configureDeserializer(XMLDeserializer deserializer)
Description copied from interface:ClientModuleHook
Called when an XMLDeserializer is created. Gives the module a chance to add custom deserialization delegates to the deserializer.- Specified by:
configureDeserializer
in interfaceClientModuleHook
-
notifyActivationStateChanged
public void notifyActivationStateChanged(LicenseState licenseState)
Description copied from interface:ClientModuleHook
Notifies this client module that its license state has changed. Note that if the trial mode expires, the entire client will automatically time out, so client modules don't typically need to worry about trial mode.- Specified by:
notifyActivationStateChanged
in interfaceClientModuleHook
-
initializeScriptManager
public void initializeScriptManager(ScriptManager manager)
Description copied from interface:ClientModuleHook
Initialize a newly-instantiated script manager. This will be called exactly once for any given ScriptManager instance. Usually this will involve callingScriptManager.addScriptModule(String, Object)
, which reflectively loads the public (instance and static) java functions from the given object into the scripting environment, at the provided path.- Specified by:
initializeScriptManager
in interfaceClientModuleHook
-
configureFunctionFactory
public void configureFunctionFactory(ExpressionFunctionManager factory)
Description copied from interface:ClientModuleHook
Provides the module with an opportunity to define its own expression functions- Specified by:
configureFunctionFactory
in interfaceClientModuleHook
-
createPermissionKeys
public java.util.Map<java.lang.String,java.lang.String> createPermissionKeys()
Description copied from interface:ClientModuleHook
Allows a module to create one or more id-bundlekey pairs that the module will use for role-based client security.- Specified by:
createPermissionKeys
in interfaceClientModuleHook
- Returns:
- Map of id-bundlekey entries. May be null or empty.
-
-