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 }