From 413e9b486b1a84960d4c8ddac130e87280f64c6a Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 10 Apr 2014 19:00:52 -0400
Subject: [PATCH] Split administration commands into a plugin, enhance plugin manager

---
 src/main/java/com/gitblit/manager/IPluginManager.java |   23 +++++++++++------------
 1 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/gitblit/manager/IPluginManager.java b/src/main/java/com/gitblit/manager/IPluginManager.java
index 670e976..11b81ea 100644
--- a/src/main/java/com/gitblit/manager/IPluginManager.java
+++ b/src/main/java/com/gitblit/manager/IPluginManager.java
@@ -15,19 +15,10 @@
  */
 package com.gitblit.manager;
 
-import java.util.List;
-
+import ro.fortsoft.pf4j.PluginManager;
 import ro.fortsoft.pf4j.PluginWrapper;
 
-public interface IPluginManager extends IManager {
-
-	/**
-	 * Retrieves the extension for given class 'clazz'.
-	 *
-	 * @param clazz extension point class to retrieve extension for
-	 * @return list of extensions
-	 */
-	public <T> List<T> getExtensions(Class<T> clazz);
+public interface IPluginManager extends IManager, PluginManager {
 
 	/**
      * Retrieves the {@link PluginWrapper} that loaded the given class 'clazz'.
@@ -35,5 +26,13 @@
      * @param clazz extension point class to retrieve extension for
      * @return PluginWrapper that loaded the given class
      */
-    public PluginWrapper whichPlugin(Class<?> clazz);
+    PluginWrapper whichPlugin(Class<?> clazz);
+    
+    /**
+     * Delete the plugin represented by {@link PluginWrapper}.
+     * 
+     * @param wrapper
+     * @return true if successful
+     */
+    boolean deletePlugin(PluginWrapper wrapper);
 }

--
Gitblit v1.9.1