51Degrees Pipeline .NET  4.1

51Degrees Pipeline for .NET

FiftyOne.Pipeline.Core.FlowElements.Pipeline Class Reference

Detailed Description

A pipeline is used to create IFlowData instances which then automatically use the pipeline when their Process method is called.

Inheritance diagram for FiftyOne.Pipeline.Core.FlowElements.Pipeline:

[legend]

Collaboration diagram for FiftyOne.Pipeline.Core.FlowElements.Pipeline:

[legend]

Public Member Functions

IFlowData  CreateFlowData ()
Create a new IFlowData instance that will use this pipeline when processing. More...
void  Process (IFlowData data)
Process the given IFlowData using the IFlowElements in the pipeline. More...
TElement  GetElement< TElement > ()
Get the specified element from the pipeline. More...
IElementPropertyMetaData  GetMetaDataForProperty (string propertyName)
Get the meta data for the specified property name. More...
void  Dispose ()
Dispose More...

Protected Member Functions

virtual void  Dispose (bool disposing)
Dispose of any resources. More...

Properties

IEvidenceKeyFilter  EvidenceKeyFilter [get]
Get a filter that will only include the evidence keys that can be used by at least one IFlowElement within this pipeline. More...
bool  IsConcurrent [get]
True if multiple IFlowElement instances will run concurrently within this pipeline. More...
bool  IsDisposed [get]
True if the pipeline has been disposed More...
IReadOnlyList< IFlowElement >  FlowElements [get]
Get a read only list of the flow elements that are part of this pipeline. More...
IReadOnlyDictionary< string, IReadOnlyDictionary< string, IElementPropertyMetaData > >  ElementAvailableProperties [get]
Get the dictionary of available properties for an IFlowElement.ElementDataKey. More...

Properties inherited from FiftyOne.Pipeline.Core.FlowElements.IPipeline

IEvidenceKeyFilter  EvidenceKeyFilter [get]
Get a filter that will only include the evidence keys that can be used by at least one IFlowElement within this pipeline. More...
bool  IsConcurrent [get]
True if any of the IFlowElements in this pipeline will create multiple threads and execute in parallel. More...
bool  IsDisposed [get]
True if the pipeline has been disposed More...
IReadOnlyList< IFlowElement >  FlowElements [get]
Get a read only list of the flow elements that are part of this pipeline. More...
IReadOnlyDictionary< string, IReadOnlyDictionary< string, IElementPropertyMetaData > >  ElementAvailableProperties [get]
Get the dictionary of available properties for an IFlowElement.ElementDataKey. More...

Member Function Documentation

◆ Dispose() [1/2]

virtual void FiftyOne.Pipeline.Core.FlowElements.Pipeline.Dispose ( bool   disposing )
protected virtual

Dispose of any resources.

Parameters
disposing - True if Dispose is being called 'correctly' from the Dispose method. False if Dispose is being called by the finalizer.

◆ Dispose() [2/2]

void FiftyOne.Pipeline.Core.FlowElements.Pipeline.Dispose ( )

Dispose

◆ GetElement< TElement >()

TElement FiftyOne.Pipeline.Core.FlowElements.Pipeline.GetElement< TElement > ( )

Get the specified element from the pipeline.

If the pipeline contains multiple elements of the requested type, this method will return null.

Template Parameters
TElement - The type of the IFlowElement to get
Returns
An instance of the specified IFlowElement if the pipeline contains one. Null is returned if there is no such instance or there are multiple instances of that type.

Implements FiftyOne.Pipeline.Core.FlowElements.IPipeline.

Type Constraints
TElement :class 
TElement :IFlowElement 

◆ GetMetaDataForProperty()

IElementPropertyMetaData FiftyOne.Pipeline.Core.FlowElements.Pipeline.GetMetaDataForProperty ( string   propertyName )

Get the meta data for the specified property name.

If there are no properties with that name or multiple properties on different elements then an exception will be thrown.

Parameters
propertyName - The property name to find the meta data for
Returns
The meta data associated with the specified property name
Exceptions
PipelineDataException - Thrown if the property name is associated with zero or multiple elements.

Implements FiftyOne.Pipeline.Core.FlowElements.IPipelineInternal.

Property Documentation

◆ ElementAvailableProperties

IReadOnlyDictionary<string, IReadOnlyDictionary<string, IElementPropertyMetaData> > FiftyOne.Pipeline.Core.FlowElements.Pipeline.ElementAvailableProperties
get

Get the dictionary of available properties for an IFlowElement.ElementDataKey.

The dictionary returned contains the IElementPropertyMetaDatas keyed on the name field.

◆ EvidenceKeyFilter

IEvidenceKeyFilter FiftyOne.Pipeline.Core.FlowElements.Pipeline.EvidenceKeyFilter
get

Get a filter that will only include the evidence keys that can be used by at least one IFlowElement within this pipeline.

◆ FlowElements

IReadOnlyList<IFlowElement> FiftyOne.Pipeline.Core.FlowElements.Pipeline.FlowElements
get

Get a read only list of the flow elements that are part of this pipeline.

◆ IsConcurrent

bool FiftyOne.Pipeline.Core.FlowElements.Pipeline.IsConcurrent
get

True if multiple IFlowElement instances will run concurrently within this pipeline.

False otherwise.

◆ IsDisposed

bool FiftyOne.Pipeline.Core.FlowElements.Pipeline.IsDisposed
get

True if the pipeline has been disposed