All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.plugin.development.integration.user.PluginUser Maven / Gradle / Ivy

There is a newer version: 3.0.0
Show newest version
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