public static enum PaneInfo.Timing extends java.lang.Enum<PaneInfo.Timing>
A window may fire multiple panes, and the timing of those panes generally follows the
 regular expression EARLY* ON_TIME? LATE*. Generally a pane is considered:
 
EARLY if the system cannot be sure it has seen all data which may contribute to
       the pane's window.
   ON_TIME if the system predicts it has seen all the data which may contribute to
       the pane's window.
   LATE if the system has encountered new data after predicting no more could
       arrive. It is possible an ON_TIME pane has already been emitted, in which case
       any following panes are considered LATE.
 Only an AfterWatermark.pastEndOfWindow() trigger may produce an ON_TIME pane.
 With merging WindowFn's, windows may be merged to produce new windows that satisfy
 their own instance of the above regular expression. The only guarantee is that once a window
 produces a final pane, it will not be merged into any new windows.
 
The predictions above are made using the mechanism of watermarks.
We can state some properties of LATE and ON_TIME panes, but first need some
 definitions:
 
DoFn.WindowedContext.outputWithTimestamp(OutputT, org.joda.time.Instant) in any DoFn, and it uses the same Window.withAllowedLateness(org.joda.time.Duration) argument value on
       all windows (or uses the default of Duration.ZERO).
   Then in simple pipelines:
ON_TIME pane can never cause a later computation to generate a
       LATE pane. (If it did, it would imply a later computation's input watermark
       progressed ahead of an earlier stage's output watermark, which by design is not
       possible.)
   ON_TIME pane is emitted as soon as possible after the input
       watermark passes the end of the pane's window.
   ON_TIME.
       And a LATE pane cannot contain locally on-time elements.
 However, note that:
ON_TIME pane may contain locally late elements. It may even contain only
       locally late elements. Provided a locally late element finds its way into an ON_TIME pane its lateness becomes unobservable.
   LATE pane does not necessarily cause any following computation panes to be
       marked as LATE.
 | Enum Constant and Description | 
|---|
| EARLYPane was fired before the input watermark had progressed after the end of the window. | 
| LATEPane was fired after the output watermark had progressed past the end of the window. | 
| ON_TIMEPane was fired by a  AfterWatermark.pastEndOfWindow()trigger because the input
 watermark progressed after the end of the window. | 
| UNKNOWNThis element was not produced in a triggered pane and its relation to input and output
 watermarks is unknown. | 
| Modifier and Type | Method and Description | 
|---|---|
| static PaneInfo.Timing | valueOf(java.lang.String name)Returns the enum constant of this type with the specified name. | 
| static PaneInfo.Timing[] | values()Returns an array containing the constants of this enum type, in
the order they are declared. | 
public static final PaneInfo.Timing EARLY
public static final PaneInfo.Timing ON_TIME
AfterWatermark.pastEndOfWindow() trigger because the input
 watermark progressed after the end of the window. However the output watermark has not yet
 progressed after the end of the window. Thus it is still possible to assign a timestamp to
 the element representing this pane which cannot be considered locally late by any following
 computation.public static final PaneInfo.Timing LATE
public static final PaneInfo.Timing UNKNOWN
public static PaneInfo.Timing[] values()
for (PaneInfo.Timing c : PaneInfo.Timing.values()) System.out.println(c);
public static PaneInfo.Timing valueOf(java.lang.String name)
name - the name of the enum constant to be returned.java.lang.IllegalArgumentException - if this enum type has no constant with the specified namejava.lang.NullPointerException - if the argument is null