]> source.dussan.org Git - pf4j.git/commitdiff
Resolve #242
authorDecebal Suiu <decebal.suiu@gmail.com>
Sat, 20 Oct 2018 20:37:30 +0000 (23:37 +0300)
committerDecebal Suiu <decebal.suiu@gmail.com>
Sat, 20 Oct 2018 20:37:30 +0000 (23:37 +0300)
pf4j/src/main/java/org/pf4j/AbstractPluginManager.java
pf4j/src/main/java/org/pf4j/Plugin.java

index f2578d86cd2fe71e20f0a0dfa16283268d2c87cd..4d4503fdd14f1df08c8d7857a4e2cd3333dec18f 100644 (file)
@@ -303,6 +303,13 @@ public abstract class AbstractPluginManager implements PluginManager {
             return false;
         }
 
+        try {
+            pluginWrapper.getPlugin().delete();
+        } catch (PluginException e) {
+            log.error(e.getMessage(), e);
+            return false;
+        }
+
         Path pluginPath = pluginWrapper.getPluginPath();
 
         return pluginRepository.deletePluginPath(pluginPath);
index 6233b44c2a494ec1d402484c179417c15b9f4f37..b648b64d90f32d734b46ccae68c10c4096bebf82 100644 (file)
@@ -57,15 +57,24 @@ public class Plugin {
     }
 
     /**
-     * Start method is called by the application when the plugin is loaded.
+     * This method is called by the application when the plugin is started.
+     * See {@link PluginManager#startPlugin(String)}.
      */
     public void start() throws PluginException {
     }
 
     /**
-     * Stop method is called by the application when the plugin is unloaded.
+     * This method is called by the application when the plugin is stopped.
+     * See {@link PluginManager#stopPlugin(String)}.
      */
     public void stop() throws PluginException {
     }
 
+    /**
+     * This method is called by the application when the plugin is deleted.
+     * See {@link PluginManager#deletePlugin(String)}.
+     */
+    public void delete() throws PluginException {
+    }
+
 }