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      /**
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  }