Class AfterEach
java.lang.Object
org.apache.beam.sdk.transforms.windowing.Trigger
org.apache.beam.sdk.transforms.windowing.AfterEach
- All Implemented Interfaces:
Serializable
A composite
Trigger
that executes its sub-triggers in order. Only one sub-trigger is
executing at a time, and any time it fires the AfterEach
fires. When the currently
executing sub-trigger finishes, the AfterEach
starts executing the next sub-trigger.
AfterEach.inOrder(t1, t2, ...)
finishes when all of the sub-triggers have finished.
The following properties hold:
AfterEach.inOrder(AfterEach.inOrder(a, b), c)
behaves the same asAfterEach.inOrder(a, b, c)
andAfterEach.inOrder(a, AfterEach.inOrder(b, c)
.AfterEach.inOrder(Repeatedly.forever(a), b)
behaves the same asRepeatedly.forever(a)
, since the repeated trigger never finishes.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.beam.sdk.transforms.windowing.Trigger
Trigger.OnceTrigger
-
Field Summary
Fields inherited from class org.apache.beam.sdk.transforms.windowing.Trigger
subTriggers
-
Method Summary
Modifier and TypeMethodDescriptionprotected Trigger
getContinuationTrigger
(List<Trigger> continuationTriggers) Subclasses should override this to return theTrigger.getContinuationTrigger()
of thisTrigger
.For internal use only; no backwards-compatibility guarantees.static AfterEach
Returns anAfterEach
Trigger
with the given subtriggers.static AfterEach
Returns anAfterEach
Trigger
with the given subtriggers.boolean
For internal use only; no backwards-compatibility guarantees.toString()
Methods inherited from class org.apache.beam.sdk.transforms.windowing.Trigger
equals, getContinuationTrigger, hashCode, isCompatible, orFinally, subTriggers
-
Method Details
-
inOrder
Returns anAfterEach
Trigger
with the given subtriggers. -
inOrder
Returns anAfterEach
Trigger
with the given subtriggers. -
getWatermarkThatGuaranteesFiring
Description copied from class:Trigger
For internal use only; no backwards-compatibility guarantees.Returns a bound in event time by which this trigger would have fired at least once for a given window had there been input data.
For triggers that do not fire based on the watermark advancing, returns
BoundedWindow.TIMESTAMP_MAX_VALUE
.This estimate may be used, for example, to determine that there are no elements in a side-input window, which causes the default value to be used instead.
- Specified by:
getWatermarkThatGuaranteesFiring
in classTrigger
-
mayFinish
public boolean mayFinish()Description copied from class:Trigger
For internal use only; no backwards-compatibility guarantees.Indicates whether this trigger may "finish". A top level trigger that finishes can cause data loss, so is rejected by GroupByKey validation.
-
getContinuationTrigger
Description copied from class:Trigger
Subclasses should override this to return theTrigger.getContinuationTrigger()
of thisTrigger
. For convenience, this is provided the continuation trigger of each of the sub-triggers in the same order asTrigger.subTriggers
.- Specified by:
getContinuationTrigger
in classTrigger
- Parameters:
continuationTriggers
- contains the result ofTrigger.getContinuationTrigger()
on each of thesubTriggers
in the same order.
-
toString
-