Class Window

java.lang.Object
org.apache.kafka.streams.kstream.Window

public abstract class Window
extends 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 use Windows. For time semantics, see TimestampExtractor.

See Also:
Windows, TimeWindow, SessionWindow, UnlimitedWindow, TimestampExtractor
  • Field Summary

    Fields
    Modifier and Type Field Description
    protected long endMs  
    protected long startMs  
  • Constructor Summary

    Constructors
    Constructor Description
    Window​(long startMs, long endMs)
    Create a new window for the given start and end time.
  • Method Summary

    Modifier and Type Method Description
    long end()
    Return the end timestamp of this window.
    Instant endTime()
    Return the end time of this window.
    boolean equals​(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.
    Instant startTime()
    Return the start time of this window.
    String toString()  

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

    • startMs

      protected final long startMs
    • endMs

      protected final long endMs
  • Constructor Details

    • Window

      public Window​(long startMs, long endMs) throws IllegalArgumentException
      Create a new window for the given start and end time.
      Parameters:
      startMs - the start timestamp of the window
      endMs - the end timestamp of the window
      Throws:
      IllegalArgumentException - if startMs is negative or if endMs is smaller than startMs
  • Method Details

    • start

      public long start()
      Return the start timestamp of this window.
      Returns:
      The start timestamp of this window.
    • end

      public long end()
      Return the end timestamp of this window.
      Returns:
      The end timestamp of this window.
    • startTime

      public Instant startTime()
      Return the start time of this window.
      Returns:
      The start time of this window.
    • endTime

      public 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 an IllegalArgumentException if the other window has a different type than this window.
      Parameters:
      other - another window of the same type
      Returns:
      true if other overlaps with this window—false otherwise
    • equals

      public boolean equals​(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object