Package org.apache.nifi.flowfile
Interface FlowFile
- All Superinterfaces:
Comparable<FlowFile>
A flow file is a logical notion of an item in a flow with its associated attributes and identity which can be used as a reference for its actual content.
All FlowFile implementations must be Immutable - Thread safe.-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptiongetAttribute
(String key) Obtains the attribute value for the given keylong
long
getId()
long
long
Returns a 64-bit integer that indicates the order in which the FlowFile was added to the flow with respect to other FlowFiles that have the same last lineage start date.long
Returns a 64-bit integer that indicates the order in which the FlowFile was added to the FlowFile queue with respect to other FlowFiles that have the same last queue date.long
getSize()
boolean
Methods inherited from interface java.lang.Comparable
compareTo
-
Method Details
-
getId
long getId()- Returns:
- the unique identifier for this flow file which is guaranteed
to be unique within a single running instance of nifi. This identifier
should not be used for true universal unique type needs. For that consider
using the attribute found in the flow file's attribute map keyed by
invalid reference
CoreAttributes.UUID
-
getEntryDate
long getEntryDate()- Returns:
- the date at which the flow file entered the flow
-
getLineageStartDate
long getLineageStartDate()- Returns:
- the date at which the origin of this FlowFile entered the flow.
For example, if FlowFile Z were derived from FlowFile Y and FlowFile Y
was derived from FlowFile X, this date would be the entryDate (see
getEntryDate()
of FlowFile X.
-
getLineageStartIndex
long getLineageStartIndex()Returns a 64-bit integer that indicates the order in which the FlowFile was added to the flow with respect to other FlowFiles that have the same last lineage start date. I.e., if two FlowFiles return the same value forgetLineageStartDate()
, the order in which those FlowFiles were added to the flow can be determined by looking at the result of this method. However, no guarantee is made by this method about the ordering of FlowFiles that have different values for thegetLineageStartDate()
method.- Returns:
- the index that can be used to compare two FlowFiles with the same lineage start date to understand the order in which the two FlowFiles were enqueued.
-
getLastQueueDate
Long getLastQueueDate()- Returns:
- the time at which the FlowFile was most recently added to a
FlowFile queue, or
null
if the FlowFile has never been enqueued. This value will always be populated before it is passed to a FlowFilePrioritizer
-
getQueueDateIndex
long getQueueDateIndex()Returns a 64-bit integer that indicates the order in which the FlowFile was added to the FlowFile queue with respect to other FlowFiles that have the same last queue date. I.e., if two FlowFiles return the same value forgetLastQueueDate()
, the order in which those FlowFiles were enqueued can be determined by looking at the result of this method. However, no guarantee is made by this method about the ordering of FlowFiles that have different values for thegetLastQueueDate()
method.- Returns:
- the index that can be used to compare two FlowFiles with the same last queue date to understand the order in which the two FlowFiles were enqueued.
-
isPenalized
boolean isPenalized()- Returns:
- true if flow file is currently penalized; false otherwise;
-
getAttribute
Obtains the attribute value for the given key- Parameters:
key
- of the attribute- Returns:
- value if found; null otherwise
-
getSize
long getSize()- Returns:
- size of flow file contents in bytes
-
getAttributes
- Returns:
- an unmodifiable map of the flow file attributes
-