1 package com.atlassian.plugin;
2
3 /**
4 * Controls the life-cycle of the plugin system.
5 *
6 * @since 2.2.0
7 */
8 public interface PluginSystemLifecycle
9 {
10 /**
11 * Initialise the plugin system. This <b>must</b> be called before anything else.
12 * @throws PluginParseException If parsing the plugins failed.
13 */
14 void init() throws PluginParseException;
15
16 /**
17 * Destroys the plugin manager. This <b>must</b> be called when getting rid of the manager instance and you
18 * plan to create another one. Failure to do so will leave around significant resources including threads
19 * and memory usage and can interfere with a web-application being correctly shutdown.
20 *
21 * @since 2.0.0
22 */
23 void shutdown();
24 }