Paul Martin
2016-04-30 a502d96a860456ec5e8c96761db70f7cabb74751
src/main/java/com/gitblit/manager/IPluginManager.java
@@ -20,6 +20,7 @@
import ro.fortsoft.pf4j.PluginState;
import ro.fortsoft.pf4j.PluginWrapper;
import ro.fortsoft.pf4j.Version;
import com.gitblit.models.PluginRegistry.InstallState;
import com.gitblit.models.PluginRegistry.PluginRegistration;
@@ -28,12 +29,22 @@
public interface IPluginManager extends IManager {
   /**
    * Returns the system version.
    *
    * @return the system version
     * @since 1.5.0
    */
   Version getSystemVersion();
   /**
    * Starts all plugins.
     * @since 1.5.0
    */
   void startPlugins();
   /**
    * Stops all plugins.
     * @since 1.5.0
    */
   void stopPlugins();
@@ -42,6 +53,7 @@
    *
    * @param pluginId
    * @return the state of the plugin
     * @since 1.5.0
    */
   PluginState startPlugin(String pluginId);
@@ -50,6 +62,7 @@
    *
    * @param pluginId
    * @return the state of the plugin
     * @since 1.5.0
    */
   PluginState stopPlugin(String pluginId);
@@ -58,6 +71,7 @@
    *
    * @param type
    * @return a list of extensions the plugin provides
     * @since 1.5.0
    */
   List<Class<?>> getExtensionClasses(String pluginId);
@@ -66,6 +80,7 @@
    *
    * @param type
    * @return a list of extension instances
     * @since 1.5.0
    */
   <T> List<T> getExtensions(Class<T> type);
@@ -73,6 +88,7 @@
    * Returns the list of all resolved plugins.
    *
    * @return a list of resolved plugins
     * @since 1.5.0
    */
   List<PluginWrapper> getPlugins();
@@ -81,6 +97,7 @@
    *
    * @param pluginId
    * @return the plugin wrapper
     * @since 1.5.0
    */
   PluginWrapper getPlugin(String pluginId);
@@ -89,6 +106,7 @@
     *
     * @param clazz extension point class to retrieve extension for
     * @return PluginWrapper that loaded the given class
     * @since 1.5.0
     */
    PluginWrapper whichPlugin(Class<?> clazz);
@@ -97,6 +115,7 @@
     *
     * @param pluginId
     * @return true if successful
     * @since 1.5.0
     */
    boolean disablePlugin(String pluginId);
@@ -105,6 +124,7 @@
     *
     * @param pluginId
     * @return true if successful
     * @since 1.5.0
     */
    boolean enablePlugin(String pluginId);
@@ -113,26 +133,44 @@
     *
     * @param pluginId
     * @return true if successful
     * @since 1.5.0
     */
    boolean deletePlugin(String pluginId);
    boolean uninstallPlugin(String pluginId);
    /**
     * Refresh the plugin registry.
     *
     * @param verifyChecksum
     * @since 1.5.0
     */
    boolean refreshRegistry();
    boolean refreshRegistry(boolean verifyChecksum);
    /**
     * Install the plugin from the specified url.
     *
     * @param url
     * @param verifyChecksum
     * @since 1.5.0
     */
    boolean installPlugin(String url, boolean verifyChecksum) throws IOException;
    /**
     * Upgrade the install plugin from the specified url.
     *
     * @param pluginId
     * @param url
     * @param verifyChecksum
     * @return true if the upgrade has been successful
     * @throws IOException
     * @since 1.5.0
     */
    boolean upgradePlugin(String pluginId, String url, boolean verifyChecksum) throws IOException;
    /**
     * The list of all registered plugins.
     *
     * @return a list of registered plugins
     * @since 1.5.0
     */
    List<PluginRegistration> getRegisteredPlugins();
@@ -141,6 +179,7 @@
     *
     * @param state
     * @return the list of plugins that match the install state
     * @since 1.5.0
     */
    List<PluginRegistration> getRegisteredPlugins(InstallState state);
@@ -149,6 +188,7 @@
     *
     * @param idOrName
     * @return a plugin registration or null
     * @since 1.5.0
     */
    PluginRegistration lookupPlugin(String idOrName);
@@ -158,6 +198,7 @@
     * @param idOrName
     * @param version (use null for the current version)
     * @return the identified plugin version or null
     * @since 1.5.0
     */
    PluginRelease lookupRelease(String idOrName, String version);
}