package at.gv.egovernment.moa.id.process.api; import at.gv.egovernment.moa.id.auth.modules.TaskExecutionException; import at.gv.egovernment.moa.id.commons.api.IRequest; /** * 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; }