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

org.zodiac.plugin.extension.AbstractPluginExtension Maven / Gradle / Ivy

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

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy