Class WindowImpl<T>

java.lang.Object
org.apache.pulsar.functions.windowing.WindowImpl<T>
All Implemented Interfaces:
Window<T>

public class WindowImpl<T> extends Object implements Window<T>
Holds the expired, new and current events in a window.
  • Constructor Details

    • WindowImpl

      public WindowImpl(List<T> tuples, List<T> newTuples, List<T> expiredTuples, Long startTimestamp, Long endTimestamp)
  • Method Details

    • get

      public List<T> get()
      Description copied from interface: Window
      Gets the list of events in the window.

      Note: If the number of tuples in windows is huge, invoking get would load all the tuples into memory and may throw an OOM exception. Use windowing with persistence

      Specified by:
      get in interface Window<T>
      Returns:
      the list of events in the window.
    • getNew

      public List<T> getNew()
      Description copied from interface: Window
      Get the list of newly added events in the window since the last time the window was generated.
      Specified by:
      getNew in interface Window<T>
      Returns:
      the list of newly added events in the window.
    • getExpired

      public List<T> getExpired()
      Description copied from interface: Window
      Get the list of events expired from the window since the last time the window was generated.
      Specified by:
      getExpired in interface Window<T>
      Returns:
      the list of events expired from the window.
    • getStartTimestamp

      public Long getStartTimestamp()
      Description copied from interface: Window
      Returns the window start timestamp. Will return null if the window length is not based on time duration.
      Specified by:
      getStartTimestamp in interface Window<T>
      Returns:
      the window start timestamp or null if the window length is not time based
    • getEndTimestamp

      public Long getEndTimestamp()
      Description copied from interface: Window
      If processing based on event time, returns the window end time based on watermark otherwise returns the window end time based on processing time.
      Specified by:
      getEndTimestamp in interface Window<T>
      Returns:
      the window end timestamp
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

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

      public int hashCode()
      Overrides:
      hashCode in class Object