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

com.github.codingdebugallday.extension.AbstractExtension Maven / Gradle / Ivy

The newest version!
package com.github.codingdebugallday.extension;

import java.util.Collections;
import java.util.List;

import com.github.codingdebugallday.factory.process.pipe.PluginPipeProcessorExtend;
import com.github.codingdebugallday.factory.process.pipe.classs.PluginClassGroupExtend;
import com.github.codingdebugallday.factory.process.post.PluginPostProcessorExtend;
import com.github.codingdebugallday.integration.application.PluginApplication;
import com.github.codingdebugallday.loader.PluginResourceLoader;
import org.springframework.context.ApplicationContext;

/**
 * 

* 抽象的扩展工厂 *

* * @author isaac 2020/6/16 13:53 * @since 1.0 */ public abstract class AbstractExtension { protected PluginApplication pluginApplication; public void setPluginApplication(PluginApplication pluginApplication) { this.pluginApplication = pluginApplication; } /** * 扩展唯一的key * * @return String */ public abstract String key(); /** * 该扩展初始化的操作 * 主要是在插件初始化阶段被调用 * * @param applicationContext applicationContext */ public void initialize(ApplicationContext applicationContext) { } /** * 返回插件的资源加载者。 * 主要是加载插件中的某些资源,比如文件、图片等。 * * @return List PluginResourceLoader */ public List getPluginResourceLoader() { return Collections.emptyList(); } /** * 返回扩展的插件中的类分组器。 * 该扩展主要是对插件中的Class文件分组,然后供 PluginPipeProcessor、PluginPostProcessor 阶段使用。 * * @param applicationContext 主程序ApplicationContext * @return List PluginPipeProcessorExtend */ public List getPluginClassGroup(ApplicationContext applicationContext) { return Collections.emptyList(); } /** * 返回扩展的流插件处理者。 * 该扩展主要是对每一个插件进行处理 * * @param applicationContext 主程序ApplicationContext * @return List PluginPipeProcessorExtend */ public List getPluginPipeProcessor(ApplicationContext applicationContext) { return Collections.emptyList(); } /** * 返回扩展的插件后置处理者。 * 该扩展主要是对全部插件进行处理。 * * @param applicationContext 主程序ApplicationContext * @return List PluginPostProcessorExtend */ public List getPluginPostProcessor(ApplicationContext applicationContext) { return Collections.emptyList(); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy