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