diff options
author | dustContributor <hctf90@gmail.com> | 2018-07-24 04:16:31 -0300 |
---|---|---|
committer | Decebal Suiu <decebal.suiu@gmail.com> | 2018-07-24 10:16:31 +0300 |
commit | bca953698f5546a69e7f627d33fd0d71cd3f3b43 (patch) | |
tree | 1c0e2cd6d3a16b89a92bc6f9f3edb8436955a9b3 | |
parent | 1d31281196681ac3f553eb7727d2819ae8e2df09 (diff) | |
download | pf4j-bca953698f5546a69e7f627d33fd0d71cd3f3b43.tar.gz pf4j-bca953698f5546a69e7f627d33fd0d71cd3f3b43.zip |
Allow a way to query all extension classes for a given plugin (#233)
-rw-r--r-- | pf4j/src/main/java/org/pf4j/AbstractPluginManager.java | 12 | ||||
-rw-r--r-- | pf4j/src/main/java/org/pf4j/PluginManager.java | 2 |
2 files changed, 14 insertions, 0 deletions
diff --git a/pf4j/src/main/java/org/pf4j/AbstractPluginManager.java b/pf4j/src/main/java/org/pf4j/AbstractPluginManager.java index 17116ae..f2578d8 100644 --- a/pf4j/src/main/java/org/pf4j/AbstractPluginManager.java +++ b/pf4j/src/main/java/org/pf4j/AbstractPluginManager.java @@ -522,6 +522,18 @@ public abstract class AbstractPluginManager implements PluginManager { return pluginClassLoaders.get(pluginId); } + @SuppressWarnings("rawtypes") + @Override + public List<Class<?>> getExtensionClasses(String pluginId) { + List<ExtensionWrapper> extensionsWrapper = extensionFinder.find(pluginId); + List<Class<?>> extensionClasses = new ArrayList<>(extensionsWrapper.size()); + for (ExtensionWrapper extensionWrapper : extensionsWrapper) { + Class<?> c = extensionWrapper.getDescriptor().extensionClass; + extensionClasses.add(c); + } + return extensionClasses; + } + @SuppressWarnings("unchecked") @Override public <T> List<Class<T>> getExtensionClasses(Class<T> type) { diff --git a/pf4j/src/main/java/org/pf4j/PluginManager.java b/pf4j/src/main/java/org/pf4j/PluginManager.java index eaa605f..52fb85b 100644 --- a/pf4j/src/main/java/org/pf4j/PluginManager.java +++ b/pf4j/src/main/java/org/pf4j/PluginManager.java @@ -131,6 +131,8 @@ public interface PluginManager { ClassLoader getPluginClassLoader(String pluginId); + List<Class<?>> getExtensionClasses(String pluginId); + <T> List<Class<T>> getExtensionClasses(Class<T> type); <T> List<Class<T>> getExtensionClasses(Class<T> type, String pluginId); |