@Experimental(value=TRIGGER) public class DefaultTrigger extends Trigger
Repeatedly.forever(AfterWatermark.pastEndOfWindow())
. See
Repeatedly.forever(org.apache.beam.sdk.transforms.windowing.Trigger)
and AfterWatermark.pastEndOfWindow()
for more details.
This is a distinguished class to make it easy for runners to optimize for this common case.
Trigger.OnceTrigger
subTriggers
Modifier and Type | Method and Description |
---|---|
protected Trigger |
getContinuationTrigger(java.util.List<Trigger> continuationTriggers)
Subclasses should override this to return the
Trigger.getContinuationTrigger() of this Trigger . |
Instant |
getWatermarkThatGuaranteesFiring(BoundedWindow window)
For internal use only; no backwards-compatibility guarantees.
|
boolean |
isCompatible(Trigger other)
For internal use only; no backwards-compatibility guarantees.
|
boolean |
mayFinish()
For internal use only; no backwards-compatibility guarantees.
|
static DefaultTrigger |
of()
Returns the default trigger.
|
equals, getContinuationTrigger, hashCode, orFinally, subTriggers, toString
public static DefaultTrigger of()
public Instant getWatermarkThatGuaranteesFiring(BoundedWindow window)
Trigger
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.
getWatermarkThatGuaranteesFiring
in class Trigger
public boolean mayFinish()
Trigger
Indicates whether this trigger may "finish". A top level trigger that finishes can cause data loss, so is rejected by GroupByKey validation.
public boolean isCompatible(Trigger other)
Trigger
Returns whether this performs the same triggering as the given Trigger
.
isCompatible
in class Trigger
protected Trigger getContinuationTrigger(java.util.List<Trigger> continuationTriggers)
Trigger
Trigger.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 Trigger
continuationTriggers
- null
if Trigger.subTriggers
is null
, otherwise
contains the result of Trigger.getContinuationTrigger()
on each of the subTriggers in the
same order.