blob: 3be6d0e08dc63d5fe1526e18b69de61a546c2896 [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_77) on Mon Oct 24 00:05:43 UTC 2016 -->
<title>Sink (Edgent v1.0.0)</title>
<meta name="date" content="2016-10-24">
<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="Sink (Edgent v1.0.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/Sink.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/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/edgent/oplet/core/Sink.html" target="_top">Frames</a></li>
<li><a href="Sink.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.edgent.oplet.core</div>
<h2 title="Class Sink" class="title">Class Sink&lt;T&gt;</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;T,java.lang.Void&gt;</li>
<li>
<ul class="inheritance">
<li>org.apache.edgent.oplet.core.Sink&lt;T&gt;</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - Tuple type.</dd>
</dl>
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>java.lang.AutoCloseable, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,java.lang.Void&gt;</dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="class in org.apache.edgent.connectors.pubsub.oplets">Publish</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">Sink&lt;T&gt;</span>
extends <a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a>&lt;T,java.lang.Void&gt;</pre>
<div class="block">Sink a stream by processing each tuple through
a <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function"><code>Consumer</code></a>.
If the <code>sinker</code> function implements <code>AutoCloseable</code>
then when this oplet is closed <code>sinker.close()</code> is called.</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/edgent/oplet/core/Sink.html#Sink--">Sink</a></span>()</code>
<div class="block">Create a <code>Sink</code> that discards all tuples.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Sink.html#Sink-org.apache.edgent.function.Consumer-">Sink</a></span>(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Sink.html" title="type parameter in Sink">T</a>&gt;&nbsp;sinker)</code>
<div class="block">Create a <code>Sink</code> oplet.</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/edgent/oplet/core/Sink.html#close--">close</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Sink.html" title="type parameter in Sink">T</a>&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Sink.html#getInputs--">getInputs</a></span>()</code>
<div class="block">Get the input stream data handlers for this oplet.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Sink.html" title="type parameter in Sink">T</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Sink.html#getSinker--">getSinker</a></span>()</code>
<div class="block">Get the sink function that processes each tuple.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Sink.html#setSinker-org.apache.edgent.function.Consumer-">setSinker</a></span>(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Sink.html" title="type parameter in Sink">T</a>&gt;&nbsp;sinker)</code>
<div class="block">Set the sink function.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Sink.html#start--">start</a></span>()</code>
<div class="block">Start the oplet.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.AbstractOplet">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a></h3>
<code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#getOpletContext--">getOpletContext</a>, <a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</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.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="Sink--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Sink</h4>
<pre>public&nbsp;Sink()</pre>
<div class="block">Create a <code>Sink</code> that discards all tuples.
The sink function can be changed using
<a href="../../../../../org/apache/edgent/oplet/core/Sink.html#setSinker-org.apache.edgent.function.Consumer-"><code>setSinker(Consumer)</code></a>.</div>
</li>
</ul>
<a name="Sink-org.apache.edgent.function.Consumer-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Sink</h4>
<pre>public&nbsp;Sink(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Sink.html" title="type parameter in Sink">T</a>&gt;&nbsp;sinker)</pre>
<div class="block">Create a <code>Sink</code> oplet.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sinker</code> - Processing to be performed on each tuple.</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getInputs--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInputs</h4>
<pre>public&nbsp;java.util.List&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Sink.html" title="type parameter in Sink">T</a>&gt;&gt;&nbsp;getInputs()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#getInputs--">Oplet</a></code></span></div>
<div class="block">Get the input stream data handlers for this oplet. The number of handlers
must equal the number of configured input ports. Each tuple
arriving on an input port will be sent to the stream handler for that
input port.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>list of consumers</dd>
</dl>
</li>
</ul>
<a name="start--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>start</h4>
<pre>public&nbsp;void&nbsp;start()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#start--">Oplet</a></code></span></div>
<div class="block">Start the oplet. Oplets must not submit any tuples not derived from
input tuples until this method is called.</div>
</li>
</ul>
<a name="close--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre>public&nbsp;void&nbsp;close()
throws java.lang.Exception</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a name="setSinker-org.apache.edgent.function.Consumer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSinker</h4>
<pre>protected&nbsp;void&nbsp;setSinker(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Sink.html" title="type parameter in Sink">T</a>&gt;&nbsp;sinker)</pre>
<div class="block">Set the sink function.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sinker</code> - Processing to be performed on each tuple.</dd>
</dl>
</li>
</ul>
<a name="getSinker--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getSinker</h4>
<pre>protected&nbsp;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Sink.html" title="type parameter in Sink">T</a>&gt;&nbsp;getSinker()</pre>
<div class="block">Get the sink function that processes each tuple.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>function that processes each tuple.</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/Sink.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/edgent/oplet/core/Sink.html" target="_top">Frames</a></li>
<li><a href="Sink.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 The Apache Software Foundation. All Rights Reserved - 59dfbdf-20161024-0005</small></p>
</body>
</html>