/******************************************************************************* *******************************************************************************/ package at.gv.egiz.eaaf.core.api.idp.process; import at.gv.egiz.eaaf.core.api.IRequest; import at.gv.egiz.eaaf.core.exceptions.TaskExecutionException; /** * Represents a single task to be performed upon process execution. * * @author tknall * */ public interface Task { /** * Executes this task. * @param pendingReq * Provides the current processed protocol request * @param executionContext * Provides execution related information. * @return The pending-request object, because Process-management works recursive * @throws Exception An exception upon task execution. */ IRequest execute(IRequest pendingReq, ExecutionContext executionContext) throws TaskExecutionException; }