public class ProcessChain implements IProcess { private List<IProcess> processList = new ArrayList<>(); public ProcessChain addProcess(IProcess process) { processList.add(process); return this; } public <T> T process() { T result; for (IProcess iProcess : processList) { result = iProcess.process(); //已结束 if (result != null) { return result; } } //均没有找到。 return null; } }
public interface IProcess { public <T> T process(); }