You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by dh...@apache.org on 2017/05/17 02:36:27 UTC

[06/51] [abbrv] [partial] beam-site git commit: regenerate the website

http://git-wip-us.apache.org/repos/asf/beam-site/blob/c196579f/content/documentation/sdks/javadoc/2.0.0/org/apache/beam/runners/spark/stateful/SparkTimerInternals.html
----------------------------------------------------------------------
diff --git a/content/documentation/sdks/javadoc/2.0.0/org/apache/beam/runners/spark/stateful/SparkTimerInternals.html b/content/documentation/sdks/javadoc/2.0.0/org/apache/beam/runners/spark/stateful/SparkTimerInternals.html
new file mode 100644
index 0000000..3886fe6
--- /dev/null
+++ b/content/documentation/sdks/javadoc/2.0.0/org/apache/beam/runners/spark/stateful/SparkTimerInternals.html
@@ -0,0 +1,588 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112-google-v7) on Fri May 12 16:50:05 PDT 2017 -->
+<title>SparkTimerInternals</title>
+<meta name="date" content="2017-05-12">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="SparkTimerInternals";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":9,"i9":9,"i10":9,"i11":9,"i12":10,"i13":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/beam/runners/spark/stateful/SparkGroupAlsoByWindowViaWindowSet.html" title="class in org.apache.beam.runners.spark.stateful"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/beam/runners/spark/stateful/StateSpecFunctions.html" title="class in org.apache.beam.runners.spark.stateful"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/beam/runners/spark/stateful/SparkTimerInternals.html" target="_top">Frames</a></li>
+<li><a href="SparkTimerInternals.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.beam.runners.spark.stateful</div>
+<h2 title="Class SparkTimerInternals" class="title">Class SparkTimerInternals</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.beam.runners.spark.stateful.SparkTimerInternals</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd>org.apache.beam.runners.core.TimerInternals</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">SparkTimerInternals</span>
+extends java.lang.Object
+implements org.apache.beam.runners.core.TimerInternals</pre>
+<div class="block">An implementation of <code>TimerInternals</code> for the SparkRunner.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.beam.runners.core.TimerInternals">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.beam.runners.core.TimerInternals</h3>
+<code>org.apache.beam.runners.core.TimerInternals.TimerData, org.apache.beam.runners.core.TimerInternals.TimerDataCoder</code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/runners/spark/stateful/SparkTimerInternals.html#advanceWatermark--">advanceWatermark</a></span>()</code>
+<div class="block">Advances the watermark.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="http://www.joda.org/joda-time/apidocs/org/joda/time/Instant.html?is-external=true" title="class or interface in org.joda.time">Instant</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/runners/spark/stateful/SparkTimerInternals.html#currentInputWatermarkTime--">currentInputWatermarkTime</a></span>()</code>
+<div class="block">Return the current, local input watermark timestamp for this computation
+ in the <a href="../../../../../../org/apache/beam/sdk/state/TimeDomain.html#EVENT_TIME"><code>TimeDomain.EVENT_TIME</code></a> time domain.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="http://www.joda.org/joda-time/apidocs/org/joda/time/Instant.html?is-external=true" title="class or interface in org.joda.time">Instant</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/runners/spark/stateful/SparkTimerInternals.html#currentOutputWatermarkTime--">currentOutputWatermarkTime</a></span>()</code>
+<div class="block">Return the current, local output watermark timestamp for this computation
+ in the <a href="../../../../../../org/apache/beam/sdk/state/TimeDomain.html#EVENT_TIME"><code>TimeDomain.EVENT_TIME</code></a> time domain.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="http://www.joda.org/joda-time/apidocs/org/joda/time/Instant.html?is-external=true" title="class or interface in org.joda.time">Instant</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/runners/spark/stateful/SparkTimerInternals.html#currentProcessingTime--">currentProcessingTime</a></span>()</code>
+<div class="block">Returns the current timestamp in the <a href="../../../../../../org/apache/beam/sdk/state/TimeDomain.html#PROCESSING_TIME"><code>TimeDomain.PROCESSING_TIME</code></a> time domain.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="http://www.joda.org/joda-time/apidocs/org/joda/time/Instant.html?is-external=true" title="class or interface in org.joda.time">Instant</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/runners/spark/stateful/SparkTimerInternals.html#currentSynchronizedProcessingTime--">currentSynchronizedProcessingTime</a></span>()</code>
+<div class="block">Returns the current timestamp in the <a href="../../../../../../org/apache/beam/sdk/state/TimeDomain.html#SYNCHRONIZED_PROCESSING_TIME"><code>TimeDomain.SYNCHRONIZED_PROCESSING_TIME</code></a> time
+ domain or <code>null</code> if unknown.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/runners/spark/stateful/SparkTimerInternals.html#deleteTimer-org.apache.beam.runners.core.StateNamespace-java.lang.String-">deleteTimer</a></span>(org.apache.beam.runners.core.StateNamespace&nbsp;namespace,
+           java.lang.String&nbsp;timerId)</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/runners/spark/stateful/SparkTimerInternals.html#deleteTimer-org.apache.beam.runners.core.StateNamespace-java.lang.String-org.apache.beam.sdk.state.TimeDomain-">deleteTimer</a></span>(org.apache.beam.runners.core.StateNamespace&nbsp;namespace,
+           java.lang.String&nbsp;timerId,
+           <a href="../../../../../../org/apache/beam/sdk/state/TimeDomain.html" title="enum in org.apache.beam.sdk.state">TimeDomain</a>&nbsp;timeDomain)</code>
+<div class="block">Deletes the given timer.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/runners/spark/stateful/SparkTimerInternals.html#deleteTimer-org.apache.beam.runners.core.TimerInternals.TimerData-">deleteTimer</a></span>(org.apache.beam.runners.core.TimerInternals.TimerData&nbsp;timer)</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>static java.lang.Iterable&lt;org.apache.beam.runners.core.TimerInternals.TimerData&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/runners/spark/stateful/SparkTimerInternals.html#deserializeTimers-java.util.Collection-org.apache.beam.runners.core.TimerInternals.TimerDataCoder-">deserializeTimers</a></span>(java.util.Collection&lt;byte[]&gt;&nbsp;serTimers,
+                 org.apache.beam.runners.core.TimerInternals.TimerDataCoder&nbsp;timerDataCoder)</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/beam/runners/spark/stateful/SparkTimerInternals.html" title="class in org.apache.beam.runners.spark.stateful">SparkTimerInternals</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/runners/spark/stateful/SparkTimerInternals.html#forStreamFromSources-java.util.List-org.apache.spark.broadcast.Broadcast-">forStreamFromSources</a></span>(java.util.List&lt;java.lang.Integer&gt;&nbsp;sourceIds,
+                    org.apache.spark.broadcast.Broadcast&lt;java.util.Map&lt;java.lang.Integer,<a href="../../../../../../org/apache/beam/runners/spark/util/GlobalWatermarkHolder.SparkWatermarks.html" title="class in org.apache.beam.runners.spark.util">GlobalWatermarkHolder.SparkWatermarks</a>&gt;&gt;&nbsp;broadcast)</code>
+<div class="block">Build the <code>TimerInternals</code> according to the feeding streams.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/beam/runners/spark/stateful/SparkTimerInternals.html" title="class in org.apache.beam.runners.spark.stateful">SparkTimerInternals</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/runners/spark/stateful/SparkTimerInternals.html#global-org.apache.spark.broadcast.Broadcast-">global</a></span>(org.apache.spark.broadcast.Broadcast&lt;java.util.Map&lt;java.lang.Integer,<a href="../../../../../../org/apache/beam/runners/spark/util/GlobalWatermarkHolder.SparkWatermarks.html" title="class in org.apache.beam.runners.spark.util">GlobalWatermarkHolder.SparkWatermarks</a>&gt;&gt;&nbsp;broadcast)</code>
+<div class="block">Build a global <code>TimerInternals</code> for all feeding streams.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>static java.util.Collection&lt;byte[]&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/runners/spark/stateful/SparkTimerInternals.html#serializeTimers-java.util.Collection-org.apache.beam.runners.core.TimerInternals.TimerDataCoder-">serializeTimers</a></span>(java.util.Collection&lt;org.apache.beam.runners.core.TimerInternals.TimerData&gt;&nbsp;timers,
+               org.apache.beam.runners.core.TimerInternals.TimerDataCoder&nbsp;timerDataCoder)</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/runners/spark/stateful/SparkTimerInternals.html#setTimer-org.apache.beam.runners.core.StateNamespace-java.lang.String-org.joda.time.Instant-org.apache.beam.sdk.state.TimeDomain-">setTimer</a></span>(org.apache.beam.runners.core.StateNamespace&nbsp;namespace,
+        java.lang.String&nbsp;timerId,
+        <a href="http://www.joda.org/joda-time/apidocs/org/joda/time/Instant.html?is-external=true" title="class or interface in org.joda.time">Instant</a>&nbsp;target,
+        <a href="../../../../../../org/apache/beam/sdk/state/TimeDomain.html" title="enum in org.apache.beam.sdk.state">TimeDomain</a>&nbsp;timeDomain)</code>
+<div class="block">Sets a timer to be fired when the current time in the specified time domain reaches the
+ target timestamp.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/runners/spark/stateful/SparkTimerInternals.html#setTimer-org.apache.beam.runners.core.TimerInternals.TimerData-">setTimer</a></span>(org.apache.beam.runners.core.TimerInternals.TimerData&nbsp;timer)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
+<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="forStreamFromSources-java.util.List-org.apache.spark.broadcast.Broadcast-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>forStreamFromSources</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/beam/runners/spark/stateful/SparkTimerInternals.html" title="class in org.apache.beam.runners.spark.stateful">SparkTimerInternals</a>&nbsp;forStreamFromSources(java.util.List&lt;java.lang.Integer&gt;&nbsp;sourceIds,
+                                                       @Nullable
+                                                       org.apache.spark.broadcast.Broadcast&lt;java.util.Map&lt;java.lang.Integer,<a href="../../../../../../org/apache/beam/runners/spark/util/GlobalWatermarkHolder.SparkWatermarks.html" title="class in org.apache.beam.runners.spark.util">GlobalWatermarkHolder.SparkWatermarks</a>&gt;&gt;&nbsp;broadcast)</pre>
+<div class="block">Build the <code>TimerInternals</code> according to the feeding streams.</div>
+</li>
+</ul>
+<a name="global-org.apache.spark.broadcast.Broadcast-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>global</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/beam/runners/spark/stateful/SparkTimerInternals.html" title="class in org.apache.beam.runners.spark.stateful">SparkTimerInternals</a>&nbsp;global(@Nullable
+                                         org.apache.spark.broadcast.Broadcast&lt;java.util.Map&lt;java.lang.Integer,<a href="../../../../../../org/apache/beam/runners/spark/util/GlobalWatermarkHolder.SparkWatermarks.html" title="class in org.apache.beam.runners.spark.util">GlobalWatermarkHolder.SparkWatermarks</a>&gt;&gt;&nbsp;broadcast)</pre>
+<div class="block">Build a global <code>TimerInternals</code> for all feeding streams.</div>
+</li>
+</ul>
+<a name="setTimer-org.apache.beam.runners.core.TimerInternals.TimerData-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setTimer</h4>
+<pre>public&nbsp;void&nbsp;setTimer(org.apache.beam.runners.core.TimerInternals.TimerData&nbsp;timer)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>setTimer</code>&nbsp;in interface&nbsp;<code>org.apache.beam.runners.core.TimerInternals</code></dd>
+</dl>
+</li>
+</ul>
+<a name="deleteTimer-org.apache.beam.runners.core.StateNamespace-java.lang.String-org.apache.beam.sdk.state.TimeDomain-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>deleteTimer</h4>
+<pre>public&nbsp;void&nbsp;deleteTimer(org.apache.beam.runners.core.StateNamespace&nbsp;namespace,
+                        java.lang.String&nbsp;timerId,
+                        <a href="../../../../../../org/apache/beam/sdk/state/TimeDomain.html" title="enum in org.apache.beam.sdk.state">TimeDomain</a>&nbsp;timeDomain)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code>org.apache.beam.runners.core.TimerInternals</code></span></div>
+<div class="block">Deletes the given timer.
+
+ <p>A timer's ID is enforced to be unique in validation of a <a href="../../../../../../org/apache/beam/sdk/transforms/DoFn.html" title="class in org.apache.beam.sdk.transforms"><code>DoFn</code></a>, but runners
+ often manage timers for different time domains in very different ways, thus the
+ <a href="../../../../../../org/apache/beam/sdk/state/TimeDomain.html" title="enum in org.apache.beam.sdk.state"><code>TimeDomain</code></a> is a required parameter.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>deleteTimer</code>&nbsp;in interface&nbsp;<code>org.apache.beam.runners.core.TimerInternals</code></dd>
+</dl>
+</li>
+</ul>
+<a name="deleteTimer-org.apache.beam.runners.core.TimerInternals.TimerData-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>deleteTimer</h4>
+<pre>public&nbsp;void&nbsp;deleteTimer(org.apache.beam.runners.core.TimerInternals.TimerData&nbsp;timer)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>deleteTimer</code>&nbsp;in interface&nbsp;<code>org.apache.beam.runners.core.TimerInternals</code></dd>
+</dl>
+</li>
+</ul>
+<a name="currentProcessingTime--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>currentProcessingTime</h4>
+<pre>public&nbsp;<a href="http://www.joda.org/joda-time/apidocs/org/joda/time/Instant.html?is-external=true" title="class or interface in org.joda.time">Instant</a>&nbsp;currentProcessingTime()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code>org.apache.beam.runners.core.TimerInternals</code></span></div>
+<div class="block">Returns the current timestamp in the <a href="../../../../../../org/apache/beam/sdk/state/TimeDomain.html#PROCESSING_TIME"><code>TimeDomain.PROCESSING_TIME</code></a> time domain.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>currentProcessingTime</code>&nbsp;in interface&nbsp;<code>org.apache.beam.runners.core.TimerInternals</code></dd>
+</dl>
+</li>
+</ul>
+<a name="currentSynchronizedProcessingTime--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>currentSynchronizedProcessingTime</h4>
+<pre>@Nullable
+public&nbsp;<a href="http://www.joda.org/joda-time/apidocs/org/joda/time/Instant.html?is-external=true" title="class or interface in org.joda.time">Instant</a>&nbsp;currentSynchronizedProcessingTime()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code>org.apache.beam.runners.core.TimerInternals</code></span></div>
+<div class="block">Returns the current timestamp in the <a href="../../../../../../org/apache/beam/sdk/state/TimeDomain.html#SYNCHRONIZED_PROCESSING_TIME"><code>TimeDomain.SYNCHRONIZED_PROCESSING_TIME</code></a> time
+ domain or <code>null</code> if unknown.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>currentSynchronizedProcessingTime</code>&nbsp;in interface&nbsp;<code>org.apache.beam.runners.core.TimerInternals</code></dd>
+</dl>
+</li>
+</ul>
+<a name="currentInputWatermarkTime--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>currentInputWatermarkTime</h4>
+<pre>public&nbsp;<a href="http://www.joda.org/joda-time/apidocs/org/joda/time/Instant.html?is-external=true" title="class or interface in org.joda.time">Instant</a>&nbsp;currentInputWatermarkTime()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code>org.apache.beam.runners.core.TimerInternals</code></span></div>
+<div class="block">Return the current, local input watermark timestamp for this computation
+ in the <a href="../../../../../../org/apache/beam/sdk/state/TimeDomain.html#EVENT_TIME"><code>TimeDomain.EVENT_TIME</code></a> time domain.
+
+ <p>This value:
+ <ol>
+ <li>Is never null, but may be <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/BoundedWindow.html#TIMESTAMP_MIN_VALUE"><code>BoundedWindow.TIMESTAMP_MIN_VALUE</code></a>.
+ <li>Is monotonically increasing.
+ <li>May differ between workers due to network and other delays.
+ <li>Will never be ahead of the global input watermark for this computation. But it
+ may be arbitrarily behind the global input watermark.
+ <li>Any element with a timestamp before the local input watermark can be considered
+ 'locally late' and be subject to special processing or be dropped entirely.
+ </ol>
+
+ <p>Note that because the local input watermark can be behind the global input watermark,
+ it is possible for an element to be considered locally on-time even though it is
+ globally late.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>currentInputWatermarkTime</code>&nbsp;in interface&nbsp;<code>org.apache.beam.runners.core.TimerInternals</code></dd>
+</dl>
+</li>
+</ul>
+<a name="advanceWatermark--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>advanceWatermark</h4>
+<pre>public&nbsp;void&nbsp;advanceWatermark()</pre>
+<div class="block">Advances the watermark.</div>
+</li>
+</ul>
+<a name="currentOutputWatermarkTime--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>currentOutputWatermarkTime</h4>
+<pre>@Nullable
+public&nbsp;<a href="http://www.joda.org/joda-time/apidocs/org/joda/time/Instant.html?is-external=true" title="class or interface in org.joda.time">Instant</a>&nbsp;currentOutputWatermarkTime()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code>org.apache.beam.runners.core.TimerInternals</code></span></div>
+<div class="block">Return the current, local output watermark timestamp for this computation
+ in the <a href="../../../../../../org/apache/beam/sdk/state/TimeDomain.html#EVENT_TIME"><code>TimeDomain.EVENT_TIME</code></a> time domain. Return <code>null</code> if unknown.
+
+ <p>This value:
+ <ol>
+ <li>Is monotonically increasing.
+ <li>Will never be ahead of <code>TimerInternals.currentInputWatermarkTime()</code> as returned above.
+ <li>May differ between workers due to network and other delays.
+ <li>However will never be behind the global input watermark for any following computation.
+ </ol>
+
+ <p>In pictures:
+ <pre><code>
+  |              |       |       |       |
+  |              |   D   |   C   |   B   |   A
+  |              |       |       |       |
+ GIWM     &lt;=    GOWM &lt;= LOWM &lt;= LIWM &lt;= GIWM
+ (next stage)
+ -------------------------------------------------&gt; event time
+ </code></pre>
+
+ <p>where
+
+ <ul>
+ <li> LOWM = local output water mark.
+ <li> GOWM = global output water mark.
+ <li> GIWM = global input water mark.
+ <li> LIWM = local input water mark.
+ <li> A = A globally on-time element.
+ <li> B = A globally late, but locally on-time element.
+ <li> C = A locally late element which may still contribute to the timestamp of a pane.
+ <li> D = A locally late element which cannot contribute to the timestamp of a pane.
+ </ul>
+
+ <p>Note that if a computation emits an element which is not before the current output watermark
+ then that element will always appear locally on-time in all following computations. However,
+ it is possible for an element emitted before the current output watermark to appear locally
+ on-time in a following computation. Thus we must be careful to never assume locally late data
+ viewed on the output of a computation remains locally late on the input of a following
+ computation.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>currentOutputWatermarkTime</code>&nbsp;in interface&nbsp;<code>org.apache.beam.runners.core.TimerInternals</code></dd>
+</dl>
+</li>
+</ul>
+<a name="setTimer-org.apache.beam.runners.core.StateNamespace-java.lang.String-org.joda.time.Instant-org.apache.beam.sdk.state.TimeDomain-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setTimer</h4>
+<pre>public&nbsp;void&nbsp;setTimer(org.apache.beam.runners.core.StateNamespace&nbsp;namespace,
+                     java.lang.String&nbsp;timerId,
+                     <a href="http://www.joda.org/joda-time/apidocs/org/joda/time/Instant.html?is-external=true" title="class or interface in org.joda.time">Instant</a>&nbsp;target,
+                     <a href="../../../../../../org/apache/beam/sdk/state/TimeDomain.html" title="enum in org.apache.beam.sdk.state">TimeDomain</a>&nbsp;timeDomain)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code>org.apache.beam.runners.core.TimerInternals</code></span></div>
+<div class="block">Sets a timer to be fired when the current time in the specified time domain reaches the
+ target timestamp.
+
+ <p>The combination of <code>namespace</code> and <code>timerId</code> uniquely identify a timer.
+
+ <p>If a timer is set and then set again before it fires, later settings should clear the prior
+ setting.
+
+ <p>It is an error to set a timer for two different time domains.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>setTimer</code>&nbsp;in interface&nbsp;<code>org.apache.beam.runners.core.TimerInternals</code></dd>
+</dl>
+</li>
+</ul>
+<a name="deleteTimer-org.apache.beam.runners.core.StateNamespace-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>deleteTimer</h4>
+<pre>public&nbsp;void&nbsp;deleteTimer(org.apache.beam.runners.core.StateNamespace&nbsp;namespace,
+                        java.lang.String&nbsp;timerId)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>deleteTimer</code>&nbsp;in interface&nbsp;<code>org.apache.beam.runners.core.TimerInternals</code></dd>
+</dl>
+</li>
+</ul>
+<a name="serializeTimers-java.util.Collection-org.apache.beam.runners.core.TimerInternals.TimerDataCoder-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>serializeTimers</h4>
+<pre>public static&nbsp;java.util.Collection&lt;byte[]&gt;&nbsp;serializeTimers(java.util.Collection&lt;org.apache.beam.runners.core.TimerInternals.TimerData&gt;&nbsp;timers,
+                                                           org.apache.beam.runners.core.TimerInternals.TimerDataCoder&nbsp;timerDataCoder)</pre>
+</li>
+</ul>
+<a name="deserializeTimers-java.util.Collection-org.apache.beam.runners.core.TimerInternals.TimerDataCoder-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>deserializeTimers</h4>
+<pre>public static&nbsp;java.lang.Iterable&lt;org.apache.beam.runners.core.TimerInternals.TimerData&gt;&nbsp;deserializeTimers(java.util.Collection&lt;byte[]&gt;&nbsp;serTimers,
+                                                                                                          org.apache.beam.runners.core.TimerInternals.TimerDataCoder&nbsp;timerDataCoder)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/beam/runners/spark/stateful/SparkGroupAlsoByWindowViaWindowSet.html" title="class in org.apache.beam.runners.spark.stateful"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/beam/runners/spark/stateful/StateSpecFunctions.html" title="class in org.apache.beam.runners.spark.stateful"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/beam/runners/spark/stateful/SparkTimerInternals.html" target="_top">Frames</a></li>
+<li><a href="SparkTimerInternals.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/beam-site/blob/c196579f/content/documentation/sdks/javadoc/2.0.0/org/apache/beam/runners/spark/stateful/StateSpecFunctions.html
----------------------------------------------------------------------
diff --git a/content/documentation/sdks/javadoc/2.0.0/org/apache/beam/runners/spark/stateful/StateSpecFunctions.html b/content/documentation/sdks/javadoc/2.0.0/org/apache/beam/runners/spark/stateful/StateSpecFunctions.html
new file mode 100644
index 0000000..458ea4b
--- /dev/null
+++ b/content/documentation/sdks/javadoc/2.0.0/org/apache/beam/runners/spark/stateful/StateSpecFunctions.html
@@ -0,0 +1,309 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112-google-v7) on Fri May 12 16:50:05 PDT 2017 -->
+<title>StateSpecFunctions</title>
+<meta name="date" content="2017-05-12">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="StateSpecFunctions";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/beam/runners/spark/stateful/SparkTimerInternals.html" title="class in org.apache.beam.runners.spark.stateful"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/beam/runners/spark/stateful/StateSpecFunctions.html" target="_top">Frames</a></li>
+<li><a href="StateSpecFunctions.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.beam.runners.spark.stateful</div>
+<h2 title="Class StateSpecFunctions" class="title">Class StateSpecFunctions</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.beam.runners.spark.stateful.StateSpecFunctions</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">StateSpecFunctions</span>
+extends java.lang.Object</pre>
+<div class="block">A class containing <code>StateSpec</code> mappingFunctions.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/runners/spark/stateful/StateSpecFunctions.html#StateSpecFunctions--">StateSpecFunctions</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static &lt;T,CheckpointMarkT extends <a href="../../../../../../org/apache/beam/sdk/io/UnboundedSource.CheckpointMark.html" title="interface in org.apache.beam.sdk.io">UnboundedSource.CheckpointMark</a>&gt;<br>scala.Function3&lt;<a href="../../../../../../org/apache/beam/sdk/io/Source.html" title="class in org.apache.beam.sdk.io">Source</a>&lt;T&gt;,scala.Option&lt;CheckpointMarkT&gt;,org.apache.spark.streaming.State&lt;scala.Tuple2&lt;byte[],<a href="http://www.joda.org/joda-time/apidocs/org/joda/time/Instant.html?is-external=true" title="class or interface in org.joda.time">Instant</a>&gt;&gt;,scala.Tuple2&lt;java.lang.Iterable&lt;byte[]&gt;,<a href="../../../../../../org/apache/beam/runners/spark/io/SparkUnboundedSource.Metadata.html" title="class in org.apache.beam.runners.spark.io">SparkUnboundedSource.Metadata</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/runners/spark/stateful/StateSpecFunctions.html#mapSourceFunction-org.apache.beam.runners.spark.translation.SparkRuntimeContext-java.lang.String-">mapSourceFunction</a></span>(org.apache.beam.runners.spark.translation.SparkRuntimeContext&nbsp;runtimeContext,
+                 java.lang.String&nbsp;stepName)</code>
+<div class="block">A <code>StateSpec</code> function to support reading from
+ an <a href="../../../../../../org/apache/beam/sdk/io/UnboundedSource.html" title="class in org.apache.beam.sdk.io"><code>UnboundedSource</code></a>.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
+<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="StateSpecFunctions--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>StateSpecFunctions</h4>
+<pre>public&nbsp;StateSpecFunctions()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="mapSourceFunction-org.apache.beam.runners.spark.translation.SparkRuntimeContext-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>mapSourceFunction</h4>
+<pre>public static&nbsp;&lt;T,CheckpointMarkT extends <a href="../../../../../../org/apache/beam/sdk/io/UnboundedSource.CheckpointMark.html" title="interface in org.apache.beam.sdk.io">UnboundedSource.CheckpointMark</a>&gt;&nbsp;scala.Function3&lt;<a href="../../../../../../org/apache/beam/sdk/io/Source.html" title="class in org.apache.beam.sdk.io">Source</a>&lt;T&gt;,scala.Option&lt;CheckpointMarkT&gt;,org.apache.spark.streaming.State&lt;scala.Tuple2&lt;byte[],<a href="http://www.joda.org/joda-time/apidocs/org/joda/time/Instant.html?is-external=true" title="class or interface in org.joda.time">Instant</a>&gt;&gt;,scala.Tuple2&lt;java.lang.Iterable&lt;byte[]&gt;,<a href="../../../../../../org/apache/beam/runners/spark/io/SparkUnboundedSource.Metadata.html" title="class in org.apache.beam.runners.spark.io">SparkUnboundedSource.Metadata</a>&gt;&gt;&nbsp;mapSourceFunction(org.apache.beam.runners.spark.translation.SparkRuntimeContext&nbsp;runtimeContext,
+                                                                                                                                                                                                                                                                                          java.lang.String&nbsp;stepName)</pre>
+<div class="block">A <code>StateSpec</code> function to support reading from
+ an <a href="../../../../../../org/apache/beam/sdk/io/UnboundedSource.html" title="class in org.apache.beam.sdk.io"><code>UnboundedSource</code></a>.
+
+ <p>This StateSpec function expects the following:
+ <ul>
+ <li>Key: The (partitioned) Source to read from.</li>
+ <li>Value: An optional <code>UnboundedSource.CheckpointMark</code> to start from.</li>
+ <li>State: A byte representation of the (previously) persisted CheckpointMark.</li>
+ </ul>
+ And returns an iterator over all read values (for the micro-batch).
+
+ <p>This stateful operation could be described as a flatMap over a single-element stream, which
+ outputs all the elements read from the <a href="../../../../../../org/apache/beam/sdk/io/UnboundedSource.html" title="class in org.apache.beam.sdk.io"><code>UnboundedSource</code></a> for this micro-batch.
+ Since micro-batches are bounded, the provided UnboundedSource is wrapped by a
+ <a href="../../../../../../org/apache/beam/runners/spark/io/MicrobatchSource.html" title="class in org.apache.beam.runners.spark.io"><code>MicrobatchSource</code></a> that applies bounds in the form of duration and max records
+ (per micro-batch).
+
+
+ <p>In order to avoid using Spark Guava's classes which pollute the
+ classpath, we use the <code>StateSpec.function(scala.Function3)</code> signature which employs
+ scala's native <code>Option</code>, instead of the
+ <code>StateSpec.function(org.apache.spark.api.java.function.Function3)</code> signature,
+ which employs Guava's <a href="http://google.github.io/guava/releases/20.0/api/docs/com/google/common/base/Optional.html?is-external=true" title="class or interface in com.google.common.base"><code>Optional</code></a>.
+
+ <p>See also <a href="https://issues.apache.org/jira/browse/SPARK-4819">SPARK-4819</a>.</p></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - The type of the input stream elements.</dd>
+<dd><code>CheckpointMarkT</code> - The type of the <code>UnboundedSource.CheckpointMark</code>.</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>runtimeContext</code> - A serializable <code>SparkRuntimeContext</code>.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The appropriate <code>StateSpec</code> function.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/beam/runners/spark/stateful/SparkTimerInternals.html" title="class in org.apache.beam.runners.spark.stateful"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/beam/runners/spark/stateful/StateSpecFunctions.html" target="_top">Frames</a></li>
+<li><a href="StateSpecFunctions.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/beam-site/blob/c196579f/content/documentation/sdks/javadoc/2.0.0/org/apache/beam/runners/spark/stateful/package-frame.html
----------------------------------------------------------------------
diff --git a/content/documentation/sdks/javadoc/2.0.0/org/apache/beam/runners/spark/stateful/package-frame.html b/content/documentation/sdks/javadoc/2.0.0/org/apache/beam/runners/spark/stateful/package-frame.html
new file mode 100644
index 0000000..5fd9de8
--- /dev/null
+++ b/content/documentation/sdks/javadoc/2.0.0/org/apache/beam/runners/spark/stateful/package-frame.html
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112-google-v7) on Fri May 12 16:50:08 PDT 2017 -->
+<title>org.apache.beam.runners.spark.stateful</title>
+<meta name="date" content="2017-05-12">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../../org/apache/beam/runners/spark/stateful/package-summary.html" target="classFrame">org.apache.beam.runners.spark.stateful</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="SparkGroupAlsoByWindowViaWindowSet.html" title="class in org.apache.beam.runners.spark.stateful" target="classFrame">SparkGroupAlsoByWindowViaWindowSet</a></li>
+<li><a href="SparkTimerInternals.html" title="class in org.apache.beam.runners.spark.stateful" target="classFrame">SparkTimerInternals</a></li>
+<li><a href="StateSpecFunctions.html" title="class in org.apache.beam.runners.spark.stateful" target="classFrame">StateSpecFunctions</a></li>
+</ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/beam-site/blob/c196579f/content/documentation/sdks/javadoc/2.0.0/org/apache/beam/runners/spark/stateful/package-summary.html
----------------------------------------------------------------------
diff --git a/content/documentation/sdks/javadoc/2.0.0/org/apache/beam/runners/spark/stateful/package-summary.html b/content/documentation/sdks/javadoc/2.0.0/org/apache/beam/runners/spark/stateful/package-summary.html
new file mode 100644
index 0000000..f92dfe9
--- /dev/null
+++ b/content/documentation/sdks/javadoc/2.0.0/org/apache/beam/runners/spark/stateful/package-summary.html
@@ -0,0 +1,164 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112-google-v7) on Fri May 12 16:50:08 PDT 2017 -->
+<title>org.apache.beam.runners.spark.stateful</title>
+<meta name="date" content="2017-05-12">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.beam.runners.spark.stateful";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/beam/runners/spark/metrics/sink/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/beam/runners/spark/util/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/beam/runners/spark/stateful/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.beam.runners.spark.stateful</h1>
+<div class="docSummary">
+<div class="block">Spark-specific stateful operators.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/beam/runners/spark/stateful/SparkGroupAlsoByWindowViaWindowSet.html" title="class in org.apache.beam.runners.spark.stateful">SparkGroupAlsoByWindowViaWindowSet</a></td>
+<td class="colLast">
+<div class="block">An implementation of <code>GroupAlsoByWindowViaWindowSetDoFn</code>
+ logic for grouping by windows and controlling trigger firings and pane accumulation.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/beam/runners/spark/stateful/SparkTimerInternals.html" title="class in org.apache.beam.runners.spark.stateful">SparkTimerInternals</a></td>
+<td class="colLast">
+<div class="block">An implementation of <code>TimerInternals</code> for the SparkRunner.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/beam/runners/spark/stateful/StateSpecFunctions.html" title="class in org.apache.beam.runners.spark.stateful">StateSpecFunctions</a></td>
+<td class="colLast">
+<div class="block">A class containing <code>StateSpec</code> mappingFunctions.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.beam.runners.spark.stateful Description">Package org.apache.beam.runners.spark.stateful Description</h2>
+<div class="block">Spark-specific stateful operators.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/beam/runners/spark/metrics/sink/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/beam/runners/spark/util/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/beam/runners/spark/stateful/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/beam-site/blob/c196579f/content/documentation/sdks/javadoc/2.0.0/org/apache/beam/runners/spark/stateful/package-tree.html
----------------------------------------------------------------------
diff --git a/content/documentation/sdks/javadoc/2.0.0/org/apache/beam/runners/spark/stateful/package-tree.html b/content/documentation/sdks/javadoc/2.0.0/org/apache/beam/runners/spark/stateful/package-tree.html
new file mode 100644
index 0000000..7da4a7b
--- /dev/null
+++ b/content/documentation/sdks/javadoc/2.0.0/org/apache/beam/runners/spark/stateful/package-tree.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112-google-v7) on Fri May 12 16:50:08 PDT 2017 -->
+<title>org.apache.beam.runners.spark.stateful Class Hierarchy</title>
+<meta name="date" content="2017-05-12">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.beam.runners.spark.stateful Class Hierarchy";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/beam/runners/spark/metrics/sink/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/beam/runners/spark/util/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/beam/runners/spark/stateful/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.beam.runners.spark.stateful</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.Object
+<ul>
+<li type="circle">org.apache.beam.runners.spark.stateful.<a href="../../../../../../org/apache/beam/runners/spark/stateful/SparkGroupAlsoByWindowViaWindowSet.html" title="class in org.apache.beam.runners.spark.stateful"><span class="typeNameLink">SparkGroupAlsoByWindowViaWindowSet</span></a></li>
+<li type="circle">org.apache.beam.runners.spark.stateful.<a href="../../../../../../org/apache/beam/runners/spark/stateful/SparkTimerInternals.html" title="class in org.apache.beam.runners.spark.stateful"><span class="typeNameLink">SparkTimerInternals</span></a> (implements org.apache.beam.runners.core.TimerInternals)</li>
+<li type="circle">org.apache.beam.runners.spark.stateful.<a href="../../../../../../org/apache/beam/runners/spark/stateful/StateSpecFunctions.html" title="class in org.apache.beam.runners.spark.stateful"><span class="typeNameLink">StateSpecFunctions</span></a></li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/beam/runners/spark/metrics/sink/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/beam/runners/spark/util/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/beam/runners/spark/stateful/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/beam-site/blob/c196579f/content/documentation/sdks/javadoc/2.0.0/org/apache/beam/runners/spark/util/ByteArray.html
----------------------------------------------------------------------
diff --git a/content/documentation/sdks/javadoc/2.0.0/org/apache/beam/runners/spark/util/ByteArray.html b/content/documentation/sdks/javadoc/2.0.0/org/apache/beam/runners/spark/util/ByteArray.html
new file mode 100644
index 0000000..4494230
--- /dev/null
+++ b/content/documentation/sdks/javadoc/2.0.0/org/apache/beam/runners/spark/util/ByteArray.html
@@ -0,0 +1,330 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112-google-v7) on Fri May 12 16:50:05 PDT 2017 -->
+<title>ByteArray</title>
+<meta name="date" content="2017-05-12">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ByteArray";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/beam/runners/spark/util/GlobalWatermarkHolder.html" title="class in org.apache.beam.runners.spark.util"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/beam/runners/spark/util/ByteArray.html" target="_top">Frames</a></li>
+<li><a href="ByteArray.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.beam.runners.spark.util</div>
+<h2 title="Class ByteArray" class="title">Class ByteArray</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.beam.runners.spark.util.ByteArray</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd>java.io.Serializable, java.lang.Comparable&lt;<a href="../../../../../../org/apache/beam/runners/spark/util/ByteArray.html" title="class in org.apache.beam.runners.spark.util">ByteArray</a>&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ByteArray</span>
+extends java.lang.Object
+implements java.io.Serializable, java.lang.Comparable&lt;<a href="../../../../../../org/apache/beam/runners/spark/util/ByteArray.html" title="class in org.apache.beam.runners.spark.util">ByteArray</a>&gt;</pre>
+<div class="block">Serializable byte array.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../serialized-form.html#org.apache.beam.runners.spark.util.ByteArray">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/runners/spark/util/ByteArray.html#ByteArray-byte:A-">ByteArray</a></span>(byte[]&nbsp;value)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/runners/spark/util/ByteArray.html#compareTo-org.apache.beam.runners.spark.util.ByteArray-">compareTo</a></span>(<a href="../../../../../../org/apache/beam/runners/spark/util/ByteArray.html" title="class in org.apache.beam.runners.spark.util">ByteArray</a>&nbsp;other)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/runners/spark/util/ByteArray.html#equals-java.lang.Object-">equals</a></span>(java.lang.Object&nbsp;o)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/runners/spark/util/ByteArray.html#getValue--">getValue</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/runners/spark/util/ByteArray.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
+<code>clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait</code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ByteArray-byte:A-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ByteArray</h4>
+<pre>public&nbsp;ByteArray(byte[]&nbsp;value)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getValue--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getValue</h4>
+<pre>public&nbsp;byte[]&nbsp;getValue()</pre>
+</li>
+</ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;equals(java.lang.Object&nbsp;o)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>equals</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;hashCode()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>hashCode</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+</dl>
+</li>
+</ul>
+<a name="compareTo-org.apache.beam.runners.spark.util.ByteArray-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>compareTo</h4>
+<pre>public&nbsp;int&nbsp;compareTo(<a href="../../../../../../org/apache/beam/runners/spark/util/ByteArray.html" title="class in org.apache.beam.runners.spark.util">ByteArray</a>&nbsp;other)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>compareTo</code>&nbsp;in interface&nbsp;<code>java.lang.Comparable&lt;<a href="../../../../../../org/apache/beam/runners/spark/util/ByteArray.html" title="class in org.apache.beam.runners.spark.util">ByteArray</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/beam/runners/spark/util/GlobalWatermarkHolder.html" title="class in org.apache.beam.runners.spark.util"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/beam/runners/spark/util/ByteArray.html" target="_top">Frames</a></li>
+<li><a href="ByteArray.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>