package frame.file.office; import java.util.ArrayList; import java.util.List; import frame.expression.VariantContext; import frame.file.IFileContext; import frame.file.UploadResult; public abstract class IOProcessor { private List ioHandlers; public IOProcessor() { ioHandlers = new ArrayList(); } public void execHandlers(UploadResult result, String eventCode) throws Exception { IFileContext context = createContext(result); for(IOHandler handler : ioHandlers) { if (handler.equalEvent(eventCode)) { handler.exec(result, context); } } } public void execHandlers(UploadResult result) throws Exception { IFileContext context = createContext(result); for(IOHandler handler : ioHandlers) { result.addMessage("进行数据处理:" + handler.getSqlName()); handler.exec(result, context); } } public void addHandler(IOHandler handler) { ioHandlers.add(handler); } public abstract IFileContext createContext(UploadResult result); }