package cd.casic.plugin.core;

import org.pf4j.PluginManager;
import org.pf4j.PluginWrapper;
import org.springframework.context.ApplicationContext;

import java.util.List;

/**
 * @Classname SpringPluginManager
 * @Description 增强插件管理器，增加spring上下文管理
 * @Date 2025/5/9 14:38
 * @Created by mianbin
 */
public interface SpringPluginManager extends PluginManager {
    ApplicationContext getRootContext();

    ApplicationContext getSharedContext();

    /**
     * 递归获取所有依赖
     */
    List<PluginWrapper> getDependents(String pluginId);
}
