View Javadoc
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       * Constructs a loader for a particular directory and set of deployers
18       *
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          super(new DirectoryScanner(path), pluginFactories, pluginEventManager);
26      }
27  
28      /**
29       * Constructs a loader for a particular directory and set of deployers
30       *
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          super(new DirectoryScanner(path), pluginFactories, pluginArtifactFactory, pluginEventManager);
39      }
40  }