View Javadoc

1   package com.atlassian.plugin.loaders;
2   
3   import com.atlassian.plugin.*;
4   
5   import java.util.Collection;
6   import java.util.Map;
7   import java.util.List;
8   
9   public interface PluginLoader
10  {
11      Collection loadAllPlugins(ModuleDescriptorFactory moduleDescriptorFactory) throws PluginParseException;
12  
13      /**
14       * @return true if this PluginLoader tracks whether or not plugins are added to it.
15       */
16      boolean supportsAddition();
17  
18      /**
19       * @return true if this PluginLoader tracks whether or not plugins are removed from it.
20       */
21      boolean supportsRemoval();
22  
23      /**
24       * @return a collection of discovered plugins which have now been loaded by this pluginloader
25       */
26      Collection addFoundPlugins(ModuleDescriptorFactory moduleDescriptorFactory) throws PluginParseException;
27  
28      /**
29       * Remove a specific plugin
30       */
31      void removePlugin(Plugin plugin) throws PluginException;
32  
33  }