public final class UnlimitedWindows extends Windows<org.apache.kafka.streams.kstream.internals.UnlimitedWindow>
An unlimited time window is also called landmark window. It has a fixed starting point while its window end is defined as infinite. With this regard, it is a fixed-size window with infinite window size.
For time semantics, see TimestampExtractor
.
Modifier and Type | Field | Description |
---|---|---|
long |
startMs |
The start timestamp of the window.
|
Modifier and Type | Method | Description |
---|---|---|
boolean |
equals(java.lang.Object o) |
|
int |
hashCode() |
|
long |
maintainMs() |
Return the window maintain duration (retention time) in milliseconds.
|
static UnlimitedWindows |
of() |
Return an unlimited window starting at timestamp zero.
|
long |
size() |
Return the size of the specified windows in milliseconds.
|
UnlimitedWindows |
startOn(long startMs) |
Return a new unlimited window for the specified start timestamp.
|
UnlimitedWindows |
until(long durationMs) |
Throws an
IllegalArgumentException because the retention time for unlimited windows is always infinite
and cannot be changed. |
java.util.Map<java.lang.Long,org.apache.kafka.streams.kstream.internals.UnlimitedWindow> |
windowsFor(long timestamp) |
Create all windows that contain the provided timestamp, indexed by non-negative window start timestamps.
|
public static UnlimitedWindows of()
public UnlimitedWindows startOn(long startMs) throws java.lang.IllegalArgumentException
startMs
- the window start timestartMs
java.lang.IllegalArgumentException
- if the start time is negativepublic java.util.Map<java.lang.Long,org.apache.kafka.streams.kstream.internals.UnlimitedWindow> windowsFor(long timestamp)
Windows
windowsFor
in class Windows<org.apache.kafka.streams.kstream.internals.UnlimitedWindow>
timestamp
- the timestamp window should get created forwindowStartTimestamp -> Window
entriespublic long size()
Long.MAX_VALUE
.public UnlimitedWindows until(long durationMs)
IllegalArgumentException
because the retention time for unlimited windows is always infinite
and cannot be changed.public long maintainMs()
Long.MAX_VALUE
.maintainMs
in class Windows<org.apache.kafka.streams.kstream.internals.UnlimitedWindow>
Long.MAX_VALUE
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object