org.zodiac.plugin.extension.AbstractPluginExtension Maven / Gradle / Ivy
package org.zodiac.plugin.extension;
import org.springframework.context.ApplicationContext;
import org.zodiac.plugin.factory.process.pipe.PluginPipeProcessorExtend;
import org.zodiac.plugin.factory.process.pipe.PluginPreProcessorExtend;
import org.zodiac.plugin.factory.process.pipe.bean.PluginBeanRegistrarExtend;
import org.zodiac.plugin.factory.process.pipe.classs.PluginClassGroupExtend;
import org.zodiac.plugin.factory.process.pipe.loader.PluginResourceLoader;
import org.zodiac.plugin.factory.process.post.PluginPostProcessorExtend;
import org.zodiac.plugin.integration.application.PluginApplication;
import java.util.List;
/**
* 抽象的扩展工厂。
*/
public abstract class AbstractPluginExtension implements PluginExtension {
protected PluginApplication pluginApplication;
public AbstractPluginExtension setPluginApplication(PluginApplication pluginApplication) {
this.pluginApplication = pluginApplication;
return this;
}
/**
* 该扩展初始化的操作 主要是在插件初始化阶段被调用
*
* @param mainApplicationContext
* 主程序ApplicationContext
* @throws Exception
* 初始化异常
*/
public AbstractPluginExtension initialize(ApplicationContext mainApplicationContext) throws Exception {return this;}
/**
* 返回插件的资源加载者。 主要是加载插件中的某些资源,比如文件、图片等。
*
* @return List PluginResourceLoader
*/
@Override
public List getPluginResourceLoader() {
return null;
}
/**
* 返回扩展的插件中的类分组器。 该扩展主要是对插件中的Class文件分组,然后供 PluginPipeProcessor、PluginPostProcessor 阶段使用。
*
* @param mainApplicationContext
* 主程序ApplicationContext
* @return List PluginPipeProcessorExtend
*/
@Override
public List getPluginClassGroup(ApplicationContext mainApplicationContext) {
return null;
}
/**
* 返回扩展的插件前置处理者。 该扩展主要是对每一个插件进行处理
*
* @param mainApplicationContext
* 主程序ApplicationContext
* @return List PluginPipeProcessorExtend
*/
@Override
public List getPluginPreProcessor(ApplicationContext mainApplicationContext) {
return null;
}
/**
* 返回扩展的bean定义注册者扩展 该扩展主要是对每一个插件进行处理
*
* @param mainApplicationContext
* 主程序ApplicationContext
* @return List PluginPipeProcessorExtend
*/
@Override
public List getPluginBeanRegistrar(ApplicationContext mainApplicationContext) {
return null;
}
/**
* 返回扩展的流插件处理者。 该扩展主要是对每一个插件进行处理
*
* @param mainApplicationContext
* 主程序ApplicationContext
* @return List PluginPipeProcessorExtend
*/
@Override
public List getPluginPipeProcessor(ApplicationContext mainApplicationContext) {
return null;
}
/**
* 返回扩展的插件后置处理者。 该扩展主要是对全部插件进行处理。
*
* @param mainApplicationContext
* 主程序ApplicationContext
* @return List PluginPostProcessorExtend
*/
@Override
public List getPluginPostProcessor(ApplicationContext mainApplicationContext) {
return null;
}
}