package cd.casic.plugin.register;


import cd.casic.plugin.PluginInfo;

/**
 * @Author：mianbin
 * @Package：cd.casic.plugin.register
 * @Project：ops
 * @name：BasePluginHandler
 * @Date：2024/03/18 15:48
 * @Filename：BasePluginHandler
 * @description：基础插件注册类
 */
public interface BasePluginHandler {

    /**
     * 插件组件初始化
     *
     * @throws Exception
     */
    void initialize() throws Exception;

    /**
     * 插件组件注册
     *
     * @param plugin
     * @throws Exception
     */
    void registry(PluginInfo plugin) throws Exception;

    /**
     * 插件组件卸载注册
     *
     * @param plugin
     * @throws Exception
     */
    void unRegistry(PluginInfo plugin) throws Exception;

}
