Package org.apache.storm.windowing

# Interface WindowLifecycleListener<T>

Type Parameters:
  `T` - The type of Event in the window (e.g. Tuple).

public interface WindowLifecycleListener<T>
A callback for expiry, activation of events tracked by the `WindowManager`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `default void`
  `onActivation(Supplier<Iterator<T>> eventsIt, Supplier<Iterator<T>> newEventsIt, Supplier<Iterator<T>> expiredIt, Long referenceTime)`
  Called on activation of the window due to the `TriggerPolicy`.
  `default void`
  `onActivation(List<T> events, List<T> newEvents, List<T> expired, Long referenceTime)`
  Called on activation of the window due to the `TriggerPolicy`.
  `void`
  `onExpiry(List<T> events)`
  Called on expiry of events from the window due to `EvictionPolicy`.

- ## Method Details

  - ### onExpiry

    void onExpiry(List<T> events)
    Called on expiry of events from the window due to `EvictionPolicy`.
    Parameters:
      `events` - the expired events

  - ### onActivation

    default void onActivation(List<T> events, List<T> newEvents, List<T> expired, Long referenceTime)
    Called on activation of the window due to the `TriggerPolicy`.
    Parameters:
      `events` - the list of current events in the window.
      `newEvents` - the newly added events since last activation.
      `expired` - the expired events since last activation.
      `referenceTime` - the reference (event or processing) time that resulted in activation

  - ### onActivation

    default void onActivation(Supplier<Iterator<T>> eventsIt, Supplier<Iterator<T>> newEventsIt, Supplier<Iterator<T>> expiredIt, Long referenceTime)
    Called on activation of the window due to the `TriggerPolicy`. This is typically invoked when the windows are persisted in state and is huge to be loaded entirely in memory.
    Parameters:
      `eventsIt` - a supplier of iterator over the list of current events in the window
      `newEventsIt` - a supplier of iterator over the newly added events since the last ativation
      `expiredIt` - a supplier of iterator over the expired events since the last activation
      `referenceTime` - the reference (event or processing) time that resulted in activation