...
Add org.apache.kafka.streams.kstream.internals.SlidingWindow
TimeWindowhalf-openclosed time interval with its start timestamp |
as an inclusive boundary its *exclusiveinclusive boundary. * It is a fixed size window, i.e., all instances (of a single {@link org.apache.kafka.streams.kstream.TimeWindows * window specification}) will have the same size. * <p> * For time semantics, see {@link org.apache.kafka.streams.processor.TimestampExtractor TimestampExtractor}. * * @see SessionWindow * @see UnlimitedWindow * @see org.apache.kafka.streams.kstream.TimeWindows * @see org.apache.kafka.streams.processor.TimestampExtractor */ public class SlidingWindow extends Window {
/** * Create a new window for the given start time (inclusive) and end time ( |
exclusiveinclusive). * * @param startMs the start timestamp of the window (inclusive) * @param endMs the end timestamp of the window ( |
exclusive * inclusive) * @throws IllegalArgumentException if {@code startMs} is negative or if {@code endMs} is smaller than |
or equal to{@code startMs} */ public TimeWindow(final long startMs, final long endMs) throws IllegalArgumentException |
{ super(startMs, endMs); if (startMs ==endMs) throw new IllegalArgumentException("Window endMsmust be greater than window startMs."); } /** * Check if the given window overlaps with this window. * * @param other another window * @return {@code true} if {@code other} overlaps with this window—{@code false} otherwise * @throws IllegalArgumentException if the {@code other} window has a different type than {@code this} window */ @Override public boolean overlap(final Window other) throws IllegalArgumentException |
{ if (getClass() != other.getClass()) throw new IllegalArgumentException("Cannot compare windows of different type. Other window has type "
+ other.getClass() + "."); } final TimeWindow otherWindow = (TimeWindow) other; return startMs < otherWindow.endMs && otherWindow.startMs < endMs; Proposed Changes
Describe the new thing you want to do in appropriate detail. This may be fairly extensive and have large subsections of its own. Or it may be a few sentences. Use judgement based on the scope of the change.
...