# Package org.apache.storm.windowing

- Interface Summary
  Interface | Description
  --- | ---
  Event<T> | An event is a wrapper object that gets stored in the window.
  EvictionContext | Context information that can be used by the eviction policy.
  EvictionPolicy<T,​S> | Eviction policy tracks events and decides whether an event should be evicted from the window or not.
  TimestampExtractor | Interface to be implemented for extracting timestamp from a tuple.
  TriggerHandler | The callback fired by `TriggerPolicy` when the trigger condition is satisfied.
  TriggerPolicy<T,​S> | Triggers the window calculations based on the policy.
  TupleWindow | A `Window` that contains `Tuple` objects.
  Window<T> | A view of events in a sliding window.
  WindowLifecycleListener<T> | A callback for expiry, activation of events tracked by the `WindowManager`.

- Class Summary
  Class | Description
  --- | ---
  CountEvictionPolicy<T> | An eviction policy that tracks event counts and can evict based on a threshold count.
  CountTriggerPolicy<T> | A trigger that tracks event counts and calls back `TriggerHandler.onTrigger()` when the count threshold is hit.
  DefaultEvictionContext |
  EventImpl<T> |
  StatefulWindowManager<T> | Window manager that handles windows with state persistence.
  TimeEvictionPolicy<T> | Eviction policy that evicts events based on time duration.
  TimeTriggerPolicy<T> | Invokes `TriggerHandler.onTrigger()` after the duration.
  TupleWindowImpl | Holds the expired, new and current tuples in a window.
  TupleWindowIterImpl | An iterator based implementation over the events in a window.
  WatermarkCountEvictionPolicy<T> | An eviction policy that tracks count based on watermark ts and evicts events up to the watermark based on a threshold count.
  WatermarkCountTriggerPolicy<T> | A trigger policy that tracks event counts and sets the context for eviction policy to evict based on latest watermark time.
  WaterMarkEvent<T> | Watermark event used for tracking progress of time when processing event based ts.
  WaterMarkEventGenerator<T> | Tracks tuples across input streams and periodically emits watermark events.
  WatermarkTimeEvictionPolicy<T> | An eviction policy that evicts events based on time duration taking watermark time and event lag into account.
  WatermarkTimeTriggerPolicy<T> | Handles watermark events and triggers `TriggerHandler.onTrigger()` for each window interval that has events to be processed up to the watermark ts.
  WindowManager<T> | Tracks a window of events and fires `WindowLifecycleListener` callbacks on expiry of events or activation of the window due to `TriggerPolicy`.

- Enum Summary
  Enum | Description
  --- | ---
  EvictionPolicy.Action | The action to be taken when `EvictionPolicy.evict(Event)` is invoked.