Package de.xima.fc.plugin
Class PluginManager
java.lang.Object
de.xima.fc.plugin.PluginManager
Class for managing plugins
- Author:
- XIMA MEDIA GmbH
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidcreateClientProtocolEntry(UserContext uc, Mandant man, String protocolEntry, Object... params) Creates a client protocol entrystatic voidcreateMandantProtocolEntry(IEntityContext ec, Mandant man, String protocolEntry, Object... params) Deprecated.static voidcreateSystemProtocolEntry(UserContext uc, String protocolEntry, Object... params) Creates a system protocol entrystatic voiddeletePlugin(PluginRuntime prtm) Deprecated.static voiddeletePlugin(String scopeKey, String runtimeKey) Deprecated.getAllPlugins(Mandant man, EPluginTypes type) Deprecated.getAllPlugins(Mandant client, Class<T> pluginType) Get a set of plugins with the given interface registered in system-scope OR to the given client.getAllPlugins(UUID clientUuid, Class<T> pluginType) Get a set of plugins with the given interface registered in system-scope OR to the given client.static <T extends IFCPlugin>
Set<org.apache.commons.lang3.tuple.Pair<PluginRuntime,T>> getAllPluginsWithRuntime(Mandant man, Class<T> clazz) static <T extends IFCPlugin>
Set<org.apache.commons.lang3.tuple.Pair<PluginRuntime,T>> getAllPluginsWithRuntime(UUID clientUuid, Class<T> clazz) static Set<PluginRuntime>getClientPlugins(Mandant client) Gets a list of allplugin runtimesregistered to the given client (not including system plugins!)getClientPlugins(Mandant client, Class<T> pluginType) Get a set of plugins with the given interfaces registered to the given clientstatic Set<PluginRuntime>getClientPlugins(UUID clientUuid) Gets a list of allplugin runtimesregistered to the given client (not including system plugins!)getClientPlugins(UUID clientUuid, Class<T> pluginType) Get a set of plugins with the given interfaces registered to the given clientstatic <T extends IFCPlugin>
Set<org.apache.commons.lang3.tuple.Pair<PluginRuntime,T>> getClientPluginsWithRuntime(Mandant client, Class<T> clazz) static <T extends IFCPlugin>
Set<org.apache.commons.lang3.tuple.Pair<PluginRuntime,T>> getClientPluginsWithRuntime(UUID clientUuid, Class<T> clazz) static IFCPlugingetMandantPluginByName(Mandant man, EPluginTypes type, String pluginName) Deprecated.will be removed!static FilegetMandantPluginJar(Mandant man, String jarName) Deprecated.static List<PluginRuntime>getMandantPlugins(Mandant man) Deprecated.getMandantPlugins(Mandant man, EPluginTypes type) Deprecated.will be removed!static IPluginAuthenticatorTypegetPluginAuthenticatorType(IAuthenticator<?> authenticator) static org.apache.commons.lang3.tuple.Pair<PluginRuntime,IPluginAuthenticatorType> getPluginAuthenticatorTypeWithRuntime(IAuthenticator<?> authenticator) static IFCPlugingetPluginByName(Mandant man, EPluginTypes type, String pluginName) Deprecated.static <T extends IFCPlugin>
TgetPluginByName(Mandant man, Class<T> clazz, String pluginName) Get a plugin by name andIFCPlugin-interface from client- and system-scopestatic <T extends IFCPlugin>
org.apache.commons.lang3.tuple.Pair<PluginRuntime,T> getPluginByNameWithRuntime(Mandant man, Class<T> clazz, String pluginName) static <T extends IFCPlugin>
Map<EPluginScope,Set<String>> getPluginNameMap(Mandant mandant, Class<T> clazz) Deprecated.static Map<EPluginScope,Set<String>> getPluginNameMap(UserContext uc, Mandant mandant, EPluginTypes type) Deprecated.getPluginNames(Mandant mandant, Class<T> clazz) getPluginNames(UserContext uc, Mandant mandant, EPluginTypes type) Deprecated.static PluginRuntimegetPluginRuntime(String scopeKey, String runtimeKey) getRegisteredPlugins(Class<T> clazz) Get a set with all registered plugins of the givenIFCPlugin-interfacestatic IFCPlugingetSystemPluginByName(EPluginTypes type, String pluginName) Deprecated.static <T extends IFCPlugin>
TgetSystemPluginByName(Class<T> clazz, String pluginName) Get a system-plugin by name,IFCPlugin-interfacestatic Set<PluginRuntime>Get a List of allPluginRuntimes registered in system-scopegetSystemPlugins(EPluginTypes type) Deprecated.getSystemPlugins(Class<T> clazz) Get a set of plugins with the given interfaces registered in system-scopestatic <T extends IFCPlugin>
Set<org.apache.commons.lang3.tuple.Pair<PluginRuntime,T>> getSystemPluginsWithRuntime(Class<T> clazz) static PluginRuntimeinitClientPlugin(File pluginJar, Mandant man) Deprecated.static voidInitialize all plugins stored in the databasestatic PluginRuntimeinitSystemPlugin(File pluginJar) Deprecated.static voidinstall(IPluginEntity<?, ?, ?> pluginEntity) static booleanisHasAnyPluginsOfType(Mandant client, Class<? extends IFCPlugin> pluginType) Checks if any plugins of the given type exist.static booleanisPluginJar(File file) Deprecated.static <T extends IFCPlugin>
voidregisterClientPlugin(Mandant man, Class<T> clazz, String runtimeKey) Method to register a plugin-class in scope of the given clientstatic voidregisterMandantPlugin(Mandant man, EPluginTypes typ, Class<? extends IFCPlugin> clazz) Deprecated.static <T extends IFCPlugin>
voidregisterPlugin(boolean isInstall, PluginRuntime prtm, Class<T> clazz) Register a plugin to the given key andPluginRuntimestatic <T extends IFCPlugin>
voidregisterPlugin(PluginRuntime prtm, Class<T> clazz) static voidregisterSystemPlugin(EPluginTypes typ, Class<? extends IFCPlugin> clazz) Deprecated.static voidregisterSystemPlugin(Class<? extends IFCPlugin> clazz, String runtimeKey) Method to register a plugin-class in system-scopestatic voidreleaseMandantPlugin(Mandant man, PluginRuntime pluginMeta) Deprecated.static voidreleasePlugin(boolean isUninstall, PluginRuntime prtm) static voidreleasePlugin(boolean isUninstall, String scopeKey, String runtimeKey) static voidreleasePlugin(PluginRuntime prtm) static voidreleasePlugin(String scopeKey, String runtimeKey) static voidReleases all registered pluginsstatic booleanscanAndRegisterMandantPlugin(Mandant man, PluginRuntime pluginMeta, byte[] jarData) Deprecated.static booleanscanAndRegisterSystemPlugin(PluginRuntime pluginMeta, byte[] jarData) Deprecated.static voidDeprecated.useinitPlugins()static voidsynchronizePlugin(boolean isInstall, PluginSyncData pluginData) static voiduninstallPlugin(String scopeKey, String runtimeKey)
-
Constructor Details
-
PluginManager
public PluginManager()
-
-
Method Details
-
initPlugins
public static void initPlugins()Initialize all plugins stored in the database -
synchronizePlugin
public static void synchronizePlugin(boolean isInstall, PluginSyncData pluginData) throws IOException, FCPluginException - Throws:
IOExceptionFCPluginException
-
registerSystemPlugin
public static void registerSystemPlugin(Class<? extends IFCPlugin> clazz, String runtimeKey) throws FCPluginException Method to register a plugin-class in system-scope- Parameters:
clazz-IFCPlugin-class to registerruntimeKey- Runtime key (UUID) of the plugin to register.- Throws:
FCPluginException- When the the plugin could not be registered.
-
registerClientPlugin
public static <T extends IFCPlugin> void registerClientPlugin(Mandant man, Class<T> clazz, String runtimeKey) throws FCPluginException Method to register a plugin-class in scope of the given client- Type Parameters:
T- Type of the plugin to register.- Parameters:
man- Theclientfor which to register the plugin.clazz- The class of the plugin to register.runtimeKey- Runtime key (UUID) of the plugin to register.- Throws:
FCPluginException- When the the plugin could not be registered.
-
registerPlugin
public static <T extends IFCPlugin> void registerPlugin(PluginRuntime prtm, Class<T> clazz) throws FCPluginException - Throws:
FCPluginException
-
registerPlugin
public static <T extends IFCPlugin> void registerPlugin(boolean isInstall, PluginRuntime prtm, Class<T> clazz) throws FCPluginException Register a plugin to the given key andPluginRuntime- Type Parameters:
T- Type of the plugin to register.- Parameters:
isInstall-trueif the plugin is installed for the first time,falseif the plugin configuration is only updated.prtm- The runtime of the plugin to register.clazz- Class of the plugin to register.- Throws:
FCPluginException- When the plugin could not be registered.
-
install
- Throws:
IOExceptionFCPluginException
-
releasePlugin
- Throws:
IOException
-
releasePlugin
public static void releasePlugin(boolean isUninstall, String scopeKey, String runtimeKey) throws IOException - Throws:
IOException
-
releasePlugin
- Throws:
IOException
-
releasePlugin
- Throws:
IOException
-
releasePlugins
public static void releasePlugins()Releases all registered plugins -
uninstallPlugin
- Parameters:
scopeKey- the plugin scope keyruntimeKey- the plugin runtime key- Throws:
IOException- on errors while uninstall
-
getClientPlugins
Get a set of plugins with the given interfaces registered to the given client- Parameters:
client- The client-scope to use for retrieving client plugins, if any.pluginType- Type of the plugins to retrieve.- Returns:
- All active plugins for the given client, if any (does not include systm plugins!)
-
getClientPlugins
Get a set of plugins with the given interfaces registered to the given client- Parameters:
clientUuid- The client-scope to use for retrieving client plugins, if any.pluginType- Type of the plugins to retrieve.- Returns:
- All active plugins for the given client, if any (does not include systm plugins!)
-
getClientPluginsWithRuntime
public static <T extends IFCPlugin> Set<org.apache.commons.lang3.tuple.Pair<PluginRuntime,T>> getClientPluginsWithRuntime(Mandant client, Class<T> clazz) -
getClientPluginsWithRuntime
public static <T extends IFCPlugin> Set<org.apache.commons.lang3.tuple.Pair<PluginRuntime,T>> getClientPluginsWithRuntime(UUID clientUuid, Class<T> clazz) -
getClientPlugins
Gets a list of allplugin runtimesregistered to the given client (not including system plugins!)- Parameters:
client- A client for which to retrieve the plugins.- Returns:
- A list of all
plugin runtimescorresponding to the plugin installed for the given client
-
getClientPlugins
Gets a list of allplugin runtimesregistered to the given client (not including system plugins!)- Parameters:
clientUuid- UUID of aclient.- Returns:
- A list of all
plugin runtimescorresponding to the plugin installed for the given client
-
getPluginRuntime
-
getSystemPlugins
Get a set of plugins with the given interfaces registered in system-scope -
getSystemPluginsWithRuntime
public static <T extends IFCPlugin> Set<org.apache.commons.lang3.tuple.Pair<PluginRuntime,T>> getSystemPluginsWithRuntime(Class<T> clazz) -
getSystemPlugins
Get a List of allPluginRuntimes registered in system-scope- Returns:
SetofPluginRuntimes
-
isHasAnyPluginsOfType
Checks if any plugins of the given type exist.- Parameters:
client- Optional client scope. When given, the client and system scope is searched. Otherwise, only the system scope is searched.pluginType- Type of plugin to search for.- Returns:
- Whether any plugins of the given type exist.
-
getAllPlugins
Get a set of plugins with the given interface registered in system-scope OR to the given client. (client-scope wins over system-scope)- Parameters:
client- Client scope for which to retrieve all plugins.pluginType- Type of the plugins to retrieve.- Returns:
- All plugins from the given client (if any) and from the system scope. A client-scoped plugin overwrites a system-scoped plugin.
-
getAllPlugins
Get a set of plugins with the given interface registered in system-scope OR to the given client. (client-scope wins over system-scope)- Parameters:
clientUuid- UUID of aclient.pluginType- Type of the plugins to retrieve.- Returns:
- All plugins from the given client (if any) and from the system scope. A client-scoped plugin overwrites a system-scoped plugin.
-
getAllPluginsWithRuntime
public static <T extends IFCPlugin> Set<org.apache.commons.lang3.tuple.Pair<PluginRuntime,T>> getAllPluginsWithRuntime(Mandant man, Class<T> clazz) -
getAllPluginsWithRuntime
public static <T extends IFCPlugin> Set<org.apache.commons.lang3.tuple.Pair<PluginRuntime,T>> getAllPluginsWithRuntime(UUID clientUuid, Class<T> clazz) -
getRegisteredPlugins
Get a set with all registered plugins of the givenIFCPlugin-interface -
getPluginByName
public static <T extends IFCPlugin> T getPluginByName(Mandant man, Class<T> clazz, String pluginName) Get a plugin by name andIFCPlugin-interface from client- and system-scope -
getPluginByNameWithRuntime
public static <T extends IFCPlugin> org.apache.commons.lang3.tuple.Pair<PluginRuntime,T> getPluginByNameWithRuntime(Mandant man, Class<T> clazz, String pluginName) -
getSystemPluginByName
Get a system-plugin by name,IFCPlugin-interface -
getPluginAuthenticatorType
-
getPluginAuthenticatorTypeWithRuntime
public static org.apache.commons.lang3.tuple.Pair<PluginRuntime,IPluginAuthenticatorType> getPluginAuthenticatorTypeWithRuntime(IAuthenticator<?> authenticator) -
getPluginNames
-
createSystemProtocolEntry
public static void createSystemProtocolEntry(UserContext uc, String protocolEntry, Object... params) Creates a system protocol entry- Parameters:
uc-UserContextprotocolEntry-Stringprotocol-textparams-Objects parameters
-
createClientProtocolEntry
public static void createClientProtocolEntry(UserContext uc, Mandant man, String protocolEntry, Object... params) Creates a client protocol entry- Parameters:
uc-UserContextwith the user who uploaded the plugin.man- Theclientfor which to create the protocol entry.protocolEntry-Stringprotocol-textparams-Objects parameters
-
isPluginJar
Deprecated. -
deletePlugin
Deprecated.- Throws:
IOException
-
deletePlugin
Deprecated.- Throws:
IOException
-
getAllPlugins
Deprecated.- Parameters:
man- Theclientscope from which to retrieve plugins.type- The type of the plugins to retrieve.- Returns:
- A set of all matching plugins.
-
getPluginNameMap
@Deprecated public static Map<EPluginScope,Set<String>> getPluginNameMap(UserContext uc, Mandant mandant, EPluginTypes type) Deprecated.- Parameters:
uc- The current user context, this parameter is not used anymore.mandant- Theclientscope from which to retrieve plugins.type- The type of the plugins to retrieve.- Returns:
- A map with all matching plugins.
-
getPluginNames
@Deprecated public static Set<String> getPluginNames(UserContext uc, Mandant mandant, EPluginTypes type) Deprecated.- Parameters:
uc- The current user context, this parameter is not used anymore.mandant- Theclientscope from which to retrieve plugins.type- The type of the plugins to retrieve.- Returns:
- A set of all matching plugins.
-
getPluginByName
@Deprecated public static IFCPlugin getPluginByName(Mandant man, EPluginTypes type, String pluginName) Deprecated.- Parameters:
man- Theclientscope from which to retrieve plugins.type- The type of the plugins to retrieve.pluginName- The name of the plugin to retrieve.- Returns:
- The plugin or
nullwhen no matching plugin was found.
-
getMandantPlugins
Deprecated.will be removed!- Parameters:
man- Theclientscope from which to retrieve plugins.type- The type of the plugins to retrieve.- Returns:
- A set of all matching plugins.
-
getSystemPlugins
Deprecated.- Parameters:
type- The type of the plugins to retrieve.- Returns:
- A set of all matching plugins.
-
getSystemPluginByName
Deprecated.- Parameters:
type- The type of the plugins to retrieve.pluginName- The name of the plugin to retrieve.- Returns:
- The plugin or
nullwhen no plugin matches.
-
getMandantPluginByName
@Deprecated public static IFCPlugin getMandantPluginByName(Mandant man, EPluginTypes type, String pluginName) Deprecated.will be removed!- Parameters:
man- Theclientscope from which to retrieve plugins.type- The type of the plugins to retrieve.pluginName- The name of the plugin to retrieve.- Returns:
- The plugin or
nullwhen no plugin matches.
-
registerMandantPlugin
@Deprecated public static void registerMandantPlugin(Mandant man, EPluginTypes typ, Class<? extends IFCPlugin> clazz) throws FCPluginException Deprecated.- Parameters:
man- Theclientscope for which to register a plugin.typ- The type of the plugin to register.clazz- The class of the plugin to register.- Throws:
FCPluginException- When the plugin could not be registered or initialized.
-
registerSystemPlugin
@Deprecated public static void registerSystemPlugin(EPluginTypes typ, Class<? extends IFCPlugin> clazz) throws FCPluginException Deprecated.- Parameters:
typ- The type of the plugin to register.clazz- The class of the plugin to register.- Throws:
FCPluginException- When the plugin could not be registered or initialized.
-
createMandantProtocolEntry
@Deprecated public static void createMandantProtocolEntry(IEntityContext ec, Mandant man, String protocolEntry, Object... params) - Parameters:
ec- Entity context for accessing the database.man- Theclientscope for which to create a protocol entry.protocolEntry- Protocol entry to create.params- Additional message params for the protocol message.
-
releaseMandantPlugin
@Deprecated public static void releaseMandantPlugin(Mandant man, PluginRuntime pluginMeta) throws IOException Deprecated.- Parameters:
man- Theclientscope for which to register a plugin.pluginMeta- Runtime of the plugin to release.- Throws:
IOException- When the plugin could not be released, such as due to a database error.
-
getMandantPluginJar
Deprecated.- Parameters:
man- Theclientscope for which to register a plugin.jarName- Name of the JAR file for which to look for.- Returns:
- Always
null- this method is deprecated! - Throws:
IOException- Never thrown.
-
scanForAllPlugins
Deprecated.useinitPlugins() -
scanAndRegisterSystemPlugin
@Deprecated public static boolean scanAndRegisterSystemPlugin(PluginRuntime pluginMeta, byte[] jarData) Deprecated.- Parameters:
pluginMeta- Runtime of the plugin to register.jarData- Binary content of the JAR file to register.- Returns:
- Always
false- this method is deprecated!
-
scanAndRegisterMandantPlugin
@Deprecated public static boolean scanAndRegisterMandantPlugin(Mandant man, PluginRuntime pluginMeta, byte[] jarData) Deprecated.- Parameters:
man- Theclientfor which to register a plugin.pluginMeta- Runtime of the plugin to register.jarData- Binary content of the JAR file to register.- Returns:
- Always
false- this method is deprecated!
-
getMandantPlugins
Deprecated.- Parameters:
man- Theclientfor which to retrieve a plugin.- Returns:
- A list of all matching plugins.
-
getPluginNameMap
@Deprecated public static <T extends IFCPlugin> Map<EPluginScope,Set<String>> getPluginNameMap(Mandant mandant, Class<T> clazz) Deprecated.Get a map of plugins by client, system andIFCPlugin-interface -
initClientPlugin
@Deprecated public static PluginRuntime initClientPlugin(File pluginJar, Mandant man) throws IOException, FCPluginException Deprecated.- Throws:
IOExceptionFCPluginException
-
initSystemPlugin
@Deprecated public static PluginRuntime initSystemPlugin(File pluginJar) throws IOException, FCPluginException Deprecated.- Throws:
IOExceptionFCPluginException
-
createClientProtocolEntry(UserContext, Mandant, String, Object...)