View Javadoc

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