/** * A {@link SlidingWindow} covers a closed time interval with its start timestamp and end timestamp as an inclusive 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 (inclusive). * * @param startMs the start timestamp of the window (inclusive) * @param endMs the end timestamp of the window (inclusive) * @throws IllegalArgumentException if {@code startMs} is negative or if {@code endMs} is smaller than {@code startMs} */ public TimeWindowSlidingWindow(final long startMs, final long endMs) throws IllegalArgumentException { }
/** * 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 {} }
|