Class DefaultStepExecutor
- Namespace
- FlowOrchestrator.Core.Execution
- Assembly
- FlowOrchestrator.Core.dll
Default implementation of IStepExecutor that resolves the matching
IStepHandlerMetadata by type name, evaluates @triggerBody(),
@triggerHeaders(), and @steps() input expressions via the
FlowOrchestrator.Core.Execution.Internal.InputResolutionPipeline + FlowOrchestrator.Core.Execution.Internal.StepExpressionResolutionPipeline,
and delegates execution to the registered handler.
public sealed class DefaultStepExecutor : IStepExecutor
- Inheritance
-
DefaultStepExecutor
- Implements
- Inherited Members
Constructors
DefaultStepExecutor(IEnumerable<IStepHandlerMetadata>, IServiceProvider, IOutputsRepository, IFlowRunStore)
Constructs the executor with the registered step handler metadata, service provider, outputs repository, and run store.
public DefaultStepExecutor(IEnumerable<IStepHandlerMetadata> handlerMetadata, IServiceProvider serviceProvider, IOutputsRepository outputsRepository, IFlowRunStore runStore)
Parameters
handlerMetadataIEnumerable<IStepHandlerMetadata>serviceProviderIServiceProvideroutputsRepositoryIOutputsRepositoryrunStoreIFlowRunStore
Methods
ExecuteAsync(IExecutionContext, IFlowDefinition, IStepInstance)
Resolves inputs (trigger and step-output expressions), saves them to the output store,
then invokes the handler registered for step's type.
Returns Skipped if the step metadata or its handler cannot be found.
public ValueTask<IStepResult> ExecuteAsync(IExecutionContext context, IFlowDefinition flow, IStepInstance step)
Parameters
contextIExecutionContextThe execution context for the current run.
flowIFlowDefinitionThe flow definition that owns this step.
stepIStepInstanceThe step instance with pre-resolved inputs.