Package com.atlassian.plugin.loaders
Class SinglePluginLoader
java.lang.Object
com.atlassian.plugin.loaders.SinglePluginLoader
- All Implemented Interfaces:
PluginLoader
Loads a single plugin from the descriptor provided, which can either be an InputStream
or a resource on the classpath. The classes used by the plugin must already be available
on the classpath because this plugin loader does not load any classes.
- See Also:
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncreateModule(Plugin plugin, Element module, ModuleDescriptorFactory moduleDescriptorFactory) If this loader is capable of loading a plugin of the type passed, attempt to create a module descriptor.protected StaticPluginprotected InputStreambooleanloadAllPlugins(ModuleDescriptorFactory moduleDescriptorFactory) Loads all plugins that can be installed in the plugin system.loadFoundPlugins(ModuleDescriptorFactory moduleDescriptorFactory) Load all newly found plugins that can be installed in the plugin system.protected PluginloadPlugin(ModuleDescriptorFactory moduleDescriptorFactory) voidremovePlugin(Plugin plugin) Remove a specific pluginbooleanboolean
-
Field Details
-
plugins
-
-
Constructor Details
-
SinglePluginLoader
-
SinglePluginLoader
-
-
Method Details
-
loadAllPlugins
Description copied from interface:PluginLoaderLoads all plugins that can be installed in the plugin system.- Specified by:
loadAllPluginsin interfacePluginLoader- Parameters:
moduleDescriptorFactory- the factory for module descriptors- Returns:
- the list of found plugins, may be empty
-
supportsRemoval
public boolean supportsRemoval()- Specified by:
supportsRemovalin interfacePluginLoader- Returns:
- true if this PluginLoader tracks whether or not plugins are removed from it.
-
supportsAddition
public boolean supportsAddition()- Specified by:
supportsAdditionin interfacePluginLoader- Returns:
- true if this PluginLoader tracks whether or not plugins are added to it.
-
loadFoundPlugins
Description copied from interface:PluginLoaderLoad all newly found plugins that can be installed in the plugin system. Only plugins not previously loaded will be added.- Specified by:
loadFoundPluginsin interfacePluginLoader- Parameters:
moduleDescriptorFactory- the factory for module descriptors- Returns:
- a list of newly discovered plugins since the last time plugins were loaded
-
removePlugin
Description copied from interface:PluginLoaderRemove a specific plugin- Specified by:
removePluginin interfacePluginLoader
-
isDynamicPluginLoader
public boolean isDynamicPluginLoader()- Specified by:
isDynamicPluginLoaderin interfacePluginLoader- Returns:
trueif this plugin loader can load plugins dynamically
-
createModule
public ModuleDescriptor<?> createModule(Plugin plugin, Element module, ModuleDescriptorFactory moduleDescriptorFactory) Description copied from interface:PluginLoaderIf this loader is capable of loading a plugin of the type passed, attempt to create a module descriptor. Add that module descriptor to the plugin.If capable, always return a ModuleDescriptor, even if it indicates a failure case. Caller is responsible for handling exceptional
ModuleDescriptor.- Specified by:
createModulein interfacePluginLoader- Parameters:
plugin- that the module will be added tomodule- to createmoduleDescriptorFactory- basic factory, may be overridden- Returns:
- null if incapable of creating
-
loadPlugin
-
getNewPlugin
-
getSource
-