Package org.pf4j
Class DefaultPluginManager
- java.lang.Object
-
- org.pf4j.AbstractPluginManager
-
- org.pf4j.DefaultPluginManager
-
- All Implemented Interfaces:
PluginManager
- Direct Known Subclasses:
JarPluginManager
,ZipPluginManager
public class DefaultPluginManager extends AbstractPluginManager
Default implementation of thePluginManager
interface. In essence it is aZipPluginManager
plus aJarPluginManager
. So, it can load plugins from jar and zip, simultaneous.This class is not thread-safe.
-
-
Field Summary
Fields Modifier and Type Field Description private static org.slf4j.Logger
log
static java.lang.String
PLUGINS_DIR_CONFIG_PROPERTY_NAME
-
Fields inherited from class org.pf4j.AbstractPluginManager
DEFAULT_PLUGINS_DIR, dependencyResolver, DEVELOPMENT_PLUGINS_DIR, exactVersionAllowed, extensionFactory, extensionFinder, MODE_PROPERTY_NAME, pluginClassLoaders, pluginDescriptorFinder, pluginFactory, pluginLoader, pluginRepository, plugins, PLUGINS_DIR_PROPERTY_NAME, pluginsRoot, pluginStateListeners, pluginStatusProvider, resolvedPlugins, runtimeMode, startedPlugins, systemVersion, unresolvedPlugins, versionManager
-
-
Constructor Summary
Constructors Constructor Description DefaultPluginManager()
DefaultPluginManager(java.nio.file.Path pluginsRoot)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected ExtensionFactory
createExtensionFactory()
protected ExtensionFinder
createExtensionFinder()
protected PluginDescriptorFinder
createPluginDescriptorFinder()
protected PluginFactory
createPluginFactory()
protected PluginLoader
createPluginLoader()
protected PluginRepository
createPluginRepository()
protected PluginStatusProvider
createPluginStatusProvider()
protected VersionManager
createVersionManager()
protected void
initialize()
protected PluginWrapper
loadPluginFromPath(java.nio.file.Path pluginPath)
Load a plugin from disk.-
Methods inherited from class org.pf4j.AbstractPluginManager
addPluginStateListener, createPluginsRoot, deletePlugin, disablePlugin, enablePlugin, firePluginStateEvent, getExtensionClasses, getExtensionClasses, getExtensionClasses, getExtensionClassNames, getExtensionFactory, getExtensions, getExtensions, getExtensions, getPlugin, getPluginClassLoader, getPluginClassLoaders, getPluginDescriptorFinder, getPluginFactory, getPluginLabel, getPluginLoader, getPlugins, getPlugins, getPluginsRoot, getResolvedPlugins, getRuntimeMode, getStartedPlugins, getSystemVersion, getUnresolvedPlugins, getVersion, getVersionManager, idForPath, isExactVersionAllowed, isPluginDisabled, isPluginValid, loadPlugin, loadPlugins, removePluginStateListener, resolvePlugins, setExactVersionAllowed, setSystemVersion, startPlugin, startPlugins, stopPlugin, stopPlugins, unloadPlugin, validatePluginDescriptor, whichPlugin
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.pf4j.PluginManager
isDevelopment, isNotDevelopment
-
-
-
-
Field Detail
-
log
private static final org.slf4j.Logger log
-
PLUGINS_DIR_CONFIG_PROPERTY_NAME
public static final java.lang.String PLUGINS_DIR_CONFIG_PROPERTY_NAME
- See Also:
- Constant Field Values
-
-
Method Detail
-
createPluginDescriptorFinder
protected PluginDescriptorFinder createPluginDescriptorFinder()
- Specified by:
createPluginDescriptorFinder
in classAbstractPluginManager
-
createExtensionFinder
protected ExtensionFinder createExtensionFinder()
- Specified by:
createExtensionFinder
in classAbstractPluginManager
-
createPluginFactory
protected PluginFactory createPluginFactory()
- Specified by:
createPluginFactory
in classAbstractPluginManager
-
createExtensionFactory
protected ExtensionFactory createExtensionFactory()
- Specified by:
createExtensionFactory
in classAbstractPluginManager
-
createPluginStatusProvider
protected PluginStatusProvider createPluginStatusProvider()
- Specified by:
createPluginStatusProvider
in classAbstractPluginManager
-
createPluginRepository
protected PluginRepository createPluginRepository()
- Specified by:
createPluginRepository
in classAbstractPluginManager
-
createPluginLoader
protected PluginLoader createPluginLoader()
- Specified by:
createPluginLoader
in classAbstractPluginManager
-
createVersionManager
protected VersionManager createVersionManager()
- Specified by:
createVersionManager
in classAbstractPluginManager
-
initialize
protected void initialize()
- Overrides:
initialize
in classAbstractPluginManager
-
loadPluginFromPath
protected PluginWrapper loadPluginFromPath(java.nio.file.Path pluginPath)
Load a plugin from disk. If the path is a zip file, first unpack.- Overrides:
loadPluginFromPath
in classAbstractPluginManager
- Parameters:
pluginPath
- plugin location on disk- Returns:
- PluginWrapper for the loaded plugin or null if not loaded
- Throws:
PluginRuntimeException
- if problems during load
-
-