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:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final long
     
    protected final long
     
  • 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.
    Return the end time of this window.
    boolean
     
    int
     
    abstract boolean
    overlap(Window other)
    Check if the given window overlaps with this window.
    long
    Return the start timestamp of this window.
    Return the start time of this window.
     

    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