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>>
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.-
Field Summary
Fields inherited from class com.scaleoutsoftware.collections.timewindowing.WindowingCollection
_sourceCollection, _startTimeMs, _timestampSelector -
Constructor Summary
ConstructorsConstructorDescriptionTumblingWindowCollection(List<T> sourceCollection, TimestampSelector<T> timestampSelector, long startTimeMs, long windowDurationMs) Instantiates a new tumbling window collection. -
Method Summary
Modifier and TypeMethodDescriptionvoidforEach(Consumer<? super TimeWindow<T>> action) iterator()Methods inherited from class com.scaleoutsoftware.collections.timewindowing.WindowingCollection
add
-
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- theTimestampSelectoris 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
-
iterator
-
forEach
-
spliterator
-