/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.apache.beam.sdk.state;

/**
 * {@code TimeDomain} specifies whether an operation is based on
 * timestamps of elements or current "real-world" time as reported while processing.
 */
public enum TimeDomain {
  /**
   * The {@code EVENT_TIME} domain corresponds to the timestamps on the elements. Time advances
   * on the system watermark advances.
   */
  EVENT_TIME,

  /**
   * The {@code PROCESSING_TIME} domain corresponds to the current to the current (system) time.
   * This is advanced during execution of the pipeline.
   */
  PROCESSING_TIME,

  /**
   * Same as the {@code PROCESSING_TIME} domain, except it won't fire a timer set for time
   * {@code T} until all timers from earlier stages set for a time earlier than {@code T} have
   * fired.
   */
  SYNCHRONIZED_PROCESSING_TIME
}

@@ -835,16 +835,70 @@
 state;%0A%0A
+import org.apache.beam.sdk.annotations.Experimental;%0A%0A
 /**%0A * %7B
@@ -898,20 +898,20 @@
 **%0A * %7B@
-code
+link
  TimeDom
@@ -957,19 +957,16 @@
 based on
-%0A *
  timesta
@@ -991,16 +991,19 @@
  current
+%0A *
  %22real-w
@@ -1047,16 +1047,56 @@
 ng.%0A */%0A
+@Experimental(Experimental.Kind.TIMERS)%0A
 public e
@@ -1129,21 +1129,22 @@
 * The %7B@
-code 
+link #
 EVENT_TI
@@ -1218,16 +1218,16 @@
 nces
+ on
 %0A   *
- on
  the
@@ -1288,29 +1288,30 @@
 %0A   * The %7B@
-code 
+link #
 PROCESSING_T
@@ -1486,21 +1486,22 @@
 s the %7B@
-code 
+link #
 PROCESSI
@@ -1562,23 +1562,22 @@
 time
-%0A   * %7B@code T%7D
+ %3Ci%3Et%3C/i%3E%0A   *
  unt
@@ -1642,27 +1642,21 @@
 han 
-%7B@code T%7D have%0A   *
+%3Ci%3Et%3C/i%3E have
  fir

Mark TimeDomain experimental alongside Timers; improve javadoc