DataFlowSource<TOutput>
Class DataFlowSource<TOutput>
The base implementation for a source component.
Inheritance
Inherited Members
Namespace: ETLBox.DataFlow
Assembly: ETLBox.dll
Syntax
public abstract class DataFlowSource<TOutput> : DataFlowComponent, IDataFlowSource<TOutput>, IDataFlowSource, IDataFlowComponent, ILoggableTaskType Parameters
| Name | Description |
|---|---|
| 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
| Type | Description |
|---|---|
| ISourceBlock<TOutput> |
Methods
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 virtual IDataFlowSource<TOutput> LinkTo(IDataFlowDestination<TOutput> target)Parameters
| Type | Name | Description |
|---|---|---|
| IDataFlowDestination<TOutput> | target | Transformation or destination that the block is linked to. |
Returns
| Type | Description |
|---|---|
| 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 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 discarded rows.
Declaration
public virtual IDataFlowSource<TOutput> LinkTo(IDataFlowDestination<TOutput> target, Predicate<TOutput> rowsToKeep)Parameters
| Type | Name | Description |
|---|---|---|
| IDataFlowDestination<TOutput> | target | Transformation or destination that the block is linked to. |
| Predicate<TOutput> | rowsToKeep | Only rows that evaluate to true are send to the connected target |
Returns
| Type | Description |
|---|---|
| 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 virtual IDataFlowSource<TOutput> LinkTo(IDataFlowDestination<TOutput> target, Predicate<TOutput> rowsToKeep, Predicate<TOutput> rowsIntoVoid)Parameters
| Type | Name | Description |
|---|---|---|
| IDataFlowDestination<TOutput> | target | Transformation or destination that the block is linked to. |
| Predicate<TOutput> | rowsToKeep | Only rows that evaluate to true are send to the connected target |
| Predicate<TOutput> | rowsIntoVoid | Rows that are evaluate to true will be discarded |
Returns
| Type | Description |
|---|---|
| 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 virtual IDataFlowSource<TConvert> LinkTo<TConvert>(IDataFlowDestination<TOutput> target)Parameters
| Type | Name | Description |
|---|---|---|
| IDataFlowDestination<TOutput> | target | Transformation or destination that the block is linked to. |
Returns
| Type | Description |
|---|---|
| IDataFlowSource<TConvert> | The linked component. |
Type Parameters
| Name | Description |
|---|---|
| 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 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 discarded rows.
Declaration
public virtual IDataFlowSource<TConvert> LinkTo<TConvert>(IDataFlowDestination<TOutput> target, Predicate<TOutput> rowsToKeep)Parameters
| Type | Name | Description |
|---|---|---|
| IDataFlowDestination<TOutput> | target | Transformation or destination that the block is linked to. |
| Predicate<TOutput> | rowsToKeep | Predicate - only rows that evaluate to true are send to the connected target |
Returns
| Type | Description |
|---|---|
| IDataFlowSource<TConvert> | The linked component. |
Type Parameters
| Name | Description |
|---|---|
| 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 virtual IDataFlowSource<TConvert> LinkTo<TConvert>(IDataFlowDestination<TOutput> target, Predicate<TOutput> rowsToKeep, Predicate<TOutput> rowsIntoVoid)Parameters
| Type | Name | Description |
|---|---|---|
| IDataFlowDestination<TOutput> | target | Transformation or destination that the block is linked to. |
| Predicate<TOutput> | rowsToKeep | Only rows that evaluate to true are send to the connected target |
| Predicate<TOutput> | rowsIntoVoid | Rows that are evaluate to true will be discarded |
Returns
| Type | Description |
|---|---|
| IDataFlowSource<TConvert> | The linked component. |
Type Parameters
| Name | Description |
|---|---|
| TConvert | Will convert the output type of the linked component. |