public class GlobalWindows extends NonMergingWindowFn<java.lang.Object,GlobalWindow>
WindowFn
that assigns all data to the same window.
This is the WindowFn
used for data coming from a source, before a
Window
transform has been applied.
WindowFn.AssignContext, WindowFn.MergeContext
Constructor and Description |
---|
GlobalWindows() |
Modifier and Type | Method and Description |
---|---|
boolean |
assignsToOneWindow()
Returns true if this
WindowFn always assigns an element to exactly one window. |
java.util.Collection<GlobalWindow> |
assignWindows(WindowFn.AssignContext c)
Given a timestamp and element, returns the set of windows into which it
should be placed.
|
boolean |
equals(java.lang.Object other) |
WindowMappingFn<GlobalWindow> |
getDefaultWindowMappingFn()
Returns the default
WindowMappingFn to use to map main input windows to side input
windows. |
Instant |
getOutputTime(Instant inputTimestamp,
GlobalWindow window)
Returns the output timestamp to use for data depending on the given
inputTimestamp in the specified window . |
boolean |
isCompatible(WindowFn<?,?> o)
Returns whether this performs the same merging as the given
WindowFn . |
java.lang.String |
toString() |
void |
verifyCompatibility(WindowFn<?,?> other)
Throw
IncompatibleWindowException if this WindowFn does not perform the same merging as
the given $WindowFn . |
Coder<GlobalWindow> |
windowCoder()
Returns the
Coder used for serializing the windows used
by this windowFn. |
isNonMerging, mergeWindows
getWindowTypeDescriptor, populateDisplayData
public java.util.Collection<GlobalWindow> assignWindows(WindowFn.AssignContext c)
WindowFn
assignWindows
in class WindowFn<java.lang.Object,GlobalWindow>
public boolean isCompatible(WindowFn<?,?> o)
WindowFn
WindowFn
.isCompatible
in class WindowFn<java.lang.Object,GlobalWindow>
public void verifyCompatibility(WindowFn<?,?> other) throws IncompatibleWindowException
WindowFn
IncompatibleWindowException
if this WindowFn does not perform the same merging as
the given $WindowFn
.verifyCompatibility
in class WindowFn<java.lang.Object,GlobalWindow>
IncompatibleWindowException
- if compared WindowFns are not compatible.public Coder<GlobalWindow> windowCoder()
WindowFn
Coder
used for serializing the windows used
by this windowFn.windowCoder
in class WindowFn<java.lang.Object,GlobalWindow>
public WindowMappingFn<GlobalWindow> getDefaultWindowMappingFn()
WindowFn
WindowMappingFn
to use to map main input windows to side input
windows. This should accept arbitrary main input windows, and produce a BoundedWindow
that can be produced by this WindowFn
.getDefaultWindowMappingFn
in class WindowFn<java.lang.Object,GlobalWindow>
public Instant getOutputTime(Instant inputTimestamp, GlobalWindow window)
WindowFn
inputTimestamp
in the specified window
.
The result of this method must be between inputTimestamp
and
window.maxTimestamp()
(inclusive on both sides).
This function must be monotonic across input timestamps. Specifically, if A < B
,
then getOutputTime(A, window) <= getOutputTime(B, window)
.
For a WindowFn
that doesn't produce overlapping windows, this can (and typically
should) just return inputTimestamp
. In the presence of overlapping windows, it is
suggested that the result in later overlapping windows is past the end of earlier windows
so that the later windows don't prevent the watermark from
progressing past the end of the earlier window.
getOutputTime
in class WindowFn<java.lang.Object,GlobalWindow>
public boolean assignsToOneWindow()
WindowFn
WindowFn
always assigns an element to exactly one window.
If this varies per-element, or cannot be determined, conservatively return false.
By default, returns false.
assignsToOneWindow
in class WindowFn<java.lang.Object,GlobalWindow>
public boolean equals(java.lang.Object other)
equals
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object