You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by da...@apache.org on 2017/01/09 22:32:07 UTC

[32/52] [partial] beam-site git commit: Publish Javadoc for version 0.4.0

http://git-wip-us.apache.org/repos/asf/beam-site/blob/de6a0417/content/documentation/sdks/javadoc/0.4.0/org/apache/beam/runners/core/ReduceFnRunner.html
----------------------------------------------------------------------
diff --git a/content/documentation/sdks/javadoc/0.4.0/org/apache/beam/runners/core/ReduceFnRunner.html b/content/documentation/sdks/javadoc/0.4.0/org/apache/beam/runners/core/ReduceFnRunner.html
new file mode 100644
index 0000000..f96c50a
--- /dev/null
+++ b/content/documentation/sdks/javadoc/0.4.0/org/apache/beam/runners/core/ReduceFnRunner.html
@@ -0,0 +1,378 @@
+<!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_111) on Thu Dec 29 08:19:09 CET 2016 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ReduceFnRunner (Apache Beam SDK for Java, version 0.4.0)</title>
+<meta name="date" content="2016-12-29">
+<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="ReduceFnRunner (Apache Beam SDK for Java, version 0.4.0)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":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="class-use/ReduceFnRunner.html">Use</a></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/core/ReduceFn.ProcessValueContext.html" title="class in org.apache.beam.runners.core"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/beam/runners/core/SideInputHandler.html" title="class in org.apache.beam.runners.core"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/beam/runners/core/ReduceFnRunner.html" target="_top">Frames</a></li>
+<li><a href="ReduceFnRunner.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.core</div>
+<h2 title="Class ReduceFnRunner" class="title">Class ReduceFnRunner&lt;K,InputT,OutputT,W extends <a href="../../../../../org/apache/beam/sdk/transforms/windowing/BoundedWindow.html" title="class in org.apache.beam.sdk.transforms.windowing">BoundedWindow</a>&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.beam.runners.core.ReduceFnRunner&lt;K,InputT,OutputT,W&gt;</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>K</code> - The type of key being processed.</dd>
+<dd><code>InputT</code> - The type of values associated with the key.</dd>
+<dd><code>OutputT</code> - The output type that will be produced for each key.</dd>
+<dd><code>W</code> - The type of windows this operates on.</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ReduceFnRunner&lt;K,InputT,OutputT,W extends <a href="../../../../../org/apache/beam/sdk/transforms/windowing/BoundedWindow.html" title="class in org.apache.beam.sdk.transforms.windowing">BoundedWindow</a>&gt;</span>
+extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Manages the execution of a <a href="../../../../../org/apache/beam/runners/core/ReduceFn.html" title="class in org.apache.beam.runners.core"><code>ReduceFn</code></a> after a <a href="../../../../../org/apache/beam/runners/core/GroupByKeyViaGroupByKeyOnly.GroupByKeyOnly.html" title="class in org.apache.beam.runners.core"><code>GroupByKeyViaGroupByKeyOnly.GroupByKeyOnly</code></a> has partitioned the
+ <a href="../../../../../org/apache/beam/sdk/values/PCollection.html" title="class in org.apache.beam.sdk.values"><code>PCollection</code></a> by key.
+
+ <p>The <a href="../../../../../org/apache/beam/runners/core/ReduceFnRunner.html#onTrigger-org.apache.beam.runners.core.ReduceFn.Context-org.apache.beam.runners.core.ReduceFn.Context-boolean-boolean-"><code>onTrigger(org.apache.beam.runners.core.ReduceFn&lt;K, InputT, OutputT, W&gt;.Context, org.apache.beam.runners.core.ReduceFn&lt;K, InputT, OutputT, W&gt;.Context, boolean, boolean)</code></a> relies on a <a href="../../../../../org/apache/beam/runners/core/triggers/TriggerStateMachineRunner.html" title="class in org.apache.beam.runners.core.triggers"><code>TriggerStateMachineRunner</code></a> to manage the execution
+ of the triggering logic. The <code>ReduceFnRunner</code>s responsibilities are:
+
+ <ul>
+ <li>Tracking the windows that are active (have buffered data) as elements arrive and triggers are
+     fired.
+ <li>Holding the watermark based on the timestamps of elements in a pane and releasing it when the
+     trigger fires.
+ <li>Calling the appropriate callbacks on <a href="../../../../../org/apache/beam/runners/core/ReduceFn.html" title="class in org.apache.beam.runners.core"><code>ReduceFn</code></a> based on trigger execution, timer
+     firings, etc, and providing appropriate contexts to the <a href="../../../../../org/apache/beam/runners/core/ReduceFn.html" title="class in org.apache.beam.runners.core"><code>ReduceFn</code></a> for actions such as
+     output.
+ <li>Scheduling garbage collection of state associated with a specific window, and making that
+     happen when the appropriate timer fires.
+ </ul></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/core/ReduceFnRunner.html#ReduceFnRunner-K-org.apache.beam.sdk.util.WindowingStrategy-org.apache.beam.runners.core.triggers.ExecutableTriggerStateMachine-org.apache.beam.sdk.util.state.StateInternals-org.apache.beam.sdk.util.TimerInternals-org.apache.beam.runners.core.OutputWindowedValue-org.apache.beam.sdk.util.SideInputReader-org.apache.beam.sdk.transforms.Aggregator-org.apache.beam.runners.core.ReduceFn-org.apache.beam.sdk.options.PipelineOptions-">ReduceFnRunner</a></span>(<a href="../../../../../org/apache/beam/runners/core/ReduceFnRunner.html" title="type parameter in ReduceFnRunner">K</a>&nbsp;key,
+              <a href="../../../../../org/apache/beam/sdk/util/WindowingStrategy.html" title="class in org.apache.beam.sdk.util">WindowingStrategy</a>&lt;?,<a href="../../../../../org/apache/beam/runners/core/ReduceFnRunner.html" title="type parameter in ReduceFnRunner">W</a>&gt;&nbsp;windowingStrategy,
+              <a href="../../../../../org/apache/beam/runners/core/triggers/ExecutableTriggerStateMachine.html" title="class in org.apache.beam.runners.core.triggers">ExecutableTriggerStateMachine</a>&nbsp;triggerStateMachine,
+              <a href="../../../../../org/apache/beam/sdk/util/state/StateInternals.html" title="interface in org.apache.beam.sdk.util.state">StateInternals</a>&lt;<a href="../../../../../org/apache/beam/runners/core/ReduceFnRunner.html" title="type parameter in ReduceFnRunner">K</a>&gt;&nbsp;stateInternals,
+              <a href="../../../../../org/apache/beam/sdk/util/TimerInternals.html" title="interface in org.apache.beam.sdk.util">TimerInternals</a>&nbsp;timerInternals,
+              <a href="../../../../../org/apache/beam/runners/core/OutputWindowedValue.html" title="interface in org.apache.beam.runners.core">OutputWindowedValue</a>&lt;<a href="../../../../../org/apache/beam/sdk/values/KV.html" title="class in org.apache.beam.sdk.values">KV</a>&lt;<a href="../../../../../org/apache/beam/runners/core/ReduceFnRunner.html" title="type parameter in ReduceFnRunner">K</a>,<a href="../../../../../org/apache/beam/runners/core/ReduceFnRunner.html" title="type parameter in ReduceFnRunner">OutputT</a>&gt;&gt;&nbsp;outputter,
+              <a href="../../../../../org/apache/beam/sdk/util/SideInputReader.html" title="interface in org.apache.beam.sdk.util">SideInputReader</a>&nbsp;sideInputReader,
+              <a href="../../../../../org/apache/beam/sdk/transforms/Aggregator.html" title="interface in org.apache.beam.sdk.transforms">Aggregator</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;droppedDueToClosedWindow,
+              <a href="../../../../../org/apache/beam/runners/core/ReduceFn.html" title="class in org.apache.beam.runners.core">ReduceFn</a>&lt;<a href="../../../../../org/apache/beam/runners/core/ReduceFnRunner.html" title="type parameter in ReduceFnRunner">K</a>,<a href="../../../../../org/apache/beam/runners/core/ReduceFnRunner.html" title="type parameter in ReduceFnRunner">InputT</a>,<a href="../../../../../org/apache/beam/runners/core/ReduceFnRunner.html" title="type parameter in ReduceFnRunner">OutputT</a>,<a href="../../../../../org/apache/beam/runners/core/ReduceFnRunner.html" title="type parameter in ReduceFnRunner">W</a>&gt;&nbsp;reduceFn,
+              <a href="../../../../../org/apache/beam/sdk/options/PipelineOptions.html" title="interface in org.apache.beam.sdk.options">PipelineOptions</a>&nbsp;options)</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>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/runners/core/ReduceFnRunner.html#onTimers-java.lang.Iterable-">onTimers</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../org/apache/beam/sdk/util/TimerInternals.TimerData.html" title="class in org.apache.beam.sdk.util">TimerInternals.TimerData</a>&gt;&nbsp;timers)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/runners/core/ReduceFnRunner.html#persist--">persist</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/runners/core/ReduceFnRunner.html#processElements-java.lang.Iterable-">processElements</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../org/apache/beam/sdk/util/WindowedValue.html" title="class in org.apache.beam.sdk.util">WindowedValue</a>&lt;<a href="../../../../../org/apache/beam/runners/core/ReduceFnRunner.html" title="type parameter in ReduceFnRunner">InputT</a>&gt;&gt;&nbsp;values)</code>
+<div class="block">Incorporate <code>values</code> into the underlying reduce function, and manage holds, timers,
+ triggers, and window merging.</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.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang
 /Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></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="ReduceFnRunner-java.lang.Object-org.apache.beam.sdk.util.WindowingStrategy-org.apache.beam.runners.core.triggers.ExecutableTriggerStateMachine-org.apache.beam.sdk.util.state.StateInternals-org.apache.beam.sdk.util.TimerInternals-org.apache.beam.runners.core.OutputWindowedValue-org.apache.beam.sdk.util.SideInputReader-org.apache.beam.sdk.transforms.Aggregator-org.apache.beam.runners.core.ReduceFn-org.apache.beam.sdk.options.PipelineOptions-">
+<!--   -->
+</a><a name="ReduceFnRunner-K-org.apache.beam.sdk.util.WindowingStrategy-org.apache.beam.runners.core.triggers.ExecutableTriggerStateMachine-org.apache.beam.sdk.util.state.StateInternals-org.apache.beam.sdk.util.TimerInternals-org.apache.beam.runners.core.OutputWindowedValue-org.apache.beam.sdk.util.SideInputReader-org.apache.beam.sdk.transforms.Aggregator-org.apache.beam.runners.core.ReduceFn-org.apache.beam.sdk.options.PipelineOptions-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ReduceFnRunner</h4>
+<pre>public&nbsp;ReduceFnRunner(<a href="../../../../../org/apache/beam/runners/core/ReduceFnRunner.html" title="type parameter in ReduceFnRunner">K</a>&nbsp;key,
+                      <a href="../../../../../org/apache/beam/sdk/util/WindowingStrategy.html" title="class in org.apache.beam.sdk.util">WindowingStrategy</a>&lt;?,<a href="../../../../../org/apache/beam/runners/core/ReduceFnRunner.html" title="type parameter in ReduceFnRunner">W</a>&gt;&nbsp;windowingStrategy,
+                      <a href="../../../../../org/apache/beam/runners/core/triggers/ExecutableTriggerStateMachine.html" title="class in org.apache.beam.runners.core.triggers">ExecutableTriggerStateMachine</a>&nbsp;triggerStateMachine,
+                      <a href="../../../../../org/apache/beam/sdk/util/state/StateInternals.html" title="interface in org.apache.beam.sdk.util.state">StateInternals</a>&lt;<a href="../../../../../org/apache/beam/runners/core/ReduceFnRunner.html" title="type parameter in ReduceFnRunner">K</a>&gt;&nbsp;stateInternals,
+                      <a href="../../../../../org/apache/beam/sdk/util/TimerInternals.html" title="interface in org.apache.beam.sdk.util">TimerInternals</a>&nbsp;timerInternals,
+                      <a href="../../../../../org/apache/beam/runners/core/OutputWindowedValue.html" title="interface in org.apache.beam.runners.core">OutputWindowedValue</a>&lt;<a href="../../../../../org/apache/beam/sdk/values/KV.html" title="class in org.apache.beam.sdk.values">KV</a>&lt;<a href="../../../../../org/apache/beam/runners/core/ReduceFnRunner.html" title="type parameter in ReduceFnRunner">K</a>,<a href="../../../../../org/apache/beam/runners/core/ReduceFnRunner.html" title="type parameter in ReduceFnRunner">OutputT</a>&gt;&gt;&nbsp;outputter,
+                      <a href="../../../../../org/apache/beam/sdk/util/SideInputReader.html" title="interface in org.apache.beam.sdk.util">SideInputReader</a>&nbsp;sideInputReader,
+                      <a href="../../../../../org/apache/beam/sdk/transforms/Aggregator.html" title="interface in org.apache.beam.sdk.transforms">Aggregator</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;droppedDueToClosedWindow,
+                      <a href="../../../../../org/apache/beam/runners/core/ReduceFn.html" title="class in org.apache.beam.runners.core">ReduceFn</a>&lt;<a href="../../../../../org/apache/beam/runners/core/ReduceFnRunner.html" title="type parameter in ReduceFnRunner">K</a>,<a href="../../../../../org/apache/beam/runners/core/ReduceFnRunner.html" title="type parameter in ReduceFnRunner">InputT</a>,<a href="../../../../../org/apache/beam/runners/core/ReduceFnRunner.html" title="type parameter in ReduceFnRunner">OutputT</a>,<a href="../../../../../org/apache/beam/runners/core/ReduceFnRunner.html" title="type parameter in ReduceFnRunner">W</a>&gt;&nbsp;reduceFn,
+                      <a href="../../../../../org/apache/beam/sdk/options/PipelineOptions.html" title="interface in org.apache.beam.sdk.options">PipelineOptions</a>&nbsp;options)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="processElements-java.lang.Iterable-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>processElements</h4>
+<pre>public&nbsp;void&nbsp;processElements(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../org/apache/beam/sdk/util/WindowedValue.html" title="class in org.apache.beam.sdk.util">WindowedValue</a>&lt;<a href="../../../../../org/apache/beam/runners/core/ReduceFnRunner.html" title="type parameter in ReduceFnRunner">InputT</a>&gt;&gt;&nbsp;values)
+                     throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Incorporate <code>values</code> into the underlying reduce function, and manage holds, timers,
+ triggers, and window merging.
+
+ <p>The general strategy is:
+ <ol>
+ <li>Use <a href="../../../../../org/apache/beam/sdk/util/WindowedValue.html#getWindows--"><code>WindowedValue.getWindows()</code></a> (itself determined using
+ <a href="../../../../../org/apache/beam/sdk/transforms/windowing/WindowFn.html#assignWindows-org.apache.beam.sdk.transforms.windowing.WindowFn.AssignContext-"><code>WindowFn.assignWindows(org.apache.beam.sdk.transforms.windowing.WindowFn&lt;T, W&gt;.AssignContext)</code></a>) to determine which windows each element belongs to. Some
+ of those windows will already have state associated with them. The rest are considered
+ NEW.
+ <li>Use <a href="../../../../../org/apache/beam/sdk/transforms/windowing/WindowFn.html#mergeWindows-org.apache.beam.sdk.transforms.windowing.WindowFn.MergeContext-"><code>WindowFn.mergeWindows(org.apache.beam.sdk.transforms.windowing.WindowFn&lt;T, W&gt;.MergeContext)</code></a> to attempt to merge currently ACTIVE and NEW windows.
+ Each NEW window will become either ACTIVE or be discardedL.
+ (See <a href="../../../../../org/apache/beam/sdk/util/ActiveWindowSet.html" title="interface in org.apache.beam.sdk.util"><code>ActiveWindowSet</code></a> for definitions of these terms.)
+ <li>If at all possible, eagerly substitute NEW windows with their ACTIVE state address
+ windows before any state is associated with the NEW window. In the common case that
+ windows for new elements are merged into existing ACTIVE windows then no additional
+ storage or merging overhead will be incurred.
+ <li>Otherwise, keep track of the state address windows for ACTIVE windows so that their
+ states can be merged on-demand when a pane fires.
+ <li>Process the element for each of the windows it's windows have been merged into according
+ to <a href="../../../../../org/apache/beam/sdk/util/ActiveWindowSet.html" title="interface in org.apache.beam.sdk.util"><code>ActiveWindowSet</code></a>. Processing may require running triggers, setting timers,
+ setting holds, and invoking <a href="../../../../../org/apache/beam/runners/core/ReduceFn.html#onTrigger-org.apache.beam.runners.core.ReduceFn.OnTriggerContext-"><code>ReduceFn.onTrigger(org.apache.beam.runners.core.ReduceFn&lt;K, InputT, OutputT, W&gt;.OnTriggerContext)</code></a>.
+ </ol></div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="persist--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>persist</h4>
+<pre>public&nbsp;void&nbsp;persist()</pre>
+</li>
+</ul>
+<a name="onTimers-java.lang.Iterable-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>onTimers</h4>
+<pre>public&nbsp;void&nbsp;onTimers(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../org/apache/beam/sdk/util/TimerInternals.TimerData.html" title="class in org.apache.beam.sdk.util">TimerInternals.TimerData</a>&gt;&nbsp;timers)
+              throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</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="class-use/ReduceFnRunner.html">Use</a></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/core/ReduceFn.ProcessValueContext.html" title="class in org.apache.beam.runners.core"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/beam/runners/core/SideInputHandler.html" title="class in org.apache.beam.runners.core"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/beam/runners/core/ReduceFnRunner.html" target="_top">Frames</a></li>
+<li><a href="ReduceFnRunner.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 ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/beam-site/blob/de6a0417/content/documentation/sdks/javadoc/0.4.0/org/apache/beam/runners/core/SideInputHandler.html
----------------------------------------------------------------------
diff --git a/content/documentation/sdks/javadoc/0.4.0/org/apache/beam/runners/core/SideInputHandler.html b/content/documentation/sdks/javadoc/0.4.0/org/apache/beam/runners/core/SideInputHandler.html
new file mode 100644
index 0000000..5d8231a
--- /dev/null
+++ b/content/documentation/sdks/javadoc/0.4.0/org/apache/beam/runners/core/SideInputHandler.html
@@ -0,0 +1,437 @@
+<!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_111) on Thu Dec 29 08:19:09 CET 2016 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>SideInputHandler (Apache Beam SDK for Java, version 0.4.0)</title>
+<meta name="date" content="2016-12-29">
+<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="SideInputHandler (Apache Beam SDK for Java, version 0.4.0)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":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="class-use/SideInputHandler.html">Use</a></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/core/ReduceFnRunner.html" title="class in org.apache.beam.runners.core"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/beam/runners/core/SimpleDoFnRunner.html" title="class in org.apache.beam.runners.core"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/beam/runners/core/SideInputHandler.html" target="_top">Frames</a></li>
+<li><a href="SideInputHandler.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><a href="#field.summary">Field</a>&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><a href="#field.detail">Field</a>&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.core</div>
+<h2 title="Class SideInputHandler" class="title">Class SideInputHandler</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.beam.runners.core.SideInputHandler</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/beam/sdk/util/ReadyCheckingSideInputReader.html" title="interface in org.apache.beam.sdk.util">ReadyCheckingSideInputReader</a>, <a href="../../../../../org/apache/beam/sdk/util/SideInputReader.html" title="interface in org.apache.beam.sdk.util">SideInputReader</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">SideInputHandler</span>
+extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../org/apache/beam/sdk/util/ReadyCheckingSideInputReader.html" title="interface in org.apache.beam.sdk.util">ReadyCheckingSideInputReader</a></pre>
+<div class="block">Generic side input handler that uses <a href="../../../../../org/apache/beam/sdk/util/state/StateInternals.html" title="interface in org.apache.beam.sdk.util.state"><code>StateInternals</code></a> to store all data. Both the actual
+ side-input data and data about the windows for which we have side inputs available are stored
+ using <code>StateInternals</code>.
+
+ <p>The given <code>StateInternals</code> must not be scoped to an element key. The state
+ must instead be scoped to one key group for which the side input is being managed.
+
+ <p>This is useful for runners that transmit the side-input elements in band, as opposed
+ to how Dataflow has an external service for managing side inputs.
+
+ <p>Note: storing the available windows in an extra state is redundant for now but in the
+ future we might want to know which windows we have available so that we can garbage collect
+ side input data. For now, this will never clean up side-input data because we have no way
+ of knowing when we reach the GC horizon.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/beam/sdk/values/PCollectionView.html" title="interface in org.apache.beam.sdk.values">PCollectionView</a>&lt;?&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/runners/core/SideInputHandler.html#sideInputs">sideInputs</a></span></code>
+<div class="block">The list of side inputs that we're handling.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== 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/core/SideInputHandler.html#SideInputHandler-java.util.Collection-org.apache.beam.sdk.util.state.StateInternals-">SideInputHandler</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/beam/sdk/values/PCollectionView.html" title="interface in org.apache.beam.sdk.values">PCollectionView</a>&lt;?&gt;&gt;&nbsp;sideInputs,
+                <a href="../../../../../org/apache/beam/sdk/util/state/StateInternals.html" title="interface in org.apache.beam.sdk.util.state">StateInternals</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;stateInternals)</code>
+<div class="block">Creates a new <code>SideInputHandler</code> for the given side inputs that uses
+ the given <code>StateInternals</code> to store side input data and side-input meta data.</div>
+</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>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/runners/core/SideInputHandler.html#addSideInputValue-org.apache.beam.sdk.values.PCollectionView-org.apache.beam.sdk.util.WindowedValue-">addSideInputValue</a></span>(<a href="../../../../../org/apache/beam/sdk/values/PCollectionView.html" title="interface in org.apache.beam.sdk.values">PCollectionView</a>&lt;?&gt;&nbsp;sideInput,
+                 <a href="../../../../../org/apache/beam/sdk/util/WindowedValue.html" title="class in org.apache.beam.sdk.util">WindowedValue</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;?&gt;&gt;&nbsp;value)</code>
+<div class="block">Add the given value to the internal side-input store of the given side input.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/runners/core/SideInputHandler.html#contains-org.apache.beam.sdk.values.PCollectionView-">contains</a></span>(<a href="../../../../../org/apache/beam/sdk/values/PCollectionView.html" title="interface in org.apache.beam.sdk.values">PCollectionView</a>&lt;T&gt;&nbsp;view)</code>
+<div class="block">Returns true if the given <a href="../../../../../org/apache/beam/sdk/values/PCollectionView.html" title="interface in org.apache.beam.sdk.values"><code>PCollectionView</code></a> is valid for this reader.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/runners/core/SideInputHandler.html#get-org.apache.beam.sdk.values.PCollectionView-org.apache.beam.sdk.transforms.windowing.BoundedWindow-">get</a></span>(<a href="../../../../../org/apache/beam/sdk/values/PCollectionView.html" title="interface in org.apache.beam.sdk.values">PCollectionView</a>&lt;T&gt;&nbsp;sideInput,
+   <a href="../../../../../org/apache/beam/sdk/transforms/windowing/BoundedWindow.html" title="class in org.apache.beam.sdk.transforms.windowing">BoundedWindow</a>&nbsp;window)</code>
+<div class="block">Returns the value of the given <a href="../../../../../org/apache/beam/sdk/values/PCollectionView.html" title="interface in org.apache.beam.sdk.values"><code>PCollectionView</code></a> for the given <a href="../../../../../org/apache/beam/sdk/transforms/windowing/BoundedWindow.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>BoundedWindow</code></a>.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/runners/core/SideInputHandler.html#isEmpty--">isEmpty</a></span>()</code>
+<div class="block">Returns true if there are no side inputs in this reader.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/runners/core/SideInputHandler.html#isReady-org.apache.beam.sdk.values.PCollectionView-org.apache.beam.sdk.transforms.windowing.BoundedWindow-">isReady</a></span>(<a href="../../../../../org/apache/beam/sdk/values/PCollectionView.html" title="interface in org.apache.beam.sdk.values">PCollectionView</a>&lt;?&gt;&nbsp;sideInput,
+       <a href="../../../../../org/apache/beam/sdk/transforms/windowing/BoundedWindow.html" title="class in org.apache.beam.sdk.transforms.windowing">BoundedWindow</a>&nbsp;window)</code>
+<div class="block">Returns true if the <a href="../../../../../org/apache/beam/sdk/values/PCollectionView.html" title="interface in org.apache.beam.sdk.values"><code>PCollectionView</code></a> is ready in the provided <a href="../../../../../org/apache/beam/sdk/transforms/windowing/BoundedWindow.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>BoundedWindow</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.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang
 /Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="sideInputs">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>sideInputs</h4>
+<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/beam/sdk/values/PCollectionView.html" title="interface in org.apache.beam.sdk.values">PCollectionView</a>&lt;?&gt;&gt; sideInputs</pre>
+<div class="block">The list of side inputs that we're handling.</div>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="SideInputHandler-java.util.Collection-org.apache.beam.sdk.util.state.StateInternals-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>SideInputHandler</h4>
+<pre>public&nbsp;SideInputHandler(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/beam/sdk/values/PCollectionView.html" title="interface in org.apache.beam.sdk.values">PCollectionView</a>&lt;?&gt;&gt;&nbsp;sideInputs,
+                        <a href="../../../../../org/apache/beam/sdk/util/state/StateInternals.html" title="interface in org.apache.beam.sdk.util.state">StateInternals</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;stateInternals)</pre>
+<div class="block">Creates a new <code>SideInputHandler</code> for the given side inputs that uses
+ the given <code>StateInternals</code> to store side input data and side-input meta data.</div>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="addSideInputValue-org.apache.beam.sdk.values.PCollectionView-org.apache.beam.sdk.util.WindowedValue-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addSideInputValue</h4>
+<pre>public&nbsp;void&nbsp;addSideInputValue(<a href="../../../../../org/apache/beam/sdk/values/PCollectionView.html" title="interface in org.apache.beam.sdk.values">PCollectionView</a>&lt;?&gt;&nbsp;sideInput,
+                              <a href="../../../../../org/apache/beam/sdk/util/WindowedValue.html" title="class in org.apache.beam.sdk.util">WindowedValue</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;?&gt;&gt;&nbsp;value)</pre>
+<div class="block">Add the given value to the internal side-input store of the given side input. This
+ might change the result of <a href="../../../../../org/apache/beam/runners/core/SideInputHandler.html#isReady-org.apache.beam.sdk.values.PCollectionView-org.apache.beam.sdk.transforms.windowing.BoundedWindow-"><code>isReady(PCollectionView, BoundedWindow)</code></a> for that side
+ input.</div>
+</li>
+</ul>
+<a name="get-org.apache.beam.sdk.values.PCollectionView-org.apache.beam.sdk.transforms.windowing.BoundedWindow-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>get</h4>
+<pre><a href="http://docs.oracle.com/javase/7/docs/api/javax/annotation/Nullable.html?is-external=true" title="class or interface in javax.annotation">@Nullable</a>
+public&nbsp;&lt;T&gt;&nbsp;T&nbsp;get(<a href="../../../../../org/apache/beam/sdk/values/PCollectionView.html" title="interface in org.apache.beam.sdk.values">PCollectionView</a>&lt;T&gt;&nbsp;sideInput,
+                           <a href="../../../../../org/apache/beam/sdk/transforms/windowing/BoundedWindow.html" title="class in org.apache.beam.sdk.transforms.windowing">BoundedWindow</a>&nbsp;window)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/beam/sdk/util/SideInputReader.html#get-org.apache.beam.sdk.values.PCollectionView-org.apache.beam.sdk.transforms.windowing.BoundedWindow-">SideInputReader</a></code></span></div>
+<div class="block">Returns the value of the given <a href="../../../../../org/apache/beam/sdk/values/PCollectionView.html" title="interface in org.apache.beam.sdk.values"><code>PCollectionView</code></a> for the given <a href="../../../../../org/apache/beam/sdk/transforms/windowing/BoundedWindow.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>BoundedWindow</code></a>.
+
+ <p>It is valid for a side input to be <code>null</code>. It is <i>not</i> valid for this to
+ return <code>null</code> for any other reason.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/beam/sdk/util/SideInputReader.html#get-org.apache.beam.sdk.values.PCollectionView-org.apache.beam.sdk.transforms.windowing.BoundedWindow-">get</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/beam/sdk/util/SideInputReader.html" title="interface in org.apache.beam.sdk.util">SideInputReader</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="isReady-org.apache.beam.sdk.values.PCollectionView-org.apache.beam.sdk.transforms.windowing.BoundedWindow-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isReady</h4>
+<pre>public&nbsp;boolean&nbsp;isReady(<a href="../../../../../org/apache/beam/sdk/values/PCollectionView.html" title="interface in org.apache.beam.sdk.values">PCollectionView</a>&lt;?&gt;&nbsp;sideInput,
+                       <a href="../../../../../org/apache/beam/sdk/transforms/windowing/BoundedWindow.html" title="class in org.apache.beam.sdk.transforms.windowing">BoundedWindow</a>&nbsp;window)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/beam/sdk/util/ReadyCheckingSideInputReader.html#isReady-org.apache.beam.sdk.values.PCollectionView-org.apache.beam.sdk.transforms.windowing.BoundedWindow-">ReadyCheckingSideInputReader</a></code></span></div>
+<div class="block">Returns true if the <a href="../../../../../org/apache/beam/sdk/values/PCollectionView.html" title="interface in org.apache.beam.sdk.values"><code>PCollectionView</code></a> is ready in the provided <a href="../../../../../org/apache/beam/sdk/transforms/windowing/BoundedWindow.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>BoundedWindow</code></a>.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/beam/sdk/util/ReadyCheckingSideInputReader.html#isReady-org.apache.beam.sdk.values.PCollectionView-org.apache.beam.sdk.transforms.windowing.BoundedWindow-">isReady</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/beam/sdk/util/ReadyCheckingSideInputReader.html" title="interface in org.apache.beam.sdk.util">ReadyCheckingSideInputReader</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="contains-org.apache.beam.sdk.values.PCollectionView-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>contains</h4>
+<pre>public&nbsp;&lt;T&gt;&nbsp;boolean&nbsp;contains(<a href="../../../../../org/apache/beam/sdk/values/PCollectionView.html" title="interface in org.apache.beam.sdk.values">PCollectionView</a>&lt;T&gt;&nbsp;view)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/beam/sdk/util/SideInputReader.html#contains-org.apache.beam.sdk.values.PCollectionView-">SideInputReader</a></code></span></div>
+<div class="block">Returns true if the given <a href="../../../../../org/apache/beam/sdk/values/PCollectionView.html" title="interface in org.apache.beam.sdk.values"><code>PCollectionView</code></a> is valid for this reader.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/beam/sdk/util/SideInputReader.html#contains-org.apache.beam.sdk.values.PCollectionView-">contains</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/beam/sdk/util/SideInputReader.html" title="interface in org.apache.beam.sdk.util">SideInputReader</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="isEmpty--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>isEmpty</h4>
+<pre>public&nbsp;boolean&nbsp;isEmpty()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/beam/sdk/util/SideInputReader.html#isEmpty--">SideInputReader</a></code></span></div>
+<div class="block">Returns true if there are no side inputs in this reader.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/beam/sdk/util/SideInputReader.html#isEmpty--">isEmpty</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/beam/sdk/util/SideInputReader.html" title="interface in org.apache.beam.sdk.util">SideInputReader</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="class-use/SideInputHandler.html">Use</a></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/core/ReduceFnRunner.html" title="class in org.apache.beam.runners.core"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/beam/runners/core/SimpleDoFnRunner.html" title="class in org.apache.beam.runners.core"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/beam/runners/core/SideInputHandler.html" target="_top">Frames</a></li>
+<li><a href="SideInputHandler.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><a href="#field.summary">Field</a>&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><a href="#field.detail">Field</a>&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 ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/beam-site/blob/de6a0417/content/documentation/sdks/javadoc/0.4.0/org/apache/beam/runners/core/SimpleDoFnRunner.html
----------------------------------------------------------------------
diff --git a/content/documentation/sdks/javadoc/0.4.0/org/apache/beam/runners/core/SimpleDoFnRunner.html b/content/documentation/sdks/javadoc/0.4.0/org/apache/beam/runners/core/SimpleDoFnRunner.html
new file mode 100644
index 0000000..9ce31f9
--- /dev/null
+++ b/content/documentation/sdks/javadoc/0.4.0/org/apache/beam/runners/core/SimpleDoFnRunner.html
@@ -0,0 +1,373 @@
+<!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_111) on Thu Dec 29 08:19:09 CET 2016 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>SimpleDoFnRunner (Apache Beam SDK for Java, version 0.4.0)</title>
+<meta name="date" content="2016-12-29">
+<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="SimpleDoFnRunner (Apache Beam SDK for Java, version 0.4.0)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":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="class-use/SimpleDoFnRunner.html">Use</a></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/core/SideInputHandler.html" title="class in org.apache.beam.runners.core"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/beam/runners/core/SplittableParDo.html" title="class in org.apache.beam.runners.core"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/beam/runners/core/SimpleDoFnRunner.html" target="_top">Frames</a></li>
+<li><a href="SimpleDoFnRunner.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.core</div>
+<h2 title="Class SimpleDoFnRunner" class="title">Class SimpleDoFnRunner&lt;InputT,OutputT&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.beam.runners.core.SimpleDoFnRunner&lt;InputT,OutputT&gt;</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>InputT</code> - the type of the <a href="../../../../../org/apache/beam/sdk/transforms/DoFn.html" title="class in org.apache.beam.sdk.transforms"><code>DoFn</code></a> (main) input elements</dd>
+<dd><code>OutputT</code> - the type of the <a href="../../../../../org/apache/beam/sdk/transforms/DoFn.html" title="class in org.apache.beam.sdk.transforms"><code>DoFn</code></a> (main) output elements</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/beam/runners/core/DoFnRunner.html" title="interface in org.apache.beam.runners.core">DoFnRunner</a>&lt;InputT,OutputT&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">SimpleDoFnRunner&lt;InputT,OutputT&gt;</span>
+extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../org/apache/beam/runners/core/DoFnRunner.html" title="interface in org.apache.beam.runners.core">DoFnRunner</a>&lt;InputT,OutputT&gt;</pre>
+<div class="block">Runs a <a href="../../../../../org/apache/beam/sdk/transforms/DoFn.html" title="class in org.apache.beam.sdk.transforms"><code>DoFn</code></a> by constructing the appropriate contexts and passing them in.
+
+ <p>Also, if the <a href="../../../../../org/apache/beam/sdk/transforms/DoFn.html" title="class in org.apache.beam.sdk.transforms"><code>DoFn</code></a> observes the window of the element, then <a href="../../../../../org/apache/beam/runners/core/SimpleDoFnRunner.html" title="class in org.apache.beam.runners.core"><code>SimpleDoFnRunner</code></a>
+ explodes windows of the input <a href="../../../../../org/apache/beam/sdk/util/WindowedValue.html" title="class in org.apache.beam.sdk.util"><code>WindowedValue</code></a> and calls <code>DoFn.ProcessElement</code> for
+ each window individually.</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.DoFnRunner">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.beam.runners.core.<a href="../../../../../org/apache/beam/runners/core/DoFnRunner.html" title="interface in org.apache.beam.runners.core">DoFnRunner</a></h3>
+<code><a href="../../../../../org/apache/beam/runners/core/DoFnRunner.ReduceFnExecutor.html" title="interface in org.apache.beam.runners.core">DoFnRunner.ReduceFnExecutor</a>&lt;<a href="../../../../../org/apache/beam/runners/core/DoFnRunner.ReduceFnExecutor.html" title="type parameter in DoFnRunner.ReduceFnExecutor">K</a>,<a href="../../../../../org/apache/beam/runners/core/DoFnRunner.ReduceFnExecutor.html" title="type parameter in DoFnRunner.ReduceFnExecutor">InputT</a>,<a href="../../../../../org/apache/beam/runners/core/DoFnRunner.ReduceFnExecutor.html" title="type parameter in DoFnRunner.ReduceFnExecutor">OutputT</a>,<a href="../../../../../org/apache/beam/runners/core/DoFnRunner.ReduceFnExecutor.html" title="type parameter in DoFnRunner.ReduceFnExecutor">W</a>&gt;</code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== 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/core/SimpleDoFnRunner.html#SimpleDoFnRunner-org.apache.beam.sdk.options.PipelineOptions-org.apache.beam.sdk.transforms.DoFn-org.apache.beam.sdk.util.SideInputReader-org.apache.beam.runners.core.DoFnRunners.OutputManager-org.apache.beam.sdk.values.TupleTag-java.util.List-org.apache.beam.sdk.util.ExecutionContext.StepContext-org.apache.beam.sdk.transforms.Aggregator.AggregatorFactory-org.apache.beam.sdk.util.WindowingStrategy-">SimpleDoFnRunner</a></span>(<a href="../../../../../org/apache/beam/sdk/options/PipelineOptions.html" title="interface in org.apache.beam.sdk.options">PipelineOptions</a>&nbsp;options,
+                <a href="../../../../../org/apache/beam/sdk/transforms/DoFn.html" title="class in org.apache.beam.sdk.transforms">DoFn</a>&lt;<a href="../../../../../org/apache/beam/runners/core/SimpleDoFnRunner.html" title="type parameter in SimpleDoFnRunner">InputT</a>,<a href="../../../../../org/apache/beam/runners/core/SimpleDoFnRunner.html" title="type parameter in SimpleDoFnRunner">OutputT</a>&gt;&nbsp;fn,
+                <a href="../../../../../org/apache/beam/sdk/util/SideInputReader.html" title="interface in org.apache.beam.sdk.util">SideInputReader</a>&nbsp;sideInputReader,
+                <a href="../../../../../org/apache/beam/runners/core/DoFnRunners.OutputManager.html" title="interface in org.apache.beam.runners.core">DoFnRunners.OutputManager</a>&nbsp;outputManager,
+                <a href="../../../../../org/apache/beam/sdk/values/TupleTag.html" title="class in org.apache.beam.sdk.values">TupleTag</a>&lt;<a href="../../../../../org/apache/beam/runners/core/SimpleDoFnRunner.html" title="type parameter in SimpleDoFnRunner">OutputT</a>&gt;&nbsp;mainOutputTag,
+                <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/beam/sdk/values/TupleTag.html" title="class in org.apache.beam.sdk.values">TupleTag</a>&lt;?&gt;&gt;&nbsp;sideOutputTags,
+                <a href="../../../../../org/apache/beam/sdk/util/ExecutionContext.StepContext.html" title="interface in org.apache.beam.sdk.util">ExecutionContext.StepContext</a>&nbsp;stepContext,
+                <a href="../../../../../org/apache/beam/sdk/transforms/Aggregator.AggregatorFactory.html" title="interface in org.apache.beam.sdk.transforms">Aggregator.AggregatorFactory</a>&nbsp;aggregatorFactory,
+                <a href="../../../../../org/apache/beam/sdk/util/WindowingStrategy.html" title="class in org.apache.beam.sdk.util">WindowingStrategy</a>&lt;?,?&gt;&nbsp;windowingStrategy)</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>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/runners/core/SimpleDoFnRunner.html#finishBundle--">finishBundle</a></span>()</code>
+<div class="block">Calls a <a href="../../../../../org/apache/beam/sdk/transforms/DoFn.html" title="class in org.apache.beam.sdk.transforms"><code>DoFn's</code></a> <code>@FinishBundle</code> method and performs
+ additional tasks, such as flushing in-memory states.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/runners/core/SimpleDoFnRunner.html#processElement-org.apache.beam.sdk.util.WindowedValue-">processElement</a></span>(<a href="../../../../../org/apache/beam/sdk/util/WindowedValue.html" title="class in org.apache.beam.sdk.util">WindowedValue</a>&lt;<a href="../../../../../org/apache/beam/runners/core/SimpleDoFnRunner.html" title="type parameter in SimpleDoFnRunner">InputT</a>&gt;&nbsp;compressedElem)</code>
+<div class="block">Calls a <a href="../../../../../org/apache/beam/sdk/transforms/DoFn.html" title="class in org.apache.beam.sdk.transforms"><code>DoFn's</code></a> <code>@ProcessElement</code> method with a
+ <code>DoFn.ProcessContext</code> containing the provided element.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/runners/core/SimpleDoFnRunner.html#startBundle--">startBundle</a></span>()</code>
+<div class="block">Prepares and calls a <a href="../../../../../org/apache/beam/sdk/transforms/DoFn.html" title="class in org.apache.beam.sdk.transforms"><code>DoFn's</code></a> <code>@StartBundle</code> method.</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.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang
 /Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></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="SimpleDoFnRunner-org.apache.beam.sdk.options.PipelineOptions-org.apache.beam.sdk.transforms.DoFn-org.apache.beam.sdk.util.SideInputReader-org.apache.beam.runners.core.DoFnRunners.OutputManager-org.apache.beam.sdk.values.TupleTag-java.util.List-org.apache.beam.sdk.util.ExecutionContext.StepContext-org.apache.beam.sdk.transforms.Aggregator.AggregatorFactory-org.apache.beam.sdk.util.WindowingStrategy-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>SimpleDoFnRunner</h4>
+<pre>public&nbsp;SimpleDoFnRunner(<a href="../../../../../org/apache/beam/sdk/options/PipelineOptions.html" title="interface in org.apache.beam.sdk.options">PipelineOptions</a>&nbsp;options,
+                        <a href="../../../../../org/apache/beam/sdk/transforms/DoFn.html" title="class in org.apache.beam.sdk.transforms">DoFn</a>&lt;<a href="../../../../../org/apache/beam/runners/core/SimpleDoFnRunner.html" title="type parameter in SimpleDoFnRunner">InputT</a>,<a href="../../../../../org/apache/beam/runners/core/SimpleDoFnRunner.html" title="type parameter in SimpleDoFnRunner">OutputT</a>&gt;&nbsp;fn,
+                        <a href="../../../../../org/apache/beam/sdk/util/SideInputReader.html" title="interface in org.apache.beam.sdk.util">SideInputReader</a>&nbsp;sideInputReader,
+                        <a href="../../../../../org/apache/beam/runners/core/DoFnRunners.OutputManager.html" title="interface in org.apache.beam.runners.core">DoFnRunners.OutputManager</a>&nbsp;outputManager,
+                        <a href="../../../../../org/apache/beam/sdk/values/TupleTag.html" title="class in org.apache.beam.sdk.values">TupleTag</a>&lt;<a href="../../../../../org/apache/beam/runners/core/SimpleDoFnRunner.html" title="type parameter in SimpleDoFnRunner">OutputT</a>&gt;&nbsp;mainOutputTag,
+                        <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/beam/sdk/values/TupleTag.html" title="class in org.apache.beam.sdk.values">TupleTag</a>&lt;?&gt;&gt;&nbsp;sideOutputTags,
+                        <a href="../../../../../org/apache/beam/sdk/util/ExecutionContext.StepContext.html" title="interface in org.apache.beam.sdk.util">ExecutionContext.StepContext</a>&nbsp;stepContext,
+                        <a href="../../../../../org/apache/beam/sdk/transforms/Aggregator.AggregatorFactory.html" title="interface in org.apache.beam.sdk.transforms">Aggregator.AggregatorFactory</a>&nbsp;aggregatorFactory,
+                        <a href="../../../../../org/apache/beam/sdk/util/WindowingStrategy.html" title="class in org.apache.beam.sdk.util">WindowingStrategy</a>&lt;?,?&gt;&nbsp;windowingStrategy)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="startBundle--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>startBundle</h4>
+<pre>public&nbsp;void&nbsp;startBundle()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/beam/runners/core/DoFnRunner.html#startBundle--">DoFnRunner</a></code></span></div>
+<div class="block">Prepares and calls a <a href="../../../../../org/apache/beam/sdk/transforms/DoFn.html" title="class in org.apache.beam.sdk.transforms"><code>DoFn's</code></a> <code>@StartBundle</code> method.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/beam/runners/core/DoFnRunner.html#startBundle--">startBundle</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/beam/runners/core/DoFnRunner.html" title="interface in org.apache.beam.runners.core">DoFnRunner</a>&lt;<a href="../../../../../org/apache/beam/runners/core/SimpleDoFnRunner.html" title="type parameter in SimpleDoFnRunner">InputT</a>,<a href="../../../../../org/apache/beam/runners/core/SimpleDoFnRunner.html" title="type parameter in SimpleDoFnRunner">OutputT</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a name="processElement-org.apache.beam.sdk.util.WindowedValue-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>processElement</h4>
+<pre>public&nbsp;void&nbsp;processElement(<a href="../../../../../org/apache/beam/sdk/util/WindowedValue.html" title="class in org.apache.beam.sdk.util">WindowedValue</a>&lt;<a href="../../../../../org/apache/beam/runners/core/SimpleDoFnRunner.html" title="type parameter in SimpleDoFnRunner">InputT</a>&gt;&nbsp;compressedElem)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/beam/runners/core/DoFnRunner.html#processElement-org.apache.beam.sdk.util.WindowedValue-">DoFnRunner</a></code></span></div>
+<div class="block">Calls a <a href="../../../../../org/apache/beam/sdk/transforms/DoFn.html" title="class in org.apache.beam.sdk.transforms"><code>DoFn's</code></a> <code>@ProcessElement</code> method with a
+ <code>DoFn.ProcessContext</code> containing the provided element.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/beam/runners/core/DoFnRunner.html#processElement-org.apache.beam.sdk.util.WindowedValue-">processElement</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/beam/runners/core/DoFnRunner.html" title="interface in org.apache.beam.runners.core">DoFnRunner</a>&lt;<a href="../../../../../org/apache/beam/runners/core/SimpleDoFnRunner.html" title="type parameter in SimpleDoFnRunner">InputT</a>,<a href="../../../../../org/apache/beam/runners/core/SimpleDoFnRunner.html" title="type parameter in SimpleDoFnRunner">OutputT</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a name="finishBundle--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>finishBundle</h4>
+<pre>public&nbsp;void&nbsp;finishBundle()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/beam/runners/core/DoFnRunner.html#finishBundle--">DoFnRunner</a></code></span></div>
+<div class="block">Calls a <a href="../../../../../org/apache/beam/sdk/transforms/DoFn.html" title="class in org.apache.beam.sdk.transforms"><code>DoFn's</code></a> <code>@FinishBundle</code> method and performs
+ additional tasks, such as flushing in-memory states.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/beam/runners/core/DoFnRunner.html#finishBundle--">finishBundle</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/beam/runners/core/DoFnRunner.html" title="interface in org.apache.beam.runners.core">DoFnRunner</a>&lt;<a href="../../../../../org/apache/beam/runners/core/SimpleDoFnRunner.html" title="type parameter in SimpleDoFnRunner">InputT</a>,<a href="../../../../../org/apache/beam/runners/core/SimpleDoFnRunner.html" title="type parameter in SimpleDoFnRunner">OutputT</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="class-use/SimpleDoFnRunner.html">Use</a></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/core/SideInputHandler.html" title="class in org.apache.beam.runners.core"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/beam/runners/core/SplittableParDo.html" title="class in org.apache.beam.runners.core"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/beam/runners/core/SimpleDoFnRunner.html" target="_top">Frames</a></li>
+<li><a href="SimpleDoFnRunner.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 ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>