View Javadoc

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