diff options
author | James Moger <james.moger@gitblit.com> | 2014-04-17 18:00:58 -0400 |
---|---|---|
committer | James Moger <james.moger@gitblit.com> | 2014-04-17 18:08:12 -0400 |
commit | cf4004e8d64399f6fc722fcb313eaaae6a65fa20 (patch) | |
tree | 795bd96caf734212b4120d6e7c3597af0f9a60d0 /src/main/java/com/gitblit/extensions | |
parent | 067bb4db93544dca984363dbe728f94607ba8a5d (diff) | |
download | gitblit-cf4004e8d64399f6fc722fcb313eaaae6a65fa20.tar.gz gitblit-cf4004e8d64399f6fc722fcb313eaaae6a65fa20.zip |
Add plugin (un)install lifecycle methods
Diffstat (limited to 'src/main/java/com/gitblit/extensions')
-rw-r--r-- | src/main/java/com/gitblit/extensions/GitblitPlugin.java | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/main/java/com/gitblit/extensions/GitblitPlugin.java b/src/main/java/com/gitblit/extensions/GitblitPlugin.java index 129f584c..d0603ebe 100644 --- a/src/main/java/com/gitblit/extensions/GitblitPlugin.java +++ b/src/main/java/com/gitblit/extensions/GitblitPlugin.java @@ -17,11 +17,45 @@ package com.gitblit.extensions; import ro.fortsoft.pf4j.Plugin; import ro.fortsoft.pf4j.PluginWrapper; +import ro.fortsoft.pf4j.Version; +/** + * Parent class of Gitblit plugins. + * + * @author James Moger + * @since 1.5.0 + */ public abstract class GitblitPlugin extends Plugin { public GitblitPlugin(PluginWrapper wrapper) { super(wrapper); } + /** + * Called after a plugin as been loaded but before it is started for the + * first time. This allows the plugin to install settings or perform any + * other required first-time initialization. + * + * @since 1.5.0 + */ + public abstract void onInstall(); + + /** + * Called after an updated plugin has been installed but before the updated + * plugin is started. The oldVersion is passed as a parameter in the event + * that special processing needs to be executed. + * + * @param oldVersion + * @since 1.5.0 + */ + public abstract void onUpgrade(Version oldVersion); + + /** + * Called before a plugin has been unloaded and deleted from the system. + * This allows a plugin to remove any settings it may have created or + * perform and other necessary cleanup. + * + * @since 1.5.0 + */ + public abstract void onUninstall(); } |