Package org.apache.kafka.streams.kstream
Class Window
- java.lang.Object
-
- org.apache.kafka.streams.kstream.Window
-
- Direct Known Subclasses:
SessionWindow
,TimeWindow
,UnlimitedWindow
public abstract class Window extends java.lang.Object
A single window instance, defined by its start and end timestamp.Window
is agnostic if start/end boundaries are inclusive or exclusive; this is defined by concrete window implementations.To specify how
Window
boundaries are defined useWindows
. For time semantics, seeTimestampExtractor
.- See Also:
Windows
,TimeWindow
,SessionWindow
,UnlimitedWindow
,TimestampExtractor
-
-
Constructor Summary
Constructors Constructor Description Window(long startMs, long endMs)
Create a new window for the given start and end time.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description long
end()
Return the end timestamp of this window.java.time.Instant
endTime()
Return the end time of this window.boolean
equals(java.lang.Object obj)
int
hashCode()
abstract boolean
overlap(Window other)
Check if the given window overlaps with this window.long
start()
Return the start timestamp of this window.java.time.Instant
startTime()
Return the start time of this window.java.lang.String
toString()
-
-
-
Constructor Detail
-
Window
public Window(long startMs, long endMs) throws java.lang.IllegalArgumentException
Create a new window for the given start and end time.- Parameters:
startMs
- the start timestamp of the windowendMs
- the end timestamp of the window- Throws:
java.lang.IllegalArgumentException
- ifstartMs
is negative or ifendMs
is smaller thanstartMs
-
-
Method Detail
-
start
public long start()
Return the start timestamp of this window.
-
end
public long end()
Return the end timestamp of this window.
-
startTime
public java.time.Instant startTime()
Return the start time of this window.- Returns:
- The start time of this window.
-
endTime
public java.time.Instant endTime()
Return the end time of this window.- Returns:
- The end time of this window.
-
overlap
public abstract boolean overlap(Window other)
Check if the given window overlaps with this window. Should throw anIllegalArgumentException
if theother
window has a different type thanthis
window.- Parameters:
other
- another window of the same type- Returns:
true
ifother
overlaps with this window—false
otherwise
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-