Class DataFlowSource<TOutput>

The base implementation for a source component.

Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: ETLBox.DataFlow
Assembly: ETLBox.dll
Syntax
    public abstract class DataFlowSource<TOutput> : DataFlowComponent, ILoggableTask, IDataFlowLogging, IDataFlowSource<TOutput>, IDataFlowSource, IDataFlowComponent
Type Parameters
NameDescription
TOutput

Type of outgoing data

Properties

SourceBlock

SourceBlock from the underlying TPL.Dataflow which is used as output buffer for the component.

Declaration
    public abstract ISourceBlock<TOutput> SourceBlock { get; }
Property Value
TypeDescription
System.Threading.Tasks.Dataflow.ISourceBlock<TOutput>

Methods

LinkErrorTo(IDataFlowDestination<ETLBoxError>)

If an error occurs in the component, by default the component will throw an exception and stop execution. If you use the error linking, any erroneous records will catched and redirected.

Declaration
    public IDataFlowSource<ETLBoxError> LinkErrorTo(IDataFlowDestination<ETLBoxError> target)
Parameters
TypeNameDescription
IDataFlowDestination<ETLBoxError>target

The target for erroneous rows.

Returns
TypeDescription
IDataFlowSource<ETLBoxError>

The linked component.

LinkTo(IDataFlowDestination<TOutput>)

Links the current block to another transformation or destination. Every component should be linked to only one component without predicates If you want to link multiple targets, either use predicates or a Multicast

Declaration
    public IDataFlowSource<TOutput> LinkTo(IDataFlowDestination<TOutput> target)
Parameters
TypeNameDescription
IDataFlowDestination<TOutput>target

Transformation or destination that the block is linked to.

Returns
TypeDescription
IDataFlowSource<TOutput>

The linked component.

LinkTo(IDataFlowDestination<TOutput>, Predicate<TOutput>)

Links the current block to another transformation or destination with a predicate. Every component can be linked to one or more component. If you link multiple components, provide a System.Predicate<T> that describe which row is send to which target. Make sure that all rows will be send to a target - use the VoidDestination if you want to discared rows.

Declaration
    public IDataFlowSource<TOutput> LinkTo(IDataFlowDestination<TOutput> target, Predicate<TOutput> rowsToKeep)
Parameters
TypeNameDescription
IDataFlowDestination<TOutput>target

Transformation or destination that the block is linked to.

System.Predicate<TOutput>rowsToKeep
Returns
TypeDescription
IDataFlowSource<TOutput>

The linked component.

LinkTo(IDataFlowDestination<TOutput>, Predicate<TOutput>, Predicate<TOutput>)

Links the current block to another transformation or destination with a predicate for rows that you want to keep and a second predicate for rows you want to discard.

Declaration
    public IDataFlowSource<TOutput> LinkTo(IDataFlowDestination<TOutput> target, Predicate<TOutput> rowsToKeep, Predicate<TOutput> rowsIntoVoid)
Parameters
TypeNameDescription
IDataFlowDestination<TOutput>target

Transformation or destination that the block is linked to.

System.Predicate<TOutput>rowsToKeep
System.Predicate<TOutput>rowsIntoVoid
Returns
TypeDescription
IDataFlowSource<TOutput>

The linked component.

LinkTo<TConvert>(IDataFlowDestination<TOutput>)

Links the current block to another transformation or destination. Every component should be linked to only one component without predicates If you want to link multiple targets, either use predicates or a Multicast

Declaration
    public IDataFlowSource<TConvert> LinkTo<TConvert>(IDataFlowDestination<TOutput> target)
Parameters
TypeNameDescription
IDataFlowDestination<TOutput>target

Transformation or destination that the block is linked to.

Returns
TypeDescription
IDataFlowSource<TConvert>

The linked component.

Type Parameters
NameDescription
TConvert

Will convert the output type of the linked component.

LinkTo<TConvert>(IDataFlowDestination<TOutput>, Predicate<TOutput>)

Links the current block to another transformation or destination with a predicate. Every component can be linked to one or more component. If you link multiple components, provide a System.Predicate<T> that describe which row is send to which target. Make sure that all rows will be send to a target - use the VoidDestination if you want to discared rows.

Declaration
    public IDataFlowSource<TConvert> LinkTo<TConvert>(IDataFlowDestination<TOutput> target, Predicate<TOutput> rowsToKeep)
Parameters
TypeNameDescription
IDataFlowDestination<TOutput>target

Transformation or destination that the block is linked to.

System.Predicate<TOutput>rowsToKeep
Returns
TypeDescription
IDataFlowSource<TConvert>

The linked component.

Type Parameters
NameDescription
TConvert

Will convert the output type of the linked component.

LinkTo<TConvert>(IDataFlowDestination<TOutput>, Predicate<TOutput>, Predicate<TOutput>)

Links the current block to another transformation or destination with a predicate for rows that you want to keep and a second predicate for rows you want to discard.

Declaration
    public IDataFlowSource<TConvert> LinkTo<TConvert>(IDataFlowDestination<TOutput> target, Predicate<TOutput> rowsToKeep, Predicate<TOutput> rowsIntoVoid)
Parameters
TypeNameDescription
IDataFlowDestination<TOutput>target

Transformation or destination that the block is linked to.

System.Predicate<TOutput>rowsToKeep
System.Predicate<TOutput>rowsIntoVoid
Returns
TypeDescription
IDataFlowSource<TConvert>

The linked component.

Type Parameters
NameDescription
TConvert

Will convert the output type of the linked component.

Implements