nablarch.fw.invoker.PipelineInvoker Maven / Gradle / Ivy
package nablarch.fw.invoker;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import nablarch.core.util.annotation.Published;
import nablarch.fw.ExceptionHandler;
import nablarch.fw.ExecutionContext;
import nablarch.fw.InboundHandleable;
import nablarch.fw.OutboundHandleable;
import nablarch.fw.Result;
import nablarch.fw.handler.GlobalErrorHandler;
/**
* 事前処理、事後処理を行うInvoker.
*
* @author Koichi Asano
*/
@Published(tag = "architect")
public class PipelineInvoker {
/**
* 処理済ハンドラリストのキー。
*/
public static final String PROCESSED_HANDLERS_KEY = "nablarch_processed_handlers";
/** 実行対象となるハンドラリストを組み立てる{@link PipelineListBuilder} */
private PipelineListBuilder handlerListBuilder;
/**
* 例外処理を行う {@link ExceptionHandler}。
*/
private ExceptionHandler exceptionHandler = new GlobalErrorHandler();
/**
* 実行対象となるハンドラリストを組み立てる{@link PipelineListBuilder} を設定する。
*
* @param handlerListBuilder 実行対象となるハンドラリストを組み立てる{@link PipelineListBuilder}
*/
public void setHandlerListBuilder(
PipelineListBuilder handlerListBuilder) {
this.handlerListBuilder = handlerListBuilder;
}
/**
* 例外処理を行う {@link ExceptionHandler}を設定する。
* @param exceptionHandler 例外処理を行う {@link ExceptionHandler}
*/
public void setExceptionHandler(ExceptionHandler exceptionHandler) {
this.exceptionHandler = exceptionHandler;
}
/**
* 事前処理を実行する。
* @param context ExecutionContext
* @return 処理結果
*/
public Result invokeInbound(ExecutionContext context) {
try {
List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy