summaryrefslogtreecommitdiffstats
path: root/src/main/java/com/gitblit/extensions
diff options
context:
space:
mode:
authorJames Moger <james.moger@gitblit.com>2014-04-17 18:00:58 -0400
committerJames Moger <james.moger@gitblit.com>2014-04-17 18:08:12 -0400
commitcf4004e8d64399f6fc722fcb313eaaae6a65fa20 (patch)
tree795bd96caf734212b4120d6e7c3597af0f9a60d0 /src/main/java/com/gitblit/extensions
parent067bb4db93544dca984363dbe728f94607ba8a5d (diff)
downloadgitblit-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.java34
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();
}