Detailed Description
A FlowElement is placed inside a Pipeline It receives Evidence via a FlowData object It uses this to optionally create ElementData on the FlowData It has a unique dataKey which is used to extract data from the FlowData Any errors in processing are caught in the FlowData's errors object.
Inheritance diagram for fiftyone\pipeline\core\FlowElement:
Public Member Functions | |
| __construct () | |
| A default dummy constructor is needed for there are classes inheriting this class deeper than 1-level of inheritance and calling parent::__construct() in their explicit constructors. | |
| process (FlowData $flowData) | |
| General wrapper function that calls a FlowElement's processInternal method. | |
| getEvidenceKeyFilter () | |
| Function for getting the FlowElement's EvidenceKeyFilter Used by the filterEvidence method. | |
| filterEvidence (FlowData $flowData) | |
| Filter FlowData evidence using the FlowElement's EvidenceKeyFilter. | |
| filterEvidenceKey (string $key) | |
| Filter FlowData evidence using the FlowElement's EvidenceKeyFilter. | |
| onRegistration (Pipeline $pipeline) | |
| Callback called when an engine is added to a pipeline. | |
| processInternal (FlowData $flowData) | |
| Process FlowData - this is process function is usually overridden by specific FlowElements to do their core work. | |
| getProperties () | |
| Get properties Usually overridden by specific FlowElements. | |
| updatePropertyList () | |
| Update a FlowElement's property list This is used by elements that are only aware of their properties at a later stage, such as cloud request based FlowElements or FlowElements that change their properties later based on new datafiles. | |
Data Fields | |
| string | $dataKey |
| array | $properties = [] |
| array | $pipelines = [] |
Constructor & Destructor Documentation
◆ __construct()
| fiftyone\pipeline\core\FlowElement::__construct | ( | ) |
A default dummy constructor is needed for there are classes inheriting this class deeper than 1-level of inheritance and calling parent::__construct() in their explicit constructors.
Unfortunately intermediates do not define their own __construct() so the call propagates up to the base class FlowElement and fails. Intermediates might define their own __construct() at some point, so we do not want to remove parent::__construct() calls, rather add this one as a catch-all.
Member Function Documentation
◆ filterEvidence()
| fiftyone\pipeline\core\FlowElement::filterEvidence | ( | FlowData | $flowData | ) |
Filter FlowData evidence using the FlowElement's EvidenceKeyFilter.
- Returns
- array<string, int|string>
◆ getEvidenceKeyFilter()
| fiftyone\pipeline\core\FlowElement::getEvidenceKeyFilter | ( | ) |
Function for getting the FlowElement's EvidenceKeyFilter Used by the filterEvidence method.
Reimplemented in AstrologyFlowElement, ExampleFlowElementA, ExampleFlowElementB, fiftyone\pipeline\cloudrequestengine\CloudRequestEngine, fiftyone\pipeline\core\JavascriptBuilderElement, and fiftyone\pipeline\core\SequenceElement.
◆ getProperties()
| fiftyone\pipeline\core\FlowElement::getProperties | ( | ) |
Get properties Usually overridden by specific FlowElements.
- Returns
- array<string, array<string, mixed>> Key-value array of properties
◆ onRegistration()
| fiftyone\pipeline\core\FlowElement::onRegistration | ( | Pipeline | $pipeline | ) |
Callback called when an engine is added to a pipeline.
Reimplemented in fiftyone\pipeline\cloudrequestengine\CloudEngine.
◆ process()
| fiftyone\pipeline\core\FlowElement::process | ( | FlowData | $flowData | ) |
General wrapper function that calls a FlowElement's processInternal method.
Reimplemented in fiftyone\pipeline\engines\Engine.
◆ processInternal()
| fiftyone\pipeline\core\FlowElement::processInternal | ( | FlowData | $flowData | ) |
Process FlowData - this is process function is usually overridden by specific FlowElements to do their core work.
Reimplemented in ExampleFlowElementA, ExampleFlowElementB, fiftyone\pipeline\cloudrequestengine\CloudEngine, fiftyone\pipeline\cloudrequestengine\CloudRequestEngine, fiftyone\pipeline\core\JavascriptBuilderElement, fiftyone\pipeline\core\JsonBundlerElement, fiftyone\pipeline\core\SequenceElement, and fiftyone\pipeline\core\SetHeaderElement.
