Interface ModuleManager
-
public interface ModuleManager
Manages how modules are installed, restarted, and removed from Ignition
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addModuleObserver(ModuleObserver observer)
Register aModuleObserver
that gets notified when modules are added.java.util.List<GatewayModule>
getGatewayModules()
Returns a list of all modules that have Gateway-scope hooksjava.util.UUID
getMenuVersion()
GatewayModule
getModule(java.lang.String id)
Finds a module with the given id string.int
getModuleCount()
The total count of modules currently installedjava.util.List<GatewayModule>
getModules()
Returns a list of all modulesScopeVersionHash
getVersionHash(int scope)
Retrieve the current hash for a given scope.void
installModule(java.lang.String filename, byte[] bytes)
Installs a new module.void
installModule(java.lang.String filename, java.io.File tempModuleLocation)
Installs a new module.void
removeModuleObserver(ModuleObserver observer)
Remove a previously registeredModuleObserver
.java.lang.Class<?>
resolveClass(java.lang.String className)
Loops through each module's classloader, giving it a chance to resolve the given class.void
restartModule(java.lang.String moduleId)
Restarts the given module.void
uninstallModule(java.lang.String moduleId)
Uninstalls the given module.void
updateMenuVersion()
Call this as a hint to let the system know that the config or status menu may have changed.
-
-
-
Method Detail
-
getGatewayModules
java.util.List<GatewayModule> getGatewayModules()
Returns a list of all modules that have Gateway-scope hooks
-
getModuleCount
int getModuleCount()
The total count of modules currently installed
-
getModules
java.util.List<GatewayModule> getModules()
Returns a list of all modules
-
getModule
GatewayModule getModule(java.lang.String id)
Finds a module with the given id string. Case sensitive. Will return null if the module is not found.
-
resolveClass
java.lang.Class<?> resolveClass(java.lang.String className)
Loops through each module's classloader, giving it a chance to resolve the given class.
-
getVersionHash
ScopeVersionHash getVersionHash(int scope)
Retrieve the current hash for a given scope.- See Also:
ApplicationScope
-
getMenuVersion
java.util.UUID getMenuVersion()
- Returns:
- a UUID representing the state of the config and status menus. This UUID will change when it's possible that the menu has been updated, either when a gateway-scope module has changed or somebody calls
-
updateMenuVersion
void updateMenuVersion()
Call this as a hint to let the system know that the config or status menu may have changed. Modules whose return value fromGatewayModuleHook.getConfigPanels()
orGatewayModuleHook.getStatusPanels()
has changed should call this method.
-
uninstallModule
void uninstallModule(java.lang.String moduleId) throws java.lang.Exception
Uninstalls the given module. Any dependent modules will be restarted afterwards.- Throws:
java.lang.Exception
-
restartModule
void restartModule(java.lang.String moduleId) throws java.lang.Exception
Restarts the given module. Any dependent modules will first be shut down, and then restarted afterwards.- Throws:
java.lang.Exception
-
installModule
void installModule(java.lang.String filename, byte[] bytes) throws java.lang.Exception
Installs a new module.- Parameters:
filename
- The desired filename for the new module, like "MyModule.modl"bytes
- The *.modl file, as a byte array.- Throws:
java.lang.Exception
- if anything went wrong attempting to decode or install the module
-
installModule
void installModule(java.lang.String filename, java.io.File tempModuleLocation) throws java.lang.Exception
Installs a new module.- Parameters:
filename
- The desired filename for the new module, like "MyModule.modl"tempModuleLocation
- The *.modl file, as a file located in a temp directory.- Throws:
java.lang.Exception
- if anything went wrong attempting to decode or install the module
-
addModuleObserver
void addModuleObserver(ModuleObserver observer)
Register aModuleObserver
that gets notified when modules are added.- Parameters:
observer
- The observer to register.
-
removeModuleObserver
void removeModuleObserver(ModuleObserver observer)
Remove a previously registeredModuleObserver
.- Parameters:
observer
- The observer to unregister.
-
-