blob: 8da7f4db50651c865d860874e27334678c4a2e86 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>TWindowTimeImpl (Apache Edgent (incubating) v1.2.0 API)</title>
<meta name="date" content="2017-12-18">
<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="TWindowTimeImpl (Apache Edgent (incubating) v1.2.0 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/TWindowTimeImpl.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/edgent/topology/spi/graph/TWindowImpl.html" title="class in org.apache.edgent.topology.spi.graph"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" target="_top">Frames</a></li>
<li><a href="TWindowTimeImpl.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.edgent.topology.spi.graph</div>
<h2 title="Class TWindowTimeImpl" class="title">Class TWindowTimeImpl&lt;T,K&gt;</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/8/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><a href="../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="class in org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph.AbstractTWindow</a>&lt;T,K&gt;</li>
<li>
<ul class="inheritance">
<li>org.apache.edgent.topology.spi.graph.TWindowTimeImpl&lt;T,K&gt;</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>, <a href="../../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;T,K&gt;</dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">TWindowTimeImpl&lt;T,K&gt;</span>
extends <a href="../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="class in org.apache.edgent.topology.spi.graph">AbstractTWindow</a>&lt;T,K&gt;</pre>
</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="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>&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html#aggregate-org.apache.edgent.function.BiFunction-">aggregate</a></span>(<a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">T</a>&gt;,<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">K</a>,U&gt;&nbsp;processor)</code>
<div class="block">Window behaviour here is that:
Tuples are always inserted into the partition.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html#batch-org.apache.edgent.function.BiFunction-">batch</a></span>(<a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">T</a>&gt;,<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">K</a>,U&gt;&nbsp;batcher)</code>
<div class="block">Declares a stream that represents a batched aggregation of
partitions in this window.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html#getTime--">getTime</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html#getUnit--">getUnit</a></span>()</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.topology.spi.graph.AbstractTWindow">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.edgent.topology.spi.graph.<a href="../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="class in org.apache.edgent.topology.spi.graph">AbstractTWindow</a></h3>
<code><a href="../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html#feeder--">feeder</a>, <a href="../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html#getKeyFunction--">getKeyFunction</a>, <a href="../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html#topology--">topology</a></code></li>
</ul>
<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/8/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/8/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/8/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/8/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/8/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/8/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/8/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/8/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/8/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/8/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/8/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/8/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">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="aggregate-org.apache.edgent.function.BiFunction-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>aggregate</h4>
<pre>public&nbsp;&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;aggregate(<a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">T</a>&gt;,<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">K</a>,U&gt;&nbsp;processor)</pre>
<div class="block">Window behaviour here is that:
Tuples are always inserted into the partition.
If before insertion the partition is empty the
a eviction is scheduled
After insertion the window is processed so that
any change triggers this continuous aggregation.
The evict determiner evicts any tuples that have
been in the window longer that the configured
size, and invokes the processing on any eviction.
Multiple tuples may have been evicted before processing.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>U</code> - Tuple type</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>processor</code> - Logic to aggregation a partition.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A stream that contains the latest aggregations of partitions in this window.</dd>
</dl>
</li>
</ul>
<a name="batch-org.apache.edgent.function.BiFunction-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>batch</h4>
<pre>public&nbsp;&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;batch(<a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">T</a>&gt;,<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">K</a>,U&gt;&nbsp;batcher)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TWindow.html#batch-org.apache.edgent.function.BiFunction-">TWindow</a></code></span></div>
<div class="block">Declares a stream that represents a batched aggregation of
partitions in this window.
<P>
Each partition "batch" triggers an invocation of
<code>batcher.apply(tuples, key)</code>, where <code>tuples</code> is
a <code>List&lt;T&gt;</code> containing all the tuples in the partition in
insertion order from oldest to newest The list is stable
during the batcher invocation.
<UL>
<LI>Count-based window: a batch occurs when the partition is full.</LI>
<LI>Time-based window: a batch occurs every "time" period units. The
list will be empty if no tuples have been received during the period.</LI>
</UL>
A non-null <code>batcher</code> result is added to the returned stream.
The partition's contents are cleared after a batch is processed.
<P>
Thus the returned stream will contain a sequence of tuples where the
most recent tuple represents the most up to date aggregation of a
partition.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>U</code> - Tuple type</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>batcher</code> - Logic to aggregation a partition.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A stream that contains the latest aggregations of partitions in this window.</dd>
</dl>
</li>
</ul>
<a name="getTime--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTime</h4>
<pre>public&nbsp;long&nbsp;getTime()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the time</dd>
</dl>
</li>
</ul>
<a name="getUnit--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getUnit</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;getUnit()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the unit</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/TWindowTimeImpl.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/edgent/topology/spi/graph/TWindowImpl.html" title="class in org.apache.edgent.topology.spi.graph"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" target="_top">Frames</a></li>
<li><a href="TWindowTimeImpl.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 ======= -->
<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>