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

top.zeimao77.product.jobs.DelegatingHandlerComponent Maven / Gradle / Ivy

package top.zeimao77.product.jobs;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * 顺序的处理器组件
 * 对于一个任务,将使用处理器顺序处理该任务
 * @param 
 */
public class DelegatingHandlerComponent extends JobExecHandler {

    private static Logger logger = LoggerFactory.getLogger(DelegatingHandlerComponent.class);
    private List> jobExecHandlerList = new ArrayList<>();

    @Override
    public boolean support(T job, Map param) {
        return true;
    }

    @Override
    public Result doHandle(T job, Map param) {
        for (JobExecHandler tJobExecHandler : jobExecHandlerList) {
            tJobExecHandler.handle(job,param);
        }
        return Result.SUCCESS;
    }

    public boolean register(JobExecHandler jobExecHandler) {
        return this.jobExecHandlerList.add(jobExecHandler);
    }

    public boolean unregister(JobExecHandler jobExecHandler) {
        return this.jobExecHandlerList.remove(jobExecHandler);
    }

    public JobExecHandler unregister(int index) {
        return this.jobExecHandlerList.remove(index);
    }

    @Override
    public void successed(T job, Map param, Result result) {}


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy