public static class AfterWatermark.FromEndOfWindow<W extends BoundedWindow> extends Trigger.OnceTrigger<W>
Trigger.MergingTriggerInfo<W extends BoundedWindow>, Trigger.OnceTrigger<W extends BoundedWindow>, Trigger.OnElementContext, Trigger.OnMergeContext, Trigger.TriggerContext, Trigger.TriggerInfo<W extends BoundedWindow>subTriggers| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object obj) |
AfterWatermark.FromEndOfWindow<W> |
getContinuationTrigger(List<Trigger<W>> continuationTriggers)
Return the
Trigger.getContinuationTrigger() of this Trigger. |
Instant |
getWatermarkThatGuaranteesFiring(W window)
Returns a bound in watermark time by which this trigger would have fired at least once
for a given window had there been input data.
|
int |
hashCode() |
void |
onElement(Trigger.OnElementContext c)
Called immediately after an element is first incorporated into a window.
|
void |
onMerge(Trigger.OnMergeContext c)
Called immediately after windows have been merged.
|
protected void |
onOnlyFiring(Trigger.TriggerContext context)
Called exactly once by
Trigger.OnceTrigger.onFire(com.google.cloud.dataflow.sdk.transforms.windowing.Trigger<W>.TriggerContext) when the trigger is fired. |
boolean |
shouldFire(Trigger.TriggerContext context)
Returns
true if the current state of the trigger indicates that its condition
is satisfied and it is ready to fire. |
String |
toString() |
AfterWatermark.AfterWatermarkEarly<W> |
withEarlyFirings(Trigger.OnceTrigger<W> earlyFirings)
Creates a new
Trigger like the this, except that it fires repeatedly whenever
the given Trigger fires before the watermark has passed the end of the window. |
AfterWatermark.AfterWatermarkLate<W> |
withLateFirings(Trigger.OnceTrigger<W> lateFirings)
Creates a new
Trigger like the this, except that it fires repeatedly whenever
the given Trigger fires after the watermark has passed the end of the window. |
getContinuationTrigger, onFirebuildTrigger, clear, isCompatible, orFinally, prefetchOnElement, prefetchOnFire, prefetchOnMerge, prefetchShouldFire, subTriggerspublic AfterWatermark.AfterWatermarkEarly<W> withEarlyFirings(Trigger.OnceTrigger<W> earlyFirings)
Trigger like the this, except that it fires repeatedly whenever
the given Trigger fires before the watermark has passed the end of the window.public AfterWatermark.AfterWatermarkLate<W> withLateFirings(Trigger.OnceTrigger<W> lateFirings)
Trigger like the this, except that it fires repeatedly whenever
the given Trigger fires after the watermark has passed the end of the window.public void onElement(Trigger.OnElementContext c) throws Exception
TriggeronElement in class Trigger<W extends BoundedWindow>Exceptionpublic void onMerge(Trigger.OnMergeContext c) throws Exception
TriggerLeaf triggers should update their state by inspecting their status and any state
in the merging windows. Composite triggers should update their state by calling
ExecutableTrigger.invokeOnMerge(com.google.cloud.dataflow.sdk.transforms.windowing.Trigger<W>.OnMergeContext) on their sub-triggers, and applying appropriate logic.
A trigger such as AfterWatermark.pastEndOfWindow() may no longer be finished;
it is the responsibility of the trigger itself to record this fact. It is forbidden for
a trigger to become finished due to Trigger.onMerge(com.google.cloud.dataflow.sdk.transforms.windowing.Trigger<W>.OnMergeContext), as it has not yet fired the pending
elements that led to it being ready to fire.
The implementation does not need to clear out any state associated with the old windows.
onMerge in class Trigger<W extends BoundedWindow>Exceptionpublic Instant getWatermarkThatGuaranteesFiring(W window)
TriggerFor triggers that do not fire based on the watermark advancing, returns
BoundedWindow.TIMESTAMP_MAX_VALUE.
This estimate is used to determine that there are no elements in a side-input window, which causes the default value to be used instead.
getWatermarkThatGuaranteesFiring in class Trigger<W extends BoundedWindow>public AfterWatermark.FromEndOfWindow<W> getContinuationTrigger(List<Trigger<W>> continuationTriggers)
TriggerTrigger.getContinuationTrigger() of this Trigger. For convenience, this
is provided the continuation trigger of each of the sub-triggers.getContinuationTrigger in class Trigger<W extends BoundedWindow>public String toString()
toString in class Trigger<W extends BoundedWindow>public boolean equals(Object obj)
equals in class Trigger<W extends BoundedWindow>public int hashCode()
hashCode in class Trigger<W extends BoundedWindow>public boolean shouldFire(Trigger.TriggerContext context) throws Exception
Triggertrue if the current state of the trigger indicates that its condition
is satisfied and it is ready to fire.shouldFire in class Trigger<W extends BoundedWindow>Exceptionprotected void onOnlyFiring(Trigger.TriggerContext context) throws Exception
Trigger.OnceTriggerTrigger.OnceTrigger.onFire(com.google.cloud.dataflow.sdk.transforms.windowing.Trigger<W>.TriggerContext) when the trigger is fired. By default,
invokes Trigger.OnceTrigger.onFire(com.google.cloud.dataflow.sdk.transforms.windowing.Trigger<W>.TriggerContext) on all subtriggers for which Trigger.shouldFire(com.google.cloud.dataflow.sdk.transforms.windowing.Trigger<W>.TriggerContext) is true.onOnlyFiring in class Trigger.OnceTrigger<W extends BoundedWindow>Exception