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 }