View Javadoc

1   package com.atlassian.plugin.main;
2   
3   import com.atlassian.plugin.ModuleDescriptorFactory;
4   import com.atlassian.plugin.PluginStateStore;
5   import com.atlassian.plugin.osgi.container.PackageScannerConfiguration;
6   import com.atlassian.plugin.osgi.hostcomponents.HostComponentProvider;
7   
8   import java.io.File;
9   import java.net.URL;
10  
11  /**
12   * Configuration for the Atlassian Plugins Framework.  Instances of this class should be created via the
13   * {@link PluginsConfigurationBuilder}.
14   */
15  public interface PluginsConfiguration
16  {
17      /**
18       * @return The package scanner configuration
19       */
20      PackageScannerConfiguration getPackageScannerConfiguration();
21  
22      /**
23       * @return the host component provider
24       */
25      HostComponentProvider getHostComponentProvider();
26  
27      /**
28       * @return the framework bundles directory
29       */
30      File getFrameworkBundlesDirectory();
31  
32      /**
33       * @return the directory to use for the osgi framework bundles cache
34       */
35      File getBundleCacheDirectory();
36  
37      /**
38       * @return the name of the plugin descriptor file
39       */
40      String getPluginDescriptorFilename();
41  
42      /**
43       * @return the directory containing plugins
44       */
45      File getPluginDirectory();
46  
47      /**
48       * @return the location of the bundled plugins zip
49       */
50      URL getBundledPluginUrl();
51  
52      /**
53       * @return the directory to unzip the bundled plugins into
54       */
55      File getBundledPluginCacheDirectory();
56  
57      /**
58       * @return the factory for module descriptors
59       */
60      ModuleDescriptorFactory getModuleDescriptorFactory();
61  
62      /**
63       * @return the plugin state store implementation
64       */
65      PluginStateStore getPluginStateStore();
66  
67      /**
68       * @return the number of milliseconds between polling.  Zero to disable.
69       */
70      long getHotDeployPollingPeriod();
71  }