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
12   * artifacts 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,
25                                   final PluginEventManager pluginEventManager) {
26          super(new DirectoryScanner(path), pluginFactories, pluginEventManager);
27      }
28  
29      /**
30       * Constructs a loader for a particular directory and set of deployers
31       *
32       * @param path                  The directory containing the plugins
33       * @param pluginFactories       The deployers that will handle turning an artifact into a plugin
34       * @param pluginArtifactFactory The plugin artifact factory
35       * @param pluginEventManager    The event manager, used for listening for shutdown events
36       * @since 2.1.0
37       */
38      public DirectoryPluginLoader(final File path, final List<PluginFactory> pluginFactories,
39                                   final PluginArtifactFactory pluginArtifactFactory,
40                                   final PluginEventManager pluginEventManager) {
41          super(new DirectoryScanner(path), pluginFactories, pluginArtifactFactory, pluginEventManager);
42      }
43  }