51Degrees Pipeline Java  4.1

51Degrees Pipeline for Java

fiftyone.pipeline.core.flowelements.FlowElementBase< TData extends ElementData, TProperty extends ElementPropertyMetaData > Class Template Reference abstract

Detailed Description

Provides a base class from which authors may create new FlowElements.

The process(FlowData) method deals with FlowData#isStopped() and any errors that may be thrown, and calls the abstract processInternal(FlowData) method to do the actual processing.

This class is primarily of use to creators of FlowElement subclasses, end users of Pipelines are unlikely to use this class in its raw form.

Parameters
<TData> - the type of element data that the flow element will write to FlowData
<TProperty> - the type of meta data that the flow element will supply about the properties it populates.

Inheritance diagram for fiftyone.pipeline.core.flowelements.FlowElementBase< TData extends ElementData, TProperty extends ElementPropertyMetaData >:

[legend]

Collaboration diagram for fiftyone.pipeline.core.flowelements.FlowElementBase< TData extends ElementData, TProperty extends ElementPropertyMetaData >:

[legend]

Classes

class  DataFactoryInternal
Default implementation of the DataFactory interface. More...
class  DataFactorySimple
DataFactory implementation which should be used temporarily with a single ElementData instance. More...

Public Member Functions

 FlowElementBase (Logger logger, ElementDataFactory< TData > elementDataFactory)
Construct a new instance of the FlowElement. More...
void  addPipeline (Pipeline pipeline)
List< Pipeline >  getPipelines ()
Get a unmodifiable list of the Pipelines that this element has been added to. More...
abstract String  getElementDataKey ()
abstract EvidenceKeyFilter  getEvidenceKeyFilter ()
abstract List< TProperty >  getProperties ()
TProperty  getProperty (String name)
TypedKey< TData >  getTypedDataKey ()
void  process (FlowData data) throws Exception
DataFactory< TData >  getDataFactory ()
boolean  isConcurrent ()
boolean  isClosed ()
void  close () throws Exception

Public Member Functions inherited from fiftyone.pipeline.core.flowelements.FlowElement< TData, TProperty >

void  process (FlowData data) throws Exception
Carry out whatever operations this element is designed to do using the FlowData passed. More...
void  addPipeline (Pipeline pipeline)
Called when this element is added to a pipeline. More...
EvidenceKeyFilter  getEvidenceKeyFilter ()
Get a filter that will only include the evidence keys that this element can make use of. More...
String  getElementDataKey ()
Get the string name of the key used to access the data populated by this element in the FlowData. More...
TypedKey< TData >  getTypedDataKey ()
Get the typed data key used for retrieving strongly typed element data. More...
List< TProperty >  getProperties ()
Get details of the properties that this element can populate. More...
TProperty  getProperty (String name)
Get a property from the properties that this element can populate using its name. More...
boolean  isConcurrent ()
if true, requires that the Pipeline guards against concurrent access to FlowData structures More...
boolean  isClosed ()
Indicates whether the element has been closed using the close() method, either explicitly or as a result of a 'try with resource'. More...
DataFactory< TData >  getDataFactory ()
Get the factory used to create the element data instances that are populated by this flow element. More...

Protected Member Functions

abstract void  processInternal (FlowData data) throws Exception
Abstract method to be overridden by a FlowElement author. More...
abstract void  managedResourcesCleanup ()
Cleanup any managed resources that the element is using.
abstract void  unmanagedResourcesCleanup ()
Cleanup any unmanaged resources that the element is using.
void  close (boolean closing)
void  finalize () throws Throwable

Protected Attributes

final Logger  logger
TypedKey< TData >  typedKey = null

Constructor & Destructor Documentation

Member Function Documentation

◆ processInternal()

abstract void fiftyone.pipeline.core.flowelements.FlowElementBase< TData extends ElementData, TProperty extends ElementPropertyMetaData >.processInternal ( FlowData   data ) throws Exception
abstract protected

Abstract method to be overridden by a FlowElement author.

This is the where the main processing happens, and is called by the process(FlowData) method of the base class.

Parameters
data - containing evidence to process
Exceptions
Exception - to be caught by process(FlowData)