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   import com.atlassian.plugin.scope.ScopeManager;
10  
11  import java.io.File;
12  import java.net.URL;
13  
14  /**
15   * Configuration for the Atlassian Plugins Framework. Instances of this class should be created via the
16   * {@link PluginsConfigurationBuilder}.
17   */
18  public interface PluginsConfiguration {
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  
79      /**
80       * @return the directory containing framework bundles
81       */
82      File getFrameworkBundleDirectory();
83  
84      /**
85       * @return the scope manager
86       * @deprecated in 5.0 for removal in 6.0 when {@link ScopeManager} is removed
87       */
88      @Deprecated
89      ScopeManager getScopeManager();
90  }