public static class CalendarWindows.DaysWindows extends PartitioningWindowFn<java.lang.Object,IntervalWindow>
WindowFn that windows elements into periods measured by days.
By default, periods of multiple days are measured starting at the epoch. This can be
overridden with withStartingDay(int, int, int).
The time zone used to determine calendar boundaries is UTC, unless this is overridden with
the withTimeZone(org.joda.time.DateTimeZone) method.
WindowFn.AssignContext, WindowFn.MergeContext| Modifier and Type | Method and Description |
|---|---|
IntervalWindow |
assignWindow(Instant timestamp)
Returns the single window to which elements with this timestamp belong.
|
int |
getNumber() |
DateTime |
getStartDate() |
DateTimeZone |
getTimeZone() |
boolean |
isCompatible(WindowFn<?,?> other)
Returns whether this performs the same merging as the given
WindowFn. |
void |
populateDisplayData(DisplayData.Builder builder)
Register display data for the given transform or component.
|
void |
verifyCompatibility(WindowFn<?,?> other)
Throw
IncompatibleWindowException if this WindowFn does not perform the same merging as
the given $WindowFn. |
Coder<IntervalWindow> |
windowCoder()
Returns the
Coder used for serializing the windows used by this windowFn. |
CalendarWindows.DaysWindows |
withStartingDay(int year,
int month,
int day) |
CalendarWindows.DaysWindows |
withTimeZone(DateTimeZone timeZone) |
assignsToOneWindow, assignWindows, getDefaultWindowMappingFn, getOutputTimeisNonMerging, mergeWindowsgetWindowTypeDescriptorpublic CalendarWindows.DaysWindows withStartingDay(int year, int month, int day)
public CalendarWindows.DaysWindows withTimeZone(DateTimeZone timeZone)
public IntervalWindow assignWindow(Instant timestamp)
PartitioningWindowFnassignWindow in class PartitioningWindowFn<java.lang.Object,IntervalWindow>public Coder<IntervalWindow> windowCoder()
WindowFnCoder used for serializing the windows used by this windowFn.windowCoder in class WindowFn<java.lang.Object,IntervalWindow>public boolean isCompatible(WindowFn<?,?> other)
WindowFnWindowFn.isCompatible in class WindowFn<java.lang.Object,IntervalWindow>public void verifyCompatibility(WindowFn<?,?> other) throws IncompatibleWindowException
WindowFnIncompatibleWindowException if this WindowFn does not perform the same merging as
the given $WindowFn.verifyCompatibility in class WindowFn<java.lang.Object,IntervalWindow>IncompatibleWindowException - if compared WindowFns are not compatible.public void populateDisplayData(DisplayData.Builder builder)
WindowFnpopulateDisplayData(DisplayData.Builder) is invoked by Pipeline runners to collect
display data via DisplayData.from(HasDisplayData). Implementations may call super.populateDisplayData(builder) in order to register display data in the current namespace,
but should otherwise use subcomponent.populateDisplayData(builder) to use the namespace
of the subcomponent.
By default, does not register any display data. Implementors may override this method to provide their own display data.
populateDisplayData in interface HasDisplayDatapopulateDisplayData in class WindowFn<java.lang.Object,IntervalWindow>builder - The builder to populate with display data.HasDisplayDatapublic int getNumber()
public DateTime getStartDate()
public DateTimeZone getTimeZone()