
com.yomahub.liteflow.lifecycle.LifeCycleHolder Maven / Gradle / Ivy
The newest version!
package com.yomahub.liteflow.lifecycle;
import java.util.ArrayList;
import java.util.List;
/**
* 生命周期接口持有器
* 经过启动后把相应的生命周期接口实现类扫入这个持有器中
*
* @author Bryan.Zhang
* @since 2.12.4
*/
public class LifeCycleHolder {
private static final List POST_PROCESS_SCRIPT_ENGINE_INIT_LIFE_CYCLE_LIST = new ArrayList<>();
private static final List POST_PROCESS_CHAIN_BUILD_LIFE_CYCLE_LIST = new ArrayList<>();
private static final List POST_PROCESS_NODE_BUILD_LIFE_CYCLE_LIST = new ArrayList<>();
private static final List POST_PROCESS_FLOW_EXECUTE_LIFE_CYCLE_LIST = new ArrayList<>();
private static final List POST_PROCESS_CHAIN_EXECUTE_LIFE_CYCLE_LIST = new ArrayList<>();
public static void addLifeCycle(LifeCycle lifeCycle){
if (PostProcessScriptEngineInitLifeCycle.class.isAssignableFrom(lifeCycle.getClass())){
POST_PROCESS_SCRIPT_ENGINE_INIT_LIFE_CYCLE_LIST.add((PostProcessScriptEngineInitLifeCycle)lifeCycle);
}else if(PostProcessChainBuildLifeCycle.class.isAssignableFrom(lifeCycle.getClass())){
POST_PROCESS_CHAIN_BUILD_LIFE_CYCLE_LIST.add((PostProcessChainBuildLifeCycle)lifeCycle);
}else if(PostProcessNodeBuildLifeCycle.class.isAssignableFrom(lifeCycle.getClass())){
POST_PROCESS_NODE_BUILD_LIFE_CYCLE_LIST.add((PostProcessNodeBuildLifeCycle)lifeCycle);
}else if(PostProcessFlowExecuteLifeCycle.class.isAssignableFrom(lifeCycle.getClass())){
POST_PROCESS_FLOW_EXECUTE_LIFE_CYCLE_LIST.add((PostProcessFlowExecuteLifeCycle)lifeCycle);
}else if(PostProcessChainExecuteLifeCycle.class.isAssignableFrom(lifeCycle.getClass())){
POST_PROCESS_CHAIN_EXECUTE_LIFE_CYCLE_LIST.add((PostProcessChainExecuteLifeCycle)lifeCycle);
}
}
public static List getPostProcessScriptEngineInitLifeCycleList() {
return POST_PROCESS_SCRIPT_ENGINE_INIT_LIFE_CYCLE_LIST;
}
public static List getPostProcessChainBuildLifeCycleList() {
return POST_PROCESS_CHAIN_BUILD_LIFE_CYCLE_LIST;
}
public static List getPostProcessNodeBuildLifeCycleList() {
return POST_PROCESS_NODE_BUILD_LIFE_CYCLE_LIST;
}
public static List getPostProcessFlowExecuteLifeCycleList() {
return POST_PROCESS_FLOW_EXECUTE_LIFE_CYCLE_LIST;
}
public static List getPostProcessChainExecuteLifeCycleList() {
return POST_PROCESS_CHAIN_EXECUTE_LIFE_CYCLE_LIST;
}
public static void clean(){
POST_PROCESS_SCRIPT_ENGINE_INIT_LIFE_CYCLE_LIST.clear();
POST_PROCESS_CHAIN_BUILD_LIFE_CYCLE_LIST.clear();
POST_PROCESS_NODE_BUILD_LIFE_CYCLE_LIST.clear();
POST_PROCESS_FLOW_EXECUTE_LIFE_CYCLE_LIST.clear();
POST_PROCESS_CHAIN_EXECUTE_LIFE_CYCLE_LIST.clear();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy