Browse Source

Add RESOLVED as plugin state

pull/205/head
Decebal Suiu 7 years ago
parent
commit
c4e5635212
  1. 5
      pf4j/src/main/java/org/pf4j/AbstractPluginManager.java
  2. 25
      pf4j/src/main/java/org/pf4j/PluginState.java

5
pf4j/src/main/java/org/pf4j/AbstractPluginManager.java

@ -787,8 +787,13 @@ public abstract class AbstractPluginManager implements PluginManager {
for (String pluginId : sortedPlugins) { for (String pluginId : sortedPlugins) {
PluginWrapper pluginWrapper = plugins.get(pluginId); PluginWrapper pluginWrapper = plugins.get(pluginId);
if (unresolvedPlugins.remove(pluginWrapper)) { if (unresolvedPlugins.remove(pluginWrapper)) {
PluginState pluginState = pluginWrapper.getPluginState();
pluginWrapper.setPluginState(PluginState.RESOLVED);
resolvedPlugins.add(pluginWrapper); resolvedPlugins.add(pluginWrapper);
log.info("Plugin '{}' resolved", getPluginLabel(pluginWrapper.getDescriptor())); log.info("Plugin '{}' resolved", getPluginLabel(pluginWrapper.getDescriptor()));
firePluginStateEvent(new PluginStateEvent(this, pluginWrapper, pluginState));
} }
} }
} }

25
pf4j/src/main/java/org/pf4j/PluginState.java

@ -20,9 +20,30 @@ package org.pf4j;
*/ */
public class PluginState { public class PluginState {
/**
* The runtime knows the plugin is there. It knows about the plugin path, the plugin descriptor.
*/
public static final PluginState CREATED = new PluginState("CREATED"); public static final PluginState CREATED = new PluginState("CREATED");
/**
* The plugin cannot be used.
*/
public static final PluginState DISABLED = new PluginState("DISABLED"); public static final PluginState DISABLED = new PluginState("DISABLED");
/**
* The plugin is created. All the dependencies are created and resolved.
* The plugin is ready to be started.
*/
public static final PluginState RESOLVED = new PluginState("RESOLVED");
/**
* The {@link Plugin#start()} has executed. A started plugin may contribute extensions.
*/
public static final PluginState STARTED = new PluginState("STARTED"); public static final PluginState STARTED = new PluginState("STARTED");
/**
* The {@link Plugin#stop()} has executed.
*/
public static final PluginState STOPPED = new PluginState("STOPPED"); public static final PluginState STOPPED = new PluginState("STOPPED");
private String status; private String status;
@ -38,9 +59,7 @@ public class PluginState {
PluginState that = (PluginState) o; PluginState that = (PluginState) o;
if (!status.equals(that.status)) return false; return status.equals(that.status);
return true;
} }
@Override @Override

Loading…
Cancel
Save