Interface ITransformStage<TSource>
- Namespace
- Wolfgang.Etl.Abstractions
- Assembly
- Wolfgang.Etl.Abstractions.dll
Represents a mid-chain stage of a fluent ETL pipeline whose current item type is
TSource. Call one of the Transform overloads to append another
transformer, or one of the Load overloads to terminate the chain.
public interface ITransformStage<TSource> where TSource : notnull
Type Parameters
TSourceThe current item type flowing through the pipeline.
Methods
Load(ILoadAsync<TSource>)
Terminates the chain with a loader that supports neither progress nor cancellation. The pipeline's CancellationToken will not be forwarded into this stage.
IPipeline Load(ILoadAsync<TSource> loader)
Parameters
loaderILoadAsync<TSource>The loader that consumes the pipeline output.
Returns
Exceptions
- ArgumentNullException
loaderis null.
Load(ILoadWithCancellationAsync<TSource>)
Terminates the chain with a loader that supports cancellation but does not report progress.
IPipeline Load(ILoadWithCancellationAsync<TSource> loader)
Parameters
loaderILoadWithCancellationAsync<TSource>The loader that consumes the pipeline output.
Returns
Exceptions
- ArgumentNullException
loaderis null.
Load<TProgress>(ILoadWithProgressAndCancellationAsync<TSource, TProgress>)
Terminates the chain with a progress-reporting loader that also supports cancellation.
IPipelineWithLoadProgress<TProgress> Load<TProgress>(ILoadWithProgressAndCancellationAsync<TSource, TProgress> loader) where TProgress : notnull
Parameters
loaderILoadWithProgressAndCancellationAsync<TSource, TProgress>The loader that consumes the pipeline output.
Returns
- IPipelineWithLoadProgress<TProgress>
A runnable IPipelineWithLoadProgress<TProgress>.
Type Parameters
TProgressThe type of progress report emitted by the loader.
Exceptions
- ArgumentNullException
loaderis null.
Load<TProgress>(ILoadWithProgressAsync<TSource, TProgress>)
Terminates the chain with a progress-reporting loader that does not support cancellation. The pipeline's CancellationToken will not be forwarded into this stage.
IPipelineWithLoadProgress<TProgress> Load<TProgress>(ILoadWithProgressAsync<TSource, TProgress> loader) where TProgress : notnull
Parameters
loaderILoadWithProgressAsync<TSource, TProgress>The loader that consumes the pipeline output.
Returns
- IPipelineWithLoadProgress<TProgress>
A runnable IPipelineWithLoadProgress<TProgress>.
Type Parameters
TProgressThe type of progress report emitted by the loader.
Exceptions
- ArgumentNullException
loaderis null.
Transform<TDestination>(ITransformAsync<TSource, TDestination>)
Appends a transformer that supports neither progress nor cancellation. The pipeline's CancellationToken will not be forwarded into this stage.
ITransformStage<TDestination> Transform<TDestination>(ITransformAsync<TSource, TDestination> transformer) where TDestination : notnull
Parameters
transformerITransformAsync<TSource, TDestination>The transformer to append.
Returns
- ITransformStage<TDestination>
The next stage in the chain, producing
TDestination.
Type Parameters
TDestinationThe type of item produced by the transformer.
Exceptions
- ArgumentNullException
transformeris null.
Transform<TDestination>(ITransformWithCancellationAsync<TSource, TDestination>)
Appends a transformer that supports cancellation but does not report progress.
ITransformStage<TDestination> Transform<TDestination>(ITransformWithCancellationAsync<TSource, TDestination> transformer) where TDestination : notnull
Parameters
transformerITransformWithCancellationAsync<TSource, TDestination>The transformer to append.
Returns
- ITransformStage<TDestination>
The next stage in the chain, producing
TDestination.
Type Parameters
TDestinationThe type of item produced by the transformer.
Exceptions
- ArgumentNullException
transformeris null.
Transform<TDestination, TProgress>(ITransformWithProgressAndCancellationAsync<TSource, TDestination, TProgress>)
Appends a progress-reporting transformer that also supports cancellation.
ITransformStageWithProgress<TDestination, TProgress> Transform<TDestination, TProgress>(ITransformWithProgressAndCancellationAsync<TSource, TDestination, TProgress> transformer) where TDestination : notnull where TProgress : notnull
Parameters
transformerITransformWithProgressAndCancellationAsync<TSource, TDestination, TProgress>The transformer to append.
Returns
- ITransformStageWithProgress<TDestination, TProgress>
The next stage in the chain, producing
TDestination.
Type Parameters
TDestinationThe type of item produced by the transformer.
TProgressThe type of progress report emitted by the transformer.
Exceptions
- ArgumentNullException
transformeris null.
Transform<TDestination, TProgress>(ITransformWithProgressAsync<TSource, TDestination, TProgress>)
Appends a progress-reporting transformer that does not support cancellation. The pipeline's CancellationToken will not be forwarded into this stage.
ITransformStageWithProgress<TDestination, TProgress> Transform<TDestination, TProgress>(ITransformWithProgressAsync<TSource, TDestination, TProgress> transformer) where TDestination : notnull where TProgress : notnull
Parameters
transformerITransformWithProgressAsync<TSource, TDestination, TProgress>The transformer to append.
Returns
- ITransformStageWithProgress<TDestination, TProgress>
The next stage in the chain, producing
TDestination.
Type Parameters
TDestinationThe type of item produced by the transformer.
TProgressThe type of progress report emitted by the transformer.
Exceptions
- ArgumentNullException
transformeris null.