Class OrFinallyTrigger

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

public class OrFinallyTrigger extends Trigger
A Trigger that executes according to its main trigger until its "finally" trigger fires.

Uniquely among triggers, the "finally" trigger's predicate is applied to all input seen so far, not input since the last firing.

See Also:
  • Method Details

    • getMainTrigger

      public Trigger getMainTrigger()
      The main trigger, which will continue firing until the "until" trigger fires. See getUntilTrigger()
    • getUntilTrigger

      public Trigger.OnceTrigger getUntilTrigger()
      The trigger that signals termination of this trigger.
    • 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