Class TumblingWindowCollection<T>

java.lang.Object
com.scaleoutsoftware.collections.timewindowing.WindowingCollection<T>
com.scaleoutsoftware.collections.timewindowing.TumblingWindowCollection<T>
Type Parameters:
T - the object type of the source collection.
All Implemented Interfaces:
Iterable<TimeWindow<T>>

public class TumblingWindowCollection<T> extends WindowingCollection<T>
The TumblingWindowCollection transforms a collection into an iterable collection of sequential time windows. This wrapper class can be used to manage the retention policy and add objects in chronological order to the underlying source collection. The difference between TumblingWindowCollection and WatermarkedTumblingWindowCollection is that windows in the WatermarkedTumblingWindowCollection can be closed if the watermark passes the inclusive end of a window. The watermark also prevents items with timestamps that exceed the watermark from being added to the collection.
  • Constructor Details

    • TumblingWindowCollection

      public TumblingWindowCollection(List<T> sourceCollection, TimestampSelector<T> timestampSelector, long startTimeMs, long windowDurationMs)
      Instantiates a new tumbling window collection.
      Parameters:
      sourceCollection - the underlying source collection.
      timestampSelector - the TimestampSelector is used to pull a timestamp from an item in the source collection and subsequent insertions.
      startTimeMs - the first time an object can be in a time window -- items before the start time will be evicted. The start time is also the start time of the first time window.
      windowDurationMs - the window duration in milliseconds for each window.
  • Method Details