public static class AfterWatermark.AfterWatermarkEarlyAndLate extends Trigger
AfterWatermark,
Serialized FormTrigger.OnceTriggersubTriggers| Modifier and Type | Method and Description |
|---|---|
Trigger |
getContinuationTrigger()
Return a trigger to use after a
GroupByKey to preserve the intention of this trigger. |
protected Trigger |
getContinuationTrigger(java.util.List<Trigger> continuationTriggers)
Subclasses should override this to return the
Trigger.getContinuationTrigger() of this Trigger. |
Trigger.OnceTrigger |
getEarlyTrigger() |
Trigger.OnceTrigger |
getLateTrigger() |
Instant |
getWatermarkThatGuaranteesFiring(BoundedWindow window)
For internal use only; no backwards-compatibility guarantees.
|
boolean |
mayFinish()
For internal use only; no backwards-compatibility guarantees.
|
java.lang.String |
toString() |
AfterWatermark.AfterWatermarkEarlyAndLate |
withEarlyFirings(Trigger.OnceTrigger earlyTrigger) |
AfterWatermark.AfterWatermarkEarlyAndLate |
withLateFirings(Trigger.OnceTrigger lateTrigger) |
equals, hashCode, isCompatible, orFinally, subTriggerspublic Trigger.OnceTrigger getEarlyTrigger()
public Trigger.OnceTrigger getLateTrigger()
public AfterWatermark.AfterWatermarkEarlyAndLate withEarlyFirings(Trigger.OnceTrigger earlyTrigger)
public AfterWatermark.AfterWatermarkEarlyAndLate withLateFirings(Trigger.OnceTrigger lateTrigger)
public Trigger getContinuationTrigger()
TriggerGroupByKey to preserve the intention of this trigger.
Specifically, triggers that are time based and intended to provide speculative results should
continue providing speculative results. Triggers that fire once (or multiple times) should
continue firing once (or multiple times).
If this method is not overridden, its default implementation delegates its behavior to
Trigger.getContinuationTrigger(List) which is expected to be implemented by subclasses.
getContinuationTrigger in class Triggerprotected Trigger getContinuationTrigger(java.util.List<Trigger> continuationTriggers)
TriggerTrigger.getContinuationTrigger() of this Trigger. For convenience, this is provided the continuation trigger of each of the
sub-triggers in the same order as Trigger.subTriggers.getContinuationTrigger in class TriggercontinuationTriggers - null if Trigger.subTriggers is null, otherwise
contains the result of Trigger.getContinuationTrigger() on each of the subTriggers in the
same order.public Instant getWatermarkThatGuaranteesFiring(BoundedWindow window)
TriggerReturns 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.
getWatermarkThatGuaranteesFiring in class Triggerpublic boolean mayFinish()
TriggerIndicates whether this trigger may "finish". A top level trigger that finishes can cause data loss, so is rejected by GroupByKey validation.