瀏覽代碼

Allow a way to query all extension classes for a given plugin (#233)

tags/release-2.4.0
dustContributor 5 年之前
父節點
當前提交
bca953698f

+ 12
- 0
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) {

+ 2
- 0
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);

Loading…
取消
儲存