51Degrees Pipeline .NET  4.1

51Degrees Pipeline for .NET

FiftyOne.Pipeline.Engines.FlowElements.OnPremiseAspectEngineBase< T, TMeta > Class Template Reference abstract

Detailed Description

Base class for 51Degrees on-premise aspect engines.

Template Parameters
T - The type of data that the engine will return. Must implement IAspectData.
Template Parameters
TMeta - The type of meta data that the flow element will supply about the properties it populates.
Type Constraints
T :IAspectData 
TMeta :IAspectPropertyMetaData 

Inheritance diagram for FiftyOne.Pipeline.Engines.FlowElements.OnPremiseAspectEngineBase< T, TMeta >:

[legend]

Collaboration diagram for FiftyOne.Pipeline.Engines.FlowElements.OnPremiseAspectEngineBase< T, TMeta >:

[legend]

Public Member Functions

 OnPremiseAspectEngineBase (ILogger< AspectEngineBase< T, TMeta >> logger, Func< IPipeline, FlowElementBase< T, TMeta >, T > aspectDataFactory, string tempDataFilePath)
Constructor More...
IAspectEngineDataFile  GetDataFileMetaData (string dataFileIdentifier=null)
Get the details of a specific data file used by this engine. More...
abstract void  RefreshData (string dataFileIdentifier)
Causes the engine to reload data from the file at IAspectEngineDataFile.DataFilePath for the data file matching the given identifier. More...
abstract void  RefreshData (string dataFileIdentifier, Stream data)
Causes the engine to reload data from the supplied Stream for the file matching the given identifier. More...
virtual void  AddDataFile (IAspectEngineDataFile dataFile)
Add the specified data file to the engine. More...

Public Member Functions inherited from FiftyOne.Pipeline.Engines.FlowElements.AspectEngineBase< T, TMeta >

 AspectEngineBase (ILogger< AspectEngineBase< T, TMeta >> logger, Func< IPipeline, FlowElementBase< T, TMeta >, T > aspectDataFactory)
Constructor More...
virtual void  SetCache (IFlowCache cache)
Set the results cache. More...
virtual void  SetLazyLoading (LazyLoadingConfiguration configuration)
Configure lazy loading of results. More...

Public Member Functions inherited from FiftyOne.Pipeline.Core.FlowElements.FlowElementBase< T, TMeta >

 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...

Public Attributes

IReadOnlyList< IAspectEngineDataFile >  DataFiles => _dataFiles
Details of the data files used by this engine. More...

Protected Member Functions

override void  ManagedResourcesCleanup ()
Called when this instance is being disposed More...

Protected Member Functions inherited from FiftyOne.Pipeline.Engines.FlowElements.AspectEngineBase< T, TMeta >

abstract void  ProcessEngine (IFlowData data, T aspectData)
Extending classes must implement this method. More...
sealed override void  ProcessInternal (IFlowData data)
Implementation of method from the base class FlowElementBase<T, TMeta>. More...

Protected Member Functions inherited from FiftyOne.Pipeline.Core.FlowElements.FlowElementBase< T, TMeta >

virtual T  CreateElementData (IPipeline pipeline)
Method used to create element data instances that are populated by this flow element More...
abstract void  UnmanagedResourcesCleanup ()
Cleanup any unmanaged resources that the element is using More...
virtual void  Dispose (bool disposing)
Dispose of any resources. More...

Properties

string  TempDataDirPath [get, protected set]
Directory to use as a temporary file location when required. More...

Properties inherited from FiftyOne.Pipeline.Engines.FlowElements.AspectEngineBase< T, TMeta >

abstract string  DataSourceTier [get]
The tier to which the current data source belongs. More...
LazyLoadingConfiguration  LazyLoadingConfiguration [get]
The lazy loading configuration to use. More...

Properties inherited from FiftyOne.Pipeline.Core.FlowElements.FlowElementBase< T, TMeta >

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...

Properties inherited from FiftyOne.Pipeline.Engines.FlowElements.IOnPremiseAspectEngine

IReadOnlyList< IAspectEngineDataFile >  DataFiles [get]
Details of the data files used by this engine. More...
string  TempDataDirPath [get]
The complete file path to the directory that is used by the engine to store temporary copies of any data files that it uses. More...

Constructor & Destructor Documentation

◆ OnPremiseAspectEngineBase()

FiftyOne.Pipeline.Engines.FlowElements.OnPremiseAspectEngineBase< T, TMeta >.OnPremiseAspectEngineBase ( ILogger< AspectEngineBase< T, TMeta >>   logger,
Func< IPipeline, FlowElementBase< T, TMeta >, T >   aspectDataFactory,
string   tempDataFilePath  
)

Constructor

Parameters
logger - The logger to use
aspectDataFactory - The factory function to use when the engine creates an AspectDataBase instance.
tempDataFilePath - The directory to use when storing temporary copies of the data file(s) used by this engine.

Member Function Documentation

◆ GetDataFileMetaData()

IAspectEngineDataFile FiftyOne.Pipeline.Engines.FlowElements.OnPremiseAspectEngineBase< T, TMeta >.GetDataFileMetaData ( string   dataFileIdentifier = null )

Get the details of a specific data file used by this engine.

Parameters
dataFileIdentifier - The identifier of the data file to get meta data for. This parameter is ignored if the engine only has one data file.
Returns
The meta data associated with the specified data file. Returns null if the engine has no associated data files.

Implements FiftyOne.Pipeline.Engines.FlowElements.IOnPremiseAspectEngine.

◆ RefreshData() [1/2]

abstract void FiftyOne.Pipeline.Engines.FlowElements.OnPremiseAspectEngineBase< T, TMeta >.RefreshData ( string   dataFileIdentifier )
pure virtual

Causes the engine to reload data from the file at IAspectEngineDataFile.DataFilePath for the data file matching the given identifier.

Implementors should consider thread-safety to ensure that parallel calls to 'Process' will resolve as normal.

Parameters
dataFileIdentifier - The identifier of the data file to update. Must match the value in IAspectEngineDataFile.Identifier. If the engine only has a single data file, this parameter is ignored. If null is passed then all data files should be refreshed.

Implements FiftyOne.Pipeline.Engines.FlowElements.IOnPremiseAspectEngine.

◆ RefreshData() [2/2]

abstract void FiftyOne.Pipeline.Engines.FlowElements.OnPremiseAspectEngineBase< T, TMeta >.RefreshData ( string   dataFileIdentifier,
Stream   data  
)
pure virtual

Causes the engine to reload data from the supplied Stream for the file matching the given identifier.

Implementors should consider thread-safety to ensure that parallel calls to 'Process' will resolve as normal.

Parameters
dataFileIdentifier - The identifier of the data file to update. Must match the value in IAspectEngineDataFile.Identifier. If the engine only has a single data file, this parameter is ignored.
data - A Stream containing the data to use when refreshing.

Implements FiftyOne.Pipeline.Engines.FlowElements.IOnPremiseAspectEngine.

Member Data Documentation

◆ DataFiles

dataFileIdentifier - The identifier of the data file to update. Must match the value in IAspectEngineDataFile.Identifier. If the engine only has a single data file, this parameter is ignored.
data - A Stream containing the data to use when refreshing.

Implements FiftyOne.Pipeline.Engines.FlowElements.IOnPremiseAspectEngine.

Member Data Documentation

IReadOnlyList<FiftyOne.Pipeline.Engines.FlowElements.IOnPremiseAspectEngine.

◆ RefreshData() [2/2]

abstract void FiftyOne.Pipeline.Engines.FlowElements.OnPremiseAspectEngineBase< T, TMeta >.RefreshData ( string   dataFileIdentifier,
Stream   data  
)
pure virtual

Causes the engine to reload data from the supplied Stream for the file matching the given identifier.

Implementors should consider thread-safety to ensure that parallel calls to 'Process' will resolve as normal.

Parameters
IReadOnlyList<IAspectEngineDataFile> FiftyOne.Pipeline.Engines.FlowElements.OnPremiseAspectEngineBase< T, TMeta >.DataFiles => _dataFiles

Details of the data files used by this engine.

Property Documentation