From: Decebal Suiu Date: Wed, 20 Feb 2013 09:22:24 +0000 (+0200) Subject: factory method pattern for PluginDescriptorFinder and ExtensionFinder X-Git-Tag: release-0.4~8 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=2d971079be8f0a95f63be390601c5cc74f70e951;p=pf4j.git factory method pattern for PluginDescriptorFinder and ExtensionFinder --- diff --git a/pf4j/src/main/java/ro/fortsoft/pf4j/DefaultPluginManager.java b/pf4j/src/main/java/ro/fortsoft/pf4j/DefaultPluginManager.java index 067264f..5befbc2 100644 --- a/pf4j/src/main/java/ro/fortsoft/pf4j/DefaultPluginManager.java +++ b/pf4j/src/main/java/ro/fortsoft/pf4j/DefaultPluginManager.java @@ -85,7 +85,7 @@ public class DefaultPluginManager implements PluginManager { /** * A compound class loader of resolved plugins. */ - private CompoundClassLoader compoundClassLoader; + protected CompoundClassLoader compoundClassLoader; /** * Th plugins directory is supplied by System.getProperty("pf4j.pluginsDir", "plugins"). @@ -110,20 +110,21 @@ public class DefaultPluginManager implements PluginManager { resolvedPlugins = new ArrayList(); disabledPlugins = new ArrayList(); startedPlugins = new ArrayList(); - pluginDescriptorFinder = new DefaultPluginDescriptorFinder(); compoundClassLoader = new CompoundClassLoader(); - extensionFinder = new DefaultExtensionFinder(compoundClassLoader); + + pluginDescriptorFinder = createPluginDescriptorFinder(); + extensionFinder = createExtensionFinder(); System.setProperty("pf4j.pluginsDir", pluginsDirectory.getAbsolutePath()); } - public PluginDescriptorFinder getPluginDescriptorFinder() { - return pluginDescriptorFinder; - } + protected PluginDescriptorFinder createPluginDescriptorFinder() { + return new DefaultPluginDescriptorFinder(); + } - public void setPluginDescriptorFinder(PluginDescriptorFinder pluginDescriptorFinder) { - this.pluginDescriptorFinder = pluginDescriptorFinder; - } + protected ExtensionFinder createExtensionFinder() { + return new DefaultExtensionFinder(compoundClassLoader); + } @Override public List getPlugins() { @@ -349,5 +350,5 @@ public class DefaultPluginManager implements PluginManager { log.info("Plugin '" + pluginWrapper.getDescriptor().getPluginId() + "' resolved"); } } - + }