Class AfterEach
- java.lang.Object
-
- org.apache.beam.sdk.transforms.windowing.Trigger
-
- org.apache.beam.sdk.transforms.windowing.AfterEach
-
- All Implemented Interfaces:
java.io.Serializable
@Experimental(TRIGGER) public class AfterEach extends Trigger
A compositeTrigger
that executes its sub-triggers in order. Only one sub-trigger is executing at a time, and any time it fires theAfterEach
fires. When the currently executing sub-trigger finishes, theAfterEach
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:
- Serialized Form
-
-
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
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Trigger
getContinuationTrigger(java.util.List<Trigger> continuationTriggers)
Subclasses should override this to return theTrigger.getContinuationTrigger()
of thisTrigger
.org.joda.time.Instant
getWatermarkThatGuaranteesFiring(BoundedWindow window)
For internal use only; no backwards-compatibility guarantees.static AfterEach
inOrder(java.util.List<Trigger> triggers)
Returns anAfterEach
Trigger
with the given subtriggers.static AfterEach
inOrder(Trigger... triggers)
Returns anAfterEach
Trigger
with the given subtriggers.boolean
mayFinish()
For internal use only; no backwards-compatibility guarantees.java.lang.String
toString()
-
Methods inherited from class org.apache.beam.sdk.transforms.windowing.Trigger
equals, getContinuationTrigger, hashCode, isCompatible, orFinally, subTriggers
-
-
-
-
Method Detail
-
inOrder
@SafeVarargs public static AfterEach inOrder(Trigger... triggers)
Returns anAfterEach
Trigger
with the given subtriggers.
-
inOrder
public static AfterEach inOrder(java.util.List<Trigger> triggers)
Returns anAfterEach
Trigger
with the given subtriggers.
-
getWatermarkThatGuaranteesFiring
public org.joda.time.Instant getWatermarkThatGuaranteesFiring(BoundedWindow window)
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
protected Trigger getContinuationTrigger(java.util.List<Trigger> continuationTriggers)
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.
-
-