<!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_181-google-v7) on Wed Aug 14 17:37:13 PDT 2019 -->
<title>Watch.Growth.TerminationCondition (Apache Beam 2.15.0-SNAPSHOT)</title>
<meta name="date" content="2019-08-14">
<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="Watch.Growth.TerminationCondition (Apache Beam 2.15.0-SNAPSHOT)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract 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/sdk/transforms/Watch.Growth.PollResult.html" title="class in org.apache.beam.sdk.transforms"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/beam/sdk/transforms/WithFailures.html" title="class in org.apache.beam.sdk.transforms"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/beam/sdk/transforms/Watch.Growth.TerminationCondition.html" target="_top">Frames</a></li>
<li><a href="Watch.Growth.TerminationCondition.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.beam.sdk.transforms</div>
<h2 title="Interface Watch.Growth.TerminationCondition" class="title">Interface Watch.Growth.TerminationCondition&lt;InputT,StateT&gt;</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd>java.io.Serializable</dd>
</dl>
<dl>
<dt>Enclosing class:</dt>
<dd><a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.html" title="class in org.apache.beam.sdk.transforms">Watch.Growth</a>&lt;<a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.html" title="type parameter in Watch.Growth">InputT</a>,<a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.html" title="type parameter in Watch.Growth">OutputT</a>,<a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.html" title="type parameter in Watch.Growth">KeyT</a>&gt;</dd>
</dl>
<hr>
<br>
<pre>public static interface <span class="typeNameLabel">Watch.Growth.TerminationCondition&lt;InputT,StateT&gt;</span>
extends java.io.Serializable</pre>
<div class="block">A strategy for determining whether it is time to stop polling the current input regardless of
 whether its output is complete or not.

 <p>Some built-in termination conditions are <a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.html#never--"><code>Watch.Growth.never()</code></a>, <a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.html#afterTotalOf-org.joda.time.ReadableDuration-"><code>Watch.Growth.afterTotalOf(org.joda.time.ReadableDuration)</code></a> and <a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.html#afterTimeSinceNewOutput-org.joda.time.ReadableDuration-"><code>Watch.Growth.afterTimeSinceNewOutput(org.joda.time.ReadableDuration)</code></a>. Conditions can be combined using <a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.html#eitherOf-org.apache.beam.sdk.transforms.Watch.Growth.TerminationCondition-org.apache.beam.sdk.transforms.Watch.Growth.TerminationCondition-"><code>Watch.Growth.eitherOf(org.apache.beam.sdk.transforms.Watch.Growth.TerminationCondition&lt;InputT, FirstStateT&gt;, org.apache.beam.sdk.transforms.Watch.Growth.TerminationCondition&lt;InputT, SecondStateT&gt;)</code></a> and <a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.html#allOf-org.apache.beam.sdk.transforms.Watch.Growth.TerminationCondition-org.apache.beam.sdk.transforms.Watch.Growth.TerminationCondition-"><code>Watch.Growth.allOf(org.apache.beam.sdk.transforms.Watch.Growth.TerminationCondition&lt;InputT, FirstStateT&gt;, org.apache.beam.sdk.transforms.Watch.Growth.TerminationCondition&lt;InputT, SecondStateT&gt;)</code></a>. Users can also develop custom termination conditions, for example, one might imagine
 a condition that terminates after a given time after the first output appears for the input
 (unlike <a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.html#afterTotalOf-org.joda.time.ReadableDuration-"><code>Watch.Growth.afterTotalOf(org.joda.time.ReadableDuration)</code></a> which operates relative to when the input itself arrives).

 <p>A <a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.TerminationCondition.html" title="interface in org.apache.beam.sdk.transforms"><code>Watch.Growth.TerminationCondition</code></a> is provided to <a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.html#withTerminationPerInput-org.apache.beam.sdk.transforms.Watch.Growth.TerminationCondition-"><code>Watch.Growth.withTerminationPerInput(TerminationCondition)</code></a> and is used to maintain an independent
 state of the termination condition for every input, represented as <code>StateT</code> which must
 be immutable, non-null, and encodable via <a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.TerminationCondition.html#getStateCoder--"><code>getStateCoder()</code></a>.

 <p>All functions take the wall-clock timestamp as <a href="https://static.javadoc.io/joda-time/joda-time/2.10.1/org/joda/time/Instant.html?is-external=true" title="class or interface in org.joda.time"><code>Instant</code></a> for convenience of
 unit-testing custom termination conditions.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== 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="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract 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>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.TerminationCondition.html#canStopPolling-org.joda.time.Instant-StateT-">canStopPolling</a></span>(<a href="https://static.javadoc.io/joda-time/joda-time/2.10.1/org/joda/time/Instant.html?is-external=true" title="class or interface in org.joda.time">Instant</a>&nbsp;now,
              <a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.TerminationCondition.html" title="type parameter in Watch.Growth.TerminationCondition">StateT</a>&nbsp;state)</code>
<div class="block">Called by the <a href="../../../../../org/apache/beam/sdk/transforms/Watch.html" title="class in org.apache.beam.sdk.transforms"><code>Watch</code></a> transform to determine whether the given termination state
 signals that <a href="../../../../../org/apache/beam/sdk/transforms/Watch.html" title="class in org.apache.beam.sdk.transforms"><code>Watch</code></a> should stop calling <a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.PollFn.html" title="class in org.apache.beam.sdk.transforms"><code>Watch.Growth.PollFn</code></a> for the current input,
 regardless of whether the last <a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.PollResult.html" title="class in org.apache.beam.sdk.transforms"><code>Watch.Growth.PollResult</code></a> was complete or incomplete.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.TerminationCondition.html" title="type parameter in Watch.Growth.TerminationCondition">StateT</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.TerminationCondition.html#forNewInput-org.joda.time.Instant-InputT-">forNewInput</a></span>(<a href="https://static.javadoc.io/joda-time/joda-time/2.10.1/org/joda/time/Instant.html?is-external=true" title="class or interface in org.joda.time">Instant</a>&nbsp;now,
           <a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.TerminationCondition.html" title="type parameter in Watch.Growth.TerminationCondition">InputT</a>&nbsp;input)</code>
<div class="block">Called by the <a href="../../../../../org/apache/beam/sdk/transforms/Watch.html" title="class in org.apache.beam.sdk.transforms"><code>Watch</code></a> transform to create a new independent termination state for a
 newly arrived <code>InputT</code>.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders">Coder</a>&lt;<a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.TerminationCondition.html" title="type parameter in Watch.Growth.TerminationCondition">StateT</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.TerminationCondition.html#getStateCoder--">getStateCoder</a></span>()</code>
<div class="block">Used to encode the state of this <a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.TerminationCondition.html" title="interface in org.apache.beam.sdk.transforms"><code>Watch.Growth.TerminationCondition</code></a>.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.TerminationCondition.html" title="type parameter in Watch.Growth.TerminationCondition">StateT</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.TerminationCondition.html#onSeenNewOutput-org.joda.time.Instant-StateT-">onSeenNewOutput</a></span>(<a href="https://static.javadoc.io/joda-time/joda-time/2.10.1/org/joda/time/Instant.html?is-external=true" title="class or interface in org.joda.time">Instant</a>&nbsp;now,
               <a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.TerminationCondition.html" title="type parameter in Watch.Growth.TerminationCondition">StateT</a>&nbsp;state)</code>
<div class="block">Called by the <a href="../../../../../org/apache/beam/sdk/transforms/Watch.html" title="class in org.apache.beam.sdk.transforms"><code>Watch</code></a> transform to compute a new termination state, in case after
 calling the <a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.PollFn.html" title="class in org.apache.beam.sdk.transforms"><code>Watch.Growth.PollFn</code></a> for the current input, the <a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.PollResult.html" title="class in org.apache.beam.sdk.transforms"><code>Watch.Growth.PollResult</code></a> included a
 previously unseen <code>OutputT</code>.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.TerminationCondition.html#toString-StateT-">toString</a></span>(<a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.TerminationCondition.html" title="type parameter in Watch.Growth.TerminationCondition">StateT</a>&nbsp;state)</code>
<div class="block">Creates a human-readable representation of the given state of this condition.</div>
</td>
</tr>
</table>
</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="getStateCoder--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getStateCoder</h4>
<pre><a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders">Coder</a>&lt;<a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.TerminationCondition.html" title="type parameter in Watch.Growth.TerminationCondition">StateT</a>&gt;&nbsp;getStateCoder()</pre>
<div class="block">Used to encode the state of this <a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.TerminationCondition.html" title="interface in org.apache.beam.sdk.transforms"><code>Watch.Growth.TerminationCondition</code></a>.</div>
</li>
</ul>
<a name="forNewInput-org.joda.time.Instant-java.lang.Object-">
<!--   -->
</a><a name="forNewInput-org.joda.time.Instant-InputT-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>forNewInput</h4>
<pre><a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.TerminationCondition.html" title="type parameter in Watch.Growth.TerminationCondition">StateT</a>&nbsp;forNewInput(<a href="https://static.javadoc.io/joda-time/joda-time/2.10.1/org/joda/time/Instant.html?is-external=true" title="class or interface in org.joda.time">Instant</a>&nbsp;now,
                   @Nullable
                   <a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.TerminationCondition.html" title="type parameter in Watch.Growth.TerminationCondition">InputT</a>&nbsp;input)</pre>
<div class="block">Called by the <a href="../../../../../org/apache/beam/sdk/transforms/Watch.html" title="class in org.apache.beam.sdk.transforms"><code>Watch</code></a> transform to create a new independent termination state for a
 newly arrived <code>InputT</code>.</div>
</li>
</ul>
<a name="onSeenNewOutput-org.joda.time.Instant-java.lang.Object-">
<!--   -->
</a><a name="onSeenNewOutput-org.joda.time.Instant-StateT-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onSeenNewOutput</h4>
<pre><a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.TerminationCondition.html" title="type parameter in Watch.Growth.TerminationCondition">StateT</a>&nbsp;onSeenNewOutput(<a href="https://static.javadoc.io/joda-time/joda-time/2.10.1/org/joda/time/Instant.html?is-external=true" title="class or interface in org.joda.time">Instant</a>&nbsp;now,
                       <a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.TerminationCondition.html" title="type parameter in Watch.Growth.TerminationCondition">StateT</a>&nbsp;state)</pre>
<div class="block">Called by the <a href="../../../../../org/apache/beam/sdk/transforms/Watch.html" title="class in org.apache.beam.sdk.transforms"><code>Watch</code></a> transform to compute a new termination state, in case after
 calling the <a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.PollFn.html" title="class in org.apache.beam.sdk.transforms"><code>Watch.Growth.PollFn</code></a> for the current input, the <a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.PollResult.html" title="class in org.apache.beam.sdk.transforms"><code>Watch.Growth.PollResult</code></a> included a
 previously unseen <code>OutputT</code>.</div>
</li>
</ul>
<a name="canStopPolling-org.joda.time.Instant-java.lang.Object-">
<!--   -->
</a><a name="canStopPolling-org.joda.time.Instant-StateT-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>canStopPolling</h4>
<pre>boolean&nbsp;canStopPolling(<a href="https://static.javadoc.io/joda-time/joda-time/2.10.1/org/joda/time/Instant.html?is-external=true" title="class or interface in org.joda.time">Instant</a>&nbsp;now,
                       <a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.TerminationCondition.html" title="type parameter in Watch.Growth.TerminationCondition">StateT</a>&nbsp;state)</pre>
<div class="block">Called by the <a href="../../../../../org/apache/beam/sdk/transforms/Watch.html" title="class in org.apache.beam.sdk.transforms"><code>Watch</code></a> transform to determine whether the given termination state
 signals that <a href="../../../../../org/apache/beam/sdk/transforms/Watch.html" title="class in org.apache.beam.sdk.transforms"><code>Watch</code></a> should stop calling <a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.PollFn.html" title="class in org.apache.beam.sdk.transforms"><code>Watch.Growth.PollFn</code></a> for the current input,
 regardless of whether the last <a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.PollResult.html" title="class in org.apache.beam.sdk.transforms"><code>Watch.Growth.PollResult</code></a> was complete or incomplete.</div>
</li>
</ul>
<a name="toString-java.lang.Object-">
<!--   -->
</a><a name="toString-StateT-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toString</h4>
<pre>java.lang.String&nbsp;toString(<a href="../../../../../org/apache/beam/sdk/transforms/Watch.Growth.TerminationCondition.html" title="type parameter in Watch.Growth.TerminationCondition">StateT</a>&nbsp;state)</pre>
<div class="block">Creates a human-readable representation of the given state of this condition.</div>
</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/sdk/transforms/Watch.Growth.PollResult.html" title="class in org.apache.beam.sdk.transforms"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/beam/sdk/transforms/WithFailures.html" title="class in org.apache.beam.sdk.transforms"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/beam/sdk/transforms/Watch.Growth.TerminationCondition.html" target="_top">Frames</a></li>
<li><a href="Watch.Growth.TerminationCondition.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
