package com.ruoyi.interfaces.workflow.executor;

import com.ruoyi.interfaces.domain.MdModelStep;
import com.ruoyi.interfaces.domain.MdModelStepExecution;
import com.ruoyi.interfaces.workflow.ExecutionContext;

/**
 * 步骤执行器接口
 */
public interface StepExecutor {

    /**
     * 获取支持的步骤类型
     *
     * @return 步骤类型
     */
    MdModelStep.StepType getSupportedStepType();

    /**
     * 执行步骤逻辑
     *
     * @param step    步骤配置
     * @param context 执行上下文
     * @return 步骤执行结果
     */
    MdModelStepExecution execute(MdModelStep step, ExecutionContext context);


}
