1 package com.atlassian.plugin.jmx;
2
3 import com.atlassian.annotations.PublicApi;
4
5 import com.atlassian.plugin.PluginController;
6
7 /**
8 * The JMX interface to plugin manager facilities.
9 *
10 * @since v3.0.24
11 */
12 @PublicApi
13 public interface PluginManagerMXBean
14 {
15 interface PluginData
16 {
17 String getKey();
18
19 String getVersion();
20
21 String getLocation();
22
23 Long getDateLoaded();
24
25 Long getDateInstalled();
26
27 boolean isEnabled();
28
29 boolean isEnabledByDefault();
30
31 boolean isBundledPlugin();
32 }
33
34 /**
35 * Obtain the currently installed plugins.
36 *
37 * @return a list of plugins currently installed into the instance.
38 */
39 PluginData[] getPlugins();
40
41 /**
42 * Check each plugin loader for newly available plugins and install them.
43 *
44 * @return the number of new plugins installed.
45 * @see PluginController#scanForNewPlugins()
46 */
47 int scanForNewPlugins();
48 }