Package org.pf4j
Interface PluginManager
-
- All Known Implementing Classes:
AbstractPluginManager,DefaultPluginManager,JarPluginManager,ZipPluginManager
public interface PluginManagerProvides the functionality for plugin management such as load, start and stop the plugins.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description voidaddPluginStateListener(PluginStateListener listener)booleandeletePlugin(java.lang.String pluginId)Deletes a plugin.booleandisablePlugin(java.lang.String pluginId)Disables a plugin from being loaded.booleanenablePlugin(java.lang.String pluginId)Enables a plugin that has previously been disabled.<T> java.util.List<java.lang.Class<? extends T>>getExtensionClasses(java.lang.Class<T> type)<T> java.util.List<java.lang.Class<? extends T>>getExtensionClasses(java.lang.Class<T> type, java.lang.String pluginId)java.util.List<java.lang.Class<?>>getExtensionClasses(java.lang.String pluginId)java.util.Set<java.lang.String>getExtensionClassNames(java.lang.String pluginId)ExtensionFactorygetExtensionFactory()<T> java.util.List<T>getExtensions(java.lang.Class<T> type)<T> java.util.List<T>getExtensions(java.lang.Class<T> type, java.lang.String pluginId)java.util.ListgetExtensions(java.lang.String pluginId)PluginWrappergetPlugin(java.lang.String pluginId)Retrieves the plugin with this id, or null if the plugin does not exist.java.lang.ClassLoadergetPluginClassLoader(java.lang.String pluginId)java.util.List<PluginWrapper>getPlugins()Retrieves all plugins.java.util.List<PluginWrapper>getPlugins(PluginState pluginState)Retrieves all plugins with this state.java.nio.file.PathgetPluginsRoot()Gets the path of the folder where plugins are installed.java.util.List<PluginWrapper>getResolvedPlugins()Retrieves all resolved plugins (with resolved dependency).RuntimeModegetRuntimeMode()The runtime mode.java.util.List<PluginWrapper>getStartedPlugins()Retrieves all started plugins.java.lang.StringgetSystemVersion()Returns the system version.java.util.List<PluginWrapper>getUnresolvedPlugins()Retrieves all unresolved plugins (with unresolved dependency).VersionManagergetVersionManager()default booleanisDevelopment()Returnstrueif the runtime mode isRuntimeMode.DEVELOPMENT.default booleanisNotDevelopment()Returnstrueif the runtime mode is notRuntimeMode.DEVELOPMENT.java.lang.StringloadPlugin(java.nio.file.Path pluginPath)Load a plugin.voidloadPlugins()Load plugins.voidremovePluginStateListener(PluginStateListener listener)voidsetSystemVersion(java.lang.String version)Set the system version.PluginStatestartPlugin(java.lang.String pluginId)Start the specified plugin and its dependencies.voidstartPlugins()Start all active plugins.PluginStatestopPlugin(java.lang.String pluginId)Stop the specified plugin and its dependencies.voidstopPlugins()Stop all active plugins.booleanunloadPlugin(java.lang.String pluginId)Unload a plugin.PluginWrapperwhichPlugin(java.lang.Class<?> clazz)Retrieves thePluginWrapperthat loaded the given class 'clazz'.
-
-
-
Method Detail
-
getPlugins
java.util.List<PluginWrapper> getPlugins()
Retrieves all plugins.
-
getPlugins
java.util.List<PluginWrapper> getPlugins(PluginState pluginState)
Retrieves all plugins with this state.
-
getResolvedPlugins
java.util.List<PluginWrapper> getResolvedPlugins()
Retrieves all resolved plugins (with resolved dependency).
-
getUnresolvedPlugins
java.util.List<PluginWrapper> getUnresolvedPlugins()
Retrieves all unresolved plugins (with unresolved dependency).
-
getStartedPlugins
java.util.List<PluginWrapper> getStartedPlugins()
Retrieves all started plugins.
-
getPlugin
PluginWrapper getPlugin(java.lang.String pluginId)
Retrieves the plugin with this id, or null if the plugin does not exist.- Parameters:
pluginId- the unique plugin identifier, specified in its metadata- Returns:
- A PluginWrapper object for this plugin, or null if it does not exist.
-
loadPlugins
void loadPlugins()
Load plugins.
-
loadPlugin
java.lang.String loadPlugin(java.nio.file.Path pluginPath)
Load a plugin.- Parameters:
pluginPath- the plugin location- Returns:
- the pluginId of the installed plugin as specified in its metadata
- Throws:
PluginRuntimeException- if something goes wrong
-
startPlugins
void startPlugins()
Start all active plugins.
-
startPlugin
PluginState startPlugin(java.lang.String pluginId)
Start the specified plugin and its dependencies.- Returns:
- the plugin state
- Throws:
PluginRuntimeException- if something goes wrong
-
stopPlugins
void stopPlugins()
Stop all active plugins.
-
stopPlugin
PluginState stopPlugin(java.lang.String pluginId)
Stop the specified plugin and its dependencies.- Returns:
- the plugin state
- Throws:
PluginRuntimeException- if something goes wrong
-
unloadPlugin
boolean unloadPlugin(java.lang.String pluginId)
Unload a plugin.- Parameters:
pluginId- the unique plugin identifier, specified in its metadata- Returns:
- true if the plugin was unloaded
- Throws:
PluginRuntimeException- if something goes wrong
-
disablePlugin
boolean disablePlugin(java.lang.String pluginId)
Disables a plugin from being loaded.- Parameters:
pluginId- the unique plugin identifier, specified in its metadata- Returns:
- true if plugin is disabled
- Throws:
PluginRuntimeException- if something goes wrong
-
enablePlugin
boolean enablePlugin(java.lang.String pluginId)
Enables a plugin that has previously been disabled.- Parameters:
pluginId- the unique plugin identifier, specified in its metadata- Returns:
- true if plugin is enabled
- Throws:
PluginRuntimeException- if something goes wrong
-
deletePlugin
boolean deletePlugin(java.lang.String pluginId)
Deletes a plugin.- Parameters:
pluginId- the unique plugin identifier, specified in its metadata- Returns:
- true if the plugin was deleted
- Throws:
PluginRuntimeException- if something goes wrong
-
getPluginClassLoader
java.lang.ClassLoader getPluginClassLoader(java.lang.String pluginId)
-
getExtensionClasses
java.util.List<java.lang.Class<?>> getExtensionClasses(java.lang.String pluginId)
-
getExtensionClasses
<T> java.util.List<java.lang.Class<? extends T>> getExtensionClasses(java.lang.Class<T> type)
-
getExtensionClasses
<T> java.util.List<java.lang.Class<? extends T>> getExtensionClasses(java.lang.Class<T> type, java.lang.String pluginId)
-
getExtensions
<T> java.util.List<T> getExtensions(java.lang.Class<T> type)
-
getExtensions
<T> java.util.List<T> getExtensions(java.lang.Class<T> type, java.lang.String pluginId)
-
getExtensions
java.util.List getExtensions(java.lang.String pluginId)
-
getExtensionClassNames
java.util.Set<java.lang.String> getExtensionClassNames(java.lang.String pluginId)
-
getExtensionFactory
ExtensionFactory getExtensionFactory()
-
getRuntimeMode
RuntimeMode getRuntimeMode()
The runtime mode. Must currently be either DEVELOPMENT or DEPLOYMENT.
-
isDevelopment
default boolean isDevelopment()
Returnstrueif the runtime mode isRuntimeMode.DEVELOPMENT.
-
isNotDevelopment
default boolean isNotDevelopment()
Returnstrueif the runtime mode is notRuntimeMode.DEVELOPMENT.
-
whichPlugin
PluginWrapper whichPlugin(java.lang.Class<?> clazz)
Retrieves thePluginWrapperthat loaded the given class 'clazz'.
-
addPluginStateListener
void addPluginStateListener(PluginStateListener listener)
-
removePluginStateListener
void removePluginStateListener(PluginStateListener listener)
-
setSystemVersion
void setSystemVersion(java.lang.String version)
Set the system version. This is used to compare against the plugin requires attribute. The default system version is 0.0.0 which disables all version checking.- Parameters:
version-
-
getSystemVersion
java.lang.String getSystemVersion()
Returns the system version.- Returns:
- the system version
-
getPluginsRoot
java.nio.file.Path getPluginsRoot()
Gets the path of the folder where plugins are installed.- Returns:
- Path of plugins root
-
getVersionManager
VersionManager getVersionManager()
-
-