com.plugin.development.integration.user.PluginUser Maven / Gradle / Ivy
package com.plugin.development.integration.user;
import java.util.List;
import java.util.Map;
/**
* 插件使用者
* @author zhangzhuo
* @version 1.0
*/
public interface PluginUser {
/**
* 通过bean名称得到插件的bean。(Spring管理的bean)
* @param name 插件bean的名称。spring体系中的bean名称。可以通过注解定义,也可以自定义生成。具体可百度
* @param bean的类型
* @return T
*/
T getSpringDefineBean(String name);
/**
* 在主程序中定义的接口。插件或者主程序实现该接口。可以该方法获取到实现该接口的所有实现类。(Spring管理的bean)
* @param aClass 接口的类
* @param bean的类型
* @return List
*/
List getSpringDefineBeansOfType(Class aClass);
/**
* 在主程序中定义的接口。获取插件中实现该接口的实现类。(Spring管理的bean)
* @param aClass 接口的类
* @param bean的类型
* @return Map
*/
List getPluginSpringDefineBeansOfType(Class aClass);
/**
* 在主程序中获取注入了插件实现接口的bean。(Spring管理的bean)
* @param aClass bean的类型
* @param bean的类型
* @return T
*/
T getSpringAutowirePluginDefineBean(Class aClass);
/**
* 得到插件扩展接口实现的bean。(非Spring管理)
* @param tClass bean的类型
* @param bean的类型
* @return List
*/
List getPluginExtensions(Class tClass);
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy