1 package com.atlassian.plugin.loaders;
2
3 import com.atlassian.plugin.PluginArtifactFactory;
4 import com.atlassian.plugin.event.PluginEventManager;
5 import com.atlassian.plugin.factories.PluginFactory;
6
7 import java.io.File;
8 import java.util.List;
9
10 /**
11 * A plugin loader to load plugins from a directory on disk. A {@link DirectoryScanner} is used to locate plugin artifacts
12 * and determine if they need to be redeployed or not.
13 */
14 public class DirectoryPluginLoader extends ScanningPluginLoader
15 {
16
17 /**
18 * Constructs a loader for a particular directory and set of deployers
19 * @param path The directory containing the plugins
20 * @param pluginFactories The deployers that will handle turning an artifact into a plugin
21 * @param pluginEventManager The event manager, used for listening for shutdown events
22 * @since 2.0.0
23 */
24 public DirectoryPluginLoader(final File path, final List<PluginFactory> pluginFactories, final PluginEventManager pluginEventManager)
25 {
26 super(new DirectoryScanner(path), pluginFactories, pluginEventManager);
27 }
28
29 /**
30 * Constructs a loader for a particular directory and set of deployers
31 * @param path The directory containing the plugins
32 * @param pluginFactories The deployers that will handle turning an artifact into a plugin
33 * @param pluginArtifactFactory The plugin artifact factory
34 * @param pluginEventManager The event manager, used for listening for shutdown events
35 * @since 2.1.0
36 */
37 public DirectoryPluginLoader(final File path, final List<PluginFactory> pluginFactories, final PluginArtifactFactory pluginArtifactFactory, final PluginEventManager pluginEventManager)
38 {
39 super(new DirectoryScanner(path), pluginFactories, pluginArtifactFactory, pluginEventManager);
40 }
41 }