]> source.dussan.org Git - pf4j.git/commitdiff
make PluginManager available in Plugin via PluginWrapper
authorDecebal Suiu <decebal.suiu@gmail.com>
Wed, 7 Oct 2015 11:07:08 +0000 (14:07 +0300)
committerDecebal Suiu <decebal.suiu@gmail.com>
Wed, 7 Oct 2015 11:07:08 +0000 (14:07 +0300)
pf4j/src/main/java/ro/fortsoft/pf4j/DefaultPluginManager.java
pf4j/src/main/java/ro/fortsoft/pf4j/PluginWrapper.java

index 865bc5f52a6302e5c5d96ed93de53e42e21c5035..3563cdee460df8136767774f5f5de0250706ae24 100644 (file)
@@ -780,7 +780,7 @@ public class DefaultPluginManager implements PluginManager {
 
         // create the plugin wrapper
         log.debug("Creating wrapper for plugin '{}'", pluginPath);
-        PluginWrapper pluginWrapper = new PluginWrapper(pluginDescriptor, pluginPath, pluginClassLoader);
+        PluginWrapper pluginWrapper = new PluginWrapper(this, pluginDescriptor, pluginPath, pluginClassLoader);
         pluginWrapper.setPluginFactory(pluginFactory);
         pluginWrapper.setRuntimeMode(getRuntimeMode());
 
index 45dbc1e50151ab10f61685d04b565c167c5b7126..8046be58ce48e1a35ecb0a2a3bca7abe108606ef 100644 (file)
@@ -19,6 +19,7 @@ package ro.fortsoft.pf4j;
  */
 public class PluginWrapper {
 
+    PluginManager pluginManager;
        PluginDescriptor descriptor;
        String pluginPath;
        PluginClassLoader pluginClassLoader;
@@ -27,7 +28,8 @@ public class PluginWrapper {
        RuntimeMode runtimeMode;
     Plugin plugin; // cache
 
-       public PluginWrapper(PluginDescriptor descriptor, String pluginPath, PluginClassLoader pluginClassLoader) {
+       public PluginWrapper(PluginManager pluginManager, PluginDescriptor descriptor, String pluginPath, PluginClassLoader pluginClassLoader) {
+        this.pluginManager = pluginManager;
                this.descriptor = descriptor;
                this.pluginPath = pluginPath;
                this.pluginClassLoader = pluginClassLoader;
@@ -35,6 +37,13 @@ public class PluginWrapper {
                pluginState = PluginState.CREATED;
        }
 
+    /**
+     * Returns the plugin manager.
+     */
+    public PluginManager getPluginManager() {
+        return pluginManager;
+    }
+
     /**
      * Returns the plugin descriptor.
      */