IDataFlowComponent

Interface IDataFlowComponent

Namespace: ETLBox
Assembly: ETLBox.dll
Syntax
    public interface IDataFlowComponent : ILoggableTask

Properties

Completion

The completion task of the component. A component is completed when all predecessors (if any) are completed and the current component has completed its buffer.

Declaration
    Task Completion { get; }
Property Value
TypeDescription
Task

ErrorSource

The ErrorSource is the source block used for sending errors into the linked error flow.

Declaration
    ErrorSource ErrorSource { get; set; }
Property Value
TypeDescription
ErrorSource

Exception

If a component encountered an exception or entered a fault state because another component in the data flow faulted, the thrown exception will be stored in this property.

Declaration
    Exception Exception { get; }
Property Value
TypeDescription
Exception

ExecutionEndTime

Declaration
    DateTimeOffset? ExecutionEndTime { get; }
Property Value
TypeDescription
DateTimeOffset?

ExecutionStartTime

Declaration
    DateTimeOffset? ExecutionStartTime { get; }
Property Value
TypeDescription
DateTimeOffset?

IsReadyForProcessing

Indicates if a component was successfully initialized, linked and prepared for execution.

Declaration
    bool IsReadyForProcessing { get; }
Property Value
TypeDescription
bool

LogThreshold

To avoid getting log message for every message, by default only log message are produced when 1000 rows are processed. Set this property to decrease or increase this value.

Declaration
    int? LogThreshold { get; set; }
Property Value
TypeDescription
int?

MaxBufferSize

Each component can have one or more buffers to improve throughput and allow faster processing of data. Set this value to restrict the number of rows that can be stored in the buffer. The default value is -1 (unlimited)

Declaration
    int MaxBufferSize { get; set; }
Property Value
TypeDescription
int

OnCompletion

When a component has completed and processed all rows, the OnCompletion action is executed.

Declaration
    Action OnCompletion { get; set; }
Property Value
TypeDescription
Action

OnProgress

This delegate is invoked each time the progress counter changes

Declaration
    Action<int> OnProgress { get; set; }
Property Value
TypeDescription
Action<int>

Predecessors

All predecessors that are linked to this component.

Declaration
    List<DataFlowComponent> Predecessors { get; }
Property Value
TypeDescription
List<DataFlowComponent>

ProgressCount

The amount of rows the current component has already processed.

Declaration
    int ProgressCount { get; }
Property Value
TypeDescription
int

Successors

All successors that this component is linked to.

Declaration
    List<DataFlowComponent> Successors { get; }
Property Value
TypeDescription
List<DataFlowComponent>

Tag

A tag that can be used to store any object in the component.

Declaration
    object Tag { get; set; }
Property Value
TypeDescription
object

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 be caught and redirected.

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

The target for erroneous rows.

Returns
TypeDescription
IDataFlowSource<ETLBoxError>

The linked component.