@Experimental(value=TRIGGER) public class AfterEach extends Trigger
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 as AfterEach.inOrder(a, b, c) and AfterEach.inOrder(a, AfterEach.inOrder(b, c).
   AfterEach.inOrder(Repeatedly.forever(a), b) behaves the same as Repeatedly.forever(a), since the repeated trigger never finishes.
 Trigger.OnceTriggersubTriggers| Modifier and Type | Method and Description | 
|---|---|
| protected Trigger | getContinuationTrigger(java.util.List<Trigger> continuationTriggers)Subclasses should override this to return the  Trigger.getContinuationTrigger()of thisTrigger. | 
| Instant | getWatermarkThatGuaranteesFiring(BoundedWindow window)For internal use only; no backwards-compatibility guarantees. | 
| static AfterEach | inOrder(java.util.List<Trigger> triggers)Returns an  AfterEachTriggerwith the given subtriggers. | 
| static AfterEach | inOrder(Trigger... triggers)Returns an  AfterEachTriggerwith the given subtriggers. | 
| boolean | mayFinish()For internal use only; no backwards-compatibility guarantees. | 
| java.lang.String | toString() | 
equals, getContinuationTrigger, hashCode, isCompatible, orFinally, subTriggers@SafeVarargs public static AfterEach inOrder(Trigger... triggers)
AfterEach Trigger with the given subtriggers.public static AfterEach inOrder(java.util.List<Trigger> triggers)
AfterEach Trigger with the given subtriggers.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.
protected 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.