◆ FlowElementBase() [1/2]
FiftyOne.Pipeline.Core.FlowElements.FlowElementBase< T, TMeta >.FlowElementBase | ( | ILogger< FlowElementBase< T, TMeta >> | logger | ) |
Constructor
- Parameters
-
- logger - Used for logging.
\r\n
Abstract base class for Flow Elements.
See the Specification
It is not a requirement for all FlowElements to extend FlowElementBase<T, TMeta> but it is recommended. They must implement IFlowElement though.
T | : | IElementData | |
TMeta | : | IElementPropertyMetaData |
FlowElementBase (ILogger< FlowElementBase< T, TMeta >> logger)
Constructor More...
| |
FlowElementBase (ILogger< FlowElementBase< T, TMeta >> logger, Func< IPipeline, FlowElementBase< T, TMeta >, T > elementDataFactory)
Constructor More...
| |
virtual void | Process (IFlowData data)
Process the given IFlowData with this FlowElement. More...
|
virtual void | AddPipeline (IPipeline pipeline)
Called when this element is added to a pipeline. More...
|
void | Dispose ()
Dispose More...
|
abstract void | ProcessInternal (IFlowData data)
Abstract method called by Process(IFlowData). More...
|
virtual T | CreateElementData (IPipeline pipeline)
Method used to create element data instances that are populated by this flow element More...
|
abstract void | ManagedResourcesCleanup ()
Cleanup any managed resources that the element is using More...
|
abstract void | UnmanagedResourcesCleanup ()
Cleanup any unmanaged resources that the element is using More...
|
virtual void | Dispose (bool disposing)
Dispose of any resources. More...
|
ILogger< FlowElementBase< T, TMeta > > | Logger [get]
The logger for this instance More...
|
IReadOnlyList< IPipeline > | Pipelines [get]
Get a read only list of the pipelines that this element has been added to. More...
|
abstract string | ElementDataKey [get]
The string name of the key used to access the data populated by this element in the IFlowData. More...
|
abstract IEvidenceKeyFilter | EvidenceKeyFilter [get]
A list of all the evidence keys that this Flow Element can make use of. More...
|
abstract IList< TMeta > | Properties [get]
Details of the properties that this engine can populate More...
|
virtual bool | Asynchronous [get]
True if the element can be run totally asynchronously, false otherwise. More...
|
virtual bool | IsConcurrent [get]
True if the element starts multiple threads. More...
|
bool | IsDisposed [get]
True if the element has been disposed More...
|
ITypedKey< T > | ElementDataKeyTyped [get]
Get the key used to access the data populated by this element in the IFlowData. More...
|
FiftyOne.Pipeline.Core.FlowElements.FlowElementBase< T, TMeta >.FlowElementBase | ( | ILogger< FlowElementBase< T, TMeta >> | logger | ) |
Constructor
FiftyOne.Pipeline.Core.FlowElements.FlowElementBase< T, TMeta >.FlowElementBase | ( | ILogger< FlowElementBase< T, TMeta >> | logger, |
Func< IPipeline, FlowElementBase< T, TMeta >, T > | elementDataFactory | ||
) |
Constructor
virtual void FiftyOne.Pipeline.Core.FlowElements.FlowElementBase< T, TMeta >.AddPipeline | ( | IPipeline | pipeline | ) |
Called when this element is added to a pipeline.
Reimplemented in FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBase.
virtual T FiftyOne.Pipeline.Core.FlowElements.FlowElementBase< T, TMeta >.CreateElementData | ( | IPipeline | pipeline | ) |
Method used to create element data instances that are populated by this flow element
virtual void FiftyOne.Pipeline.Core.FlowElements.FlowElementBase< T, TMeta >.Dispose | ( | bool | disposing | ) |
Dispose of any resources.
void FiftyOne.Pipeline.Core.FlowElements.FlowElementBase< T, TMeta >.Dispose | ( | ) |
Dispose
abstract void FiftyOne.Pipeline.Core.FlowElements.FlowElementBase< T, TMeta >.ManagedResourcesCleanup | ( | ) |
Cleanup any managed resources that the element is using
Implemented in FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBase, FiftyOne.Pipeline.Engines.FlowElements.AspectEngineBase< T, TMeta >, FiftyOne.Pipeline.JavaScriptBuilder.FlowElement.JavaScriptBuilderElement, FiftyOne.Pipeline.JsonBuilder.FlowElement.JsonBuilderElement, FiftyOne.Pipeline.Core.FlowElements.ParallelElements, FiftyOne.Pipeline.Engines.FlowElements.OnPremiseAspectEngineBase< T, TMeta >, Examples.ClientSideEvidence.Shared.SimpleClientSideElement, FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.SetHeadersElement, Examples.CustomFlowElement.FlowElements.SimpleFlowElement, FiftyOne.Pipeline.Math.MathElement, FiftyOne.Pipeline.IpSplitter.IpSplitterElement, and FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.SequenceElement.
virtual void FiftyOne.Pipeline.Core.FlowElements.FlowElementBase< T, TMeta >.Process | ( | IFlowData | data | ) |
Process the given IFlowData with this FlowElement.
abstract void FiftyOne.Pipeline.Core.FlowElements.FlowElementBase< T, TMeta >.ProcessInternal | ( | IFlowData | data | ) |
Abstract method called by Process(IFlowData).
Extending classes should perform their processing in this method.
Implemented in FiftyOne.Pipeline.Engines.FlowElements.AspectEngineBase< T, TMeta >.
abstract void FiftyOne.Pipeline.Core.FlowElements.FlowElementBase< T, TMeta >.UnmanagedResourcesCleanup | ( | ) |
Cleanup any unmanaged resources that the element is using
Implemented in FiftyOne.Pipeline.JavaScriptBuilder.FlowElement.JavaScriptBuilderElement, FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBase, FiftyOne.Pipeline.JsonBuilder.FlowElement.JsonBuilderElement, FiftyOne.Pipeline.Core.FlowElements.ParallelElements, Examples.ClientSideEvidence.Shared.SimpleClientSideElement, FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.SequenceElement, FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.SetHeadersElement, Examples.CustomFlowElement.FlowElements.SimpleFlowElement, FiftyOne.Pipeline.Math.MathElement, and FiftyOne.Pipeline.IpSplitter.IpSplitterElement.
virtual bool FiftyOne.Pipeline.Core.FlowElements.FlowElementBase< T, TMeta >.Asynchronous |
True if the element can be run totally asynchronously, false otherwise.
This should only return true if the FlowElement does not modify the IFlowData or it's values are lazily loaded. Otherwise the process method may return before the element has completed processing.
abstract string FiftyOne.Pipeline.Core.FlowElements.FlowElementBase< T, TMeta >.ElementDataKey |
The string name of the key used to access the data populated by this element in the IFlowData.
ITypedKey<T> FiftyOne.Pipeline.Core.FlowElements.FlowElementBase< T, TMeta >.ElementDataKeyTyped |
Get the key used to access the data populated by this element in the IFlowData.
abstract IEvidenceKeyFilter FiftyOne.Pipeline.Core.FlowElements.FlowElementBase< T, TMeta >.EvidenceKeyFilter |
A list of all the evidence keys that this Flow Element can make use of.
virtual bool FiftyOne.Pipeline.Core.FlowElements.FlowElementBase< T, TMeta >.IsConcurrent |
True if the element starts multiple threads.
False otherwise.
bool FiftyOne.Pipeline.Core.FlowElements.FlowElementBase< T, TMeta >.IsDisposed |
True if the element has been disposed
ILogger<FlowElementBase<T, TMeta> > FiftyOne.Pipeline.Core.FlowElements.FlowElementBase< T, TMeta >.Logger |
The logger for this instance
IReadOnlyList<IPipeline> FiftyOne.Pipeline.Core.FlowElements.FlowElementBase< T, TMeta >.Pipelines |
Get a read only list of the pipelines that this element has been added to.
abstract IList<TMeta> FiftyOne.Pipeline.Core.FlowElements.FlowElementBase< T, TMeta >.Properties |
Details of the properties that this engine can populate