Class AfterEach

java.lang.Object
org.apache.beam.sdk.transforms.windowing.Trigger
org.apache.beam.sdk.transforms.windowing.AfterEach
All Implemented Interfaces:
Serializable

public class AfterEach extends Trigger
A composite 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.
See Also:
  • Method Details

    • inOrder

      @SafeVarargs public static AfterEach inOrder(Trigger... triggers)
      Returns an AfterEach Trigger with the given subtriggers.
    • inOrder

      public static AfterEach inOrder(List<Trigger> triggers)
      Returns an AfterEach Trigger with the given subtriggers.
    • getWatermarkThatGuaranteesFiring

      public 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 class Trigger
    • 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.

      Specified by:
      mayFinish in class Trigger
    • getContinuationTrigger

      protected Trigger getContinuationTrigger(List<Trigger> continuationTriggers)
      Description copied from class: Trigger
      Subclasses should override this to return the 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.
      Specified by:
      getContinuationTrigger in class Trigger
      Parameters:
      continuationTriggers - contains the result of Trigger.getContinuationTrigger() on each of the subTriggers in the same order.
    • toString

      public String toString()
      Overrides:
      toString in class Trigger