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 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 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 Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All 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: </li>
+<li>Nested | </li>
+<li>Field | </li>
+<li>Constr | </li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail: </li>
+<li>Field | </li>
+<li>Constr | </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 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"> </span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </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 namespace,
+ java.lang.String timerId)</code> </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 namespace,
+ java.lang.String timerId,
+ <a href="../../../../../../org/apache/beam/sdk/state/TimeDomain.html" title="enum in org.apache.beam.sdk.state">TimeDomain</a> 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 timer)</code> </td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>static java.lang.Iterable<org.apache.beam.runners.core.TimerInternals.TimerData></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<byte[]> serTimers,
+ org.apache.beam.runners.core.TimerInternals.TimerDataCoder timerDataCoder)</code> </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<java.lang.Integer> sourceIds,
+ org.apache.spark.broadcast.Broadcast<java.util.Map<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>>> 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<java.util.Map<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>>> 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<byte[]></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<org.apache.beam.runners.core.TimerInternals.TimerData> timers,
+ org.apache.beam.runners.core.TimerInternals.TimerDataCoder timerDataCoder)</code> </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 namespace,
+ java.lang.String 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> target,
+ <a href="../../../../../../org/apache/beam/sdk/state/TimeDomain.html" title="enum in org.apache.beam.sdk.state">TimeDomain</a> 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 timer)</code> </td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class 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 <a href="../../../../../../org/apache/beam/runners/spark/stateful/SparkTimerInternals.html" title="class in org.apache.beam.runners.spark.stateful">SparkTimerInternals</a> forStreamFromSources(java.util.List<java.lang.Integer> sourceIds,
+ @Nullable
+ org.apache.spark.broadcast.Broadcast<java.util.Map<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>>> 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 <a href="../../../../../../org/apache/beam/runners/spark/stateful/SparkTimerInternals.html" title="class in org.apache.beam.runners.spark.stateful">SparkTimerInternals</a> global(@Nullable
+ org.apache.spark.broadcast.Broadcast<java.util.Map<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>>> 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 void setTimer(org.apache.beam.runners.core.TimerInternals.TimerData timer)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>setTimer</code> in interface <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 void deleteTimer(org.apache.beam.runners.core.StateNamespace namespace,
+ java.lang.String timerId,
+ <a href="../../../../../../org/apache/beam/sdk/state/TimeDomain.html" title="enum in org.apache.beam.sdk.state">TimeDomain</a> timeDomain)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <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> in interface <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 void deleteTimer(org.apache.beam.runners.core.TimerInternals.TimerData timer)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>deleteTimer</code> in interface <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 <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> currentProcessingTime()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <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> in interface <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 <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> currentSynchronizedProcessingTime()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <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> in interface <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 <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> currentInputWatermarkTime()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <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> in interface <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 void 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 <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> currentOutputWatermarkTime()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <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 <= GOWM <= LOWM <= LIWM <= GIWM
+ (next stage)
+ -------------------------------------------------> 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> in interface <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 void setTimer(org.apache.beam.runners.core.StateNamespace namespace,
+ java.lang.String 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> target,
+ <a href="../../../../../../org/apache/beam/sdk/state/TimeDomain.html" title="enum in org.apache.beam.sdk.state">TimeDomain</a> timeDomain)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface: <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> in interface <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 void deleteTimer(org.apache.beam.runners.core.StateNamespace namespace,
+ java.lang.String timerId)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>deleteTimer</code> in interface <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 java.util.Collection<byte[]> serializeTimers(java.util.Collection<org.apache.beam.runners.core.TimerInternals.TimerData> timers,
+ org.apache.beam.runners.core.TimerInternals.TimerDataCoder 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 java.lang.Iterable<org.apache.beam.runners.core.TimerInternals.TimerData> deserializeTimers(java.util.Collection<byte[]> serTimers,
+ org.apache.beam.runners.core.TimerInternals.TimerDataCoder 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 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 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 Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All 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: </li>
+<li>Nested | </li>
+<li>Field | </li>
+<li>Constr | </li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail: </li>
+<li>Field | </li>
+<li>Constr | </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 Class</span></a></li>
+<li>Next 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 Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All 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: </li>
+<li>Nested | </li>
+<li>Field | </li>
+<li><a href="#constructor.summary">Constr</a> | </li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail: </li>
+<li>Field | </li>
+<li><a href="#constructor.detail">Constr</a> | </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"> </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> </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"> </span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </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 <T,CheckpointMarkT extends <a href="../../../../../../org/apache/beam/sdk/io/UnboundedSource.CheckpointMark.html" title="interface in org.apache.beam.sdk.io">UnboundedSource.CheckpointMark</a>><br>scala.Function3<<a href="../../../../../../org/apache/beam/sdk/io/Source.html" title="class in org.apache.beam.sdk.io">Source</a><T>,scala.Option<CheckpointMarkT>,org.apache.spark.streaming.State<scala.Tuple2<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>>>,scala.Tuple2<java.lang.Iterable<byte[]>,<a href="../../../../../../org/apache/beam/runners/spark/io/SparkUnboundedSource.Metadata.html" title="class in org.apache.beam.runners.spark.io">SparkUnboundedSource.Metadata</a>>></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 runtimeContext,
+ java.lang.String 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 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 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 <T,CheckpointMarkT extends <a href="../../../../../../org/apache/beam/sdk/io/UnboundedSource.CheckpointMark.html" title="interface in org.apache.beam.sdk.io">UnboundedSource.CheckpointMark</a>> scala.Function3<<a href="../../../../../../org/apache/beam/sdk/io/Source.html" title="class in org.apache.beam.sdk.io">Source</a><T>,scala.Option<CheckpointMarkT>,org.apache.spark.streaming.State<scala.Tuple2<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>>>,scala.Tuple2<java.lang.Iterable<byte[]>,<a href="../../../../../../org/apache/beam/runners/spark/io/SparkUnboundedSource.Metadata.html" title="class in org.apache.beam.runners.spark.io">SparkUnboundedSource.Metadata</a>>> mapSourceFunction(org.apache.beam.runners.spark.translation.SparkRuntimeContext runtimeContext,
+ java.lang.String 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 Class</span></a></li>
+<li>Next 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 Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All 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: </li>
+<li>Nested | </li>
+<li>Field | </li>
+<li><a href="#constructor.summary">Constr</a> | </li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail: </li>
+<li>Field | </li>
+<li><a href="#constructor.detail">Constr</a> | </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 Package</a></li>
+<li><a href="../../../../../../org/apache/beam/runners/spark/util/package-summary.html">Next 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 Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All 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 org.apache.beam.runners.spark.stateful</h1>
+<div class="docSummary">
+<div class="block">Spark-specific stateful operators.</div>
+</div>
+<p>See: <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"> </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 Package</a></li>
+<li><a href="../../../../../../org/apache/beam/runners/spark/util/package-summary.html">Next 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 Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All 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 Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All 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 Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All 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 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 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 Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All 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: </li>
+<li>Nested | </li>
+<li>Field | </li>
+<li><a href="#constructor.summary">Constr</a> | </li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail: </li>
+<li>Field | </li>
+<li><a href="#constructor.detail">Constr</a> | </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<<a href="../../../../../../org/apache/beam/runners/spark/util/ByteArray.html" title="class in org.apache.beam.runners.spark.util">ByteArray</a>></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ByteArray</span>
+extends java.lang.Object
+implements java.io.Serializable, java.lang.Comparable<<a href="../../../../../../org/apache/beam/runners/spark/util/ByteArray.html" title="class in org.apache.beam.runners.spark.util">ByteArray</a>></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"> </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[] value)</code> </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"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </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> other)</code> </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 o)</code> </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> </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> </td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class 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 ByteArray(byte[] 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 byte[] getValue()</pre>
+</li>
+</ul>
+<a name="equals-java.lang.Object-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public boolean equals(java.lang.Object o)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>equals</code> in class <code>java.lang.Object</code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public int hashCode()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>hashCode</code> in class <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 int compareTo(<a href="../../../../../../org/apache/beam/runners/spark/util/ByteArray.html" title="class in org.apache.beam.runners.spark.util">ByteArray</a> other)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>compareTo</code> in interface <code>java.lang.Comparable<<a href="../../../../../../org/apache/beam/runners/spark/util/ByteArray.html" title="class in org.apache.beam.runners.spark.util">ByteArray</a>></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 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 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 Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All 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: </li>
+<li>Nested | </li>
+<li>Field | </li>
+<li><a href="#constructor.summary">Constr</a> | </li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail: </li>
+<li>Field | </li>
+<li><a href="#constructor.detail">Constr</a> | </li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>