Class AfterEach

  • All Implemented Interfaces:
    java.io.Serializable

    @Experimental(TRIGGER)
    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:
    Serialized Form
    • Method Detail

      • inOrder

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

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

        public org.joda.time.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
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class Trigger