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