blob: c7fc1a1f46d092cc7e297ffff02d60115d2be0f3 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.18) on Wed Mar 01 02:01:42 GMT 2023 -->
<title>OutputCollector (Heron Java API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2023-03-01">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
<script type="text/javascript" src="../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../jquery/jquery-3.6.0.min.js"></script>
<script type="text/javascript" src="../../../jquery/jquery-ui.min.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="OutputCollector (Heron Java API)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":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";
var pathtoroot = "../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.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" id="allclasses_navbar_top">
<li><a href="../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</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 id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">backtype.storm.task</a></div>
<h2 title="Class OutputCollector" class="title">Class OutputCollector</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>backtype.storm.task.OutputCollector</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="IErrorReporter.html" title="interface in backtype.storm.task">IErrorReporter</a></code>, <code><a href="IOutputCollector.html" title="interface in backtype.storm.task">IOutputCollector</a></code></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><code><a href="OutputCollectorImpl.html" title="class in backtype.storm.task">OutputCollectorImpl</a></code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">OutputCollector</span>
extends java.lang.Object
implements <a href="IOutputCollector.html" title="interface in backtype.storm.task">IOutputCollector</a></pre>
<div class="block">This output collector exposes the API for emitting tuples from an IRichBolt.
This is the core API for emitting tuples. For a simpler API, and a more restricted
form of stream processing, see IBasicBolt and BasicOutputCollector.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(backtype.storm.task.IOutputCollector)">OutputCollector</a></span>&#8203;(<a href="IOutputCollector.html" title="interface in backtype.storm.task">IOutputCollector</a>&nbsp;delegate)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<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="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ack(backtype.storm.tuple.Tuple)">ack</a></span>&#8203;(<a href="../tuple/Tuple.html" title="interface in backtype.storm.tuple">Tuple</a>&nbsp;input)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>java.util.List&lt;java.lang.Integer&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#emit(backtype.storm.tuple.Tuple,java.util.List)">emit</a></span>&#8203;(<a href="../tuple/Tuple.html" title="interface in backtype.storm.tuple">Tuple</a>&nbsp;anchor,
java.util.List&lt;java.lang.Object&gt;&nbsp;tuple)</code></th>
<td class="colLast">
<div class="block">Emits a new tuple to the default stream anchored on a single tuple.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>java.util.List&lt;java.lang.Integer&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#emit(java.lang.String,backtype.storm.tuple.Tuple,java.util.List)">emit</a></span>&#8203;(java.lang.String&nbsp;streamId,
<a href="../tuple/Tuple.html" title="interface in backtype.storm.tuple">Tuple</a>&nbsp;anchor,
java.util.List&lt;java.lang.Object&gt;&nbsp;tuple)</code></th>
<td class="colLast">
<div class="block">Emits a new tuple to a specific stream with a single anchor.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>java.util.List&lt;java.lang.Integer&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#emit(java.lang.String,java.util.Collection,java.util.List)">emit</a></span>&#8203;(java.lang.String&nbsp;streamId,
java.util.Collection&lt;<a href="../tuple/Tuple.html" title="interface in backtype.storm.tuple">Tuple</a>&gt;&nbsp;anchors,
java.util.List&lt;java.lang.Object&gt;&nbsp;tuple)</code></th>
<td class="colLast">
<div class="block">Returns the task ids that received the tuples.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>java.util.List&lt;java.lang.Integer&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#emit(java.lang.String,java.util.List)">emit</a></span>&#8203;(java.lang.String&nbsp;streamId,
java.util.List&lt;java.lang.Object&gt;&nbsp;tuple)</code></th>
<td class="colLast">
<div class="block">Emits a new unanchored tuple to the specified stream.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>java.util.List&lt;java.lang.Integer&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#emit(java.util.Collection,java.util.List)">emit</a></span>&#8203;(java.util.Collection&lt;<a href="../tuple/Tuple.html" title="interface in backtype.storm.tuple">Tuple</a>&gt;&nbsp;anchors,
java.util.List&lt;java.lang.Object&gt;&nbsp;tuple)</code></th>
<td class="colLast">
<div class="block">Emits a new tuple to the default stream anchored on a group of input tuples.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>java.util.List&lt;java.lang.Integer&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#emit(java.util.List)">emit</a></span>&#8203;(java.util.List&lt;java.lang.Object&gt;&nbsp;tuple)</code></th>
<td class="colLast">
<div class="block">Emits a new unanchored tuple to the default stream.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#emitDirect(int,backtype.storm.tuple.Tuple,java.util.List)">emitDirect</a></span>&#8203;(int&nbsp;taskId,
<a href="../tuple/Tuple.html" title="interface in backtype.storm.tuple">Tuple</a>&nbsp;anchor,
java.util.List&lt;java.lang.Object&gt;&nbsp;tuple)</code></th>
<td class="colLast">
<div class="block">Emits a tuple directly to the specified task id on the default stream.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#emitDirect(int,java.lang.String,backtype.storm.tuple.Tuple,java.util.List)">emitDirect</a></span>&#8203;(int&nbsp;taskId,
java.lang.String&nbsp;streamId,
<a href="../tuple/Tuple.html" title="interface in backtype.storm.tuple">Tuple</a>&nbsp;anchor,
java.util.List&lt;java.lang.Object&gt;&nbsp;tuple)</code></th>
<td class="colLast">
<div class="block">Emits a tuple directly to the specified task id on the specified stream.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#emitDirect(int,java.lang.String,java.util.Collection,java.util.List)">emitDirect</a></span>&#8203;(int&nbsp;taskId,
java.lang.String&nbsp;streamId,
java.util.Collection&lt;<a href="../tuple/Tuple.html" title="interface in backtype.storm.tuple">Tuple</a>&gt;&nbsp;anchors,
java.util.List&lt;java.lang.Object&gt;&nbsp;tuple)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#emitDirect(int,java.lang.String,java.util.List)">emitDirect</a></span>&#8203;(int&nbsp;taskId,
java.lang.String&nbsp;streamId,
java.util.List&lt;java.lang.Object&gt;&nbsp;tuple)</code></th>
<td class="colLast">
<div class="block">Emits a tuple directly to the specified task id on the specified stream.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#emitDirect(int,java.util.Collection,java.util.List)">emitDirect</a></span>&#8203;(int&nbsp;taskId,
java.util.Collection&lt;<a href="../tuple/Tuple.html" title="interface in backtype.storm.tuple">Tuple</a>&gt;&nbsp;anchors,
java.util.List&lt;java.lang.Object&gt;&nbsp;tuple)</code></th>
<td class="colLast">
<div class="block">Emits a tuple directly to the specified task id on the default stream.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#emitDirect(int,java.util.List)">emitDirect</a></span>&#8203;(int&nbsp;taskId,
java.util.List&lt;java.lang.Object&gt;&nbsp;tuple)</code></th>
<td class="colLast">
<div class="block">Emits a tuple directly to the specified task id on the default stream.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#fail(backtype.storm.tuple.Tuple)">fail</a></span>&#8203;(<a href="../tuple/Tuple.html" title="interface in backtype.storm.tuple">Tuple</a>&nbsp;input)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reportError(java.lang.Throwable)">reportError</a></span>&#8203;(java.lang.Throwable&nbsp;error)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="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>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(backtype.storm.task.IOutputCollector)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>OutputCollector</h4>
<pre>public&nbsp;OutputCollector&#8203;(<a href="IOutputCollector.html" title="interface in backtype.storm.task">IOutputCollector</a>&nbsp;delegate)</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="emit(java.lang.String,backtype.storm.tuple.Tuple,java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>emit</h4>
<pre class="methodSignature">public&nbsp;java.util.List&lt;java.lang.Integer&gt;&nbsp;emit&#8203;(java.lang.String&nbsp;streamId,
<a href="../tuple/Tuple.html" title="interface in backtype.storm.tuple">Tuple</a>&nbsp;anchor,
java.util.List&lt;java.lang.Object&gt;&nbsp;tuple)</pre>
<div class="block">Emits a new tuple to a specific stream with a single anchor. The emitted values must be
immutable.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>streamId</code> - the stream to emit to</dd>
<dd><code>anchor</code> - the tuple to anchor to</dd>
<dd><code>tuple</code> - the new output tuple from this bolt</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the list of task ids that this new tuple was sent to</dd>
</dl>
</li>
</ul>
<a id="emit(java.lang.String,java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>emit</h4>
<pre class="methodSignature">public&nbsp;java.util.List&lt;java.lang.Integer&gt;&nbsp;emit&#8203;(java.lang.String&nbsp;streamId,
java.util.List&lt;java.lang.Object&gt;&nbsp;tuple)</pre>
<div class="block">Emits a new unanchored tuple to the specified stream. Because it's unanchored,
if a failure happens downstream, this new tuple won't affect whether any
spout tuples are considered failed or not. The emitted values must be
immutable.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>streamId</code> - the stream to emit to</dd>
<dd><code>tuple</code> - the new output tuple from this bolt</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the list of task ids that this new tuple was sent to</dd>
</dl>
</li>
</ul>
<a id="emit(java.util.Collection,java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>emit</h4>
<pre class="methodSignature">public&nbsp;java.util.List&lt;java.lang.Integer&gt;&nbsp;emit&#8203;(java.util.Collection&lt;<a href="../tuple/Tuple.html" title="interface in backtype.storm.tuple">Tuple</a>&gt;&nbsp;anchors,
java.util.List&lt;java.lang.Object&gt;&nbsp;tuple)</pre>
<div class="block">Emits a new tuple to the default stream anchored on a group of input tuples. The emitted
values must be immutable.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>anchors</code> - the tuples to anchor to</dd>
<dd><code>tuple</code> - the new output tuple from this bolt</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the list of task ids that this new tuple was sent to</dd>
</dl>
</li>
</ul>
<a id="emit(backtype.storm.tuple.Tuple,java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>emit</h4>
<pre class="methodSignature">public&nbsp;java.util.List&lt;java.lang.Integer&gt;&nbsp;emit&#8203;(<a href="../tuple/Tuple.html" title="interface in backtype.storm.tuple">Tuple</a>&nbsp;anchor,
java.util.List&lt;java.lang.Object&gt;&nbsp;tuple)</pre>
<div class="block">Emits a new tuple to the default stream anchored on a single tuple. The emitted values must be
immutable.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>anchor</code> - the tuple to anchor to</dd>
<dd><code>tuple</code> - the new output tuple from this bolt</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the list of task ids that this new tuple was sent to</dd>
</dl>
</li>
</ul>
<a id="emit(java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>emit</h4>
<pre class="methodSignature">public&nbsp;java.util.List&lt;java.lang.Integer&gt;&nbsp;emit&#8203;(java.util.List&lt;java.lang.Object&gt;&nbsp;tuple)</pre>
<div class="block">Emits a new unanchored tuple to the default stream. Beacuse it's unanchored,
if a failure happens downstream, this new tuple won't affect whether any
spout tuples are considered failed or not. The emitted values must be
immutable.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>tuple</code> - the new output tuple from this bolt</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the list of task ids that this new tuple was sent to</dd>
</dl>
</li>
</ul>
<a id="emitDirect(int,java.lang.String,backtype.storm.tuple.Tuple,java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>emitDirect</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;emitDirect&#8203;(int&nbsp;taskId,
java.lang.String&nbsp;streamId,
<a href="../tuple/Tuple.html" title="interface in backtype.storm.tuple">Tuple</a>&nbsp;anchor,
java.util.List&lt;java.lang.Object&gt;&nbsp;tuple)</pre>
<div class="block">Emits a tuple directly to the specified task id on the specified stream.
If the target bolt does not subscribe to this bolt using a direct grouping,
the tuple will not be sent. If the specified output stream is not declared
as direct, or the target bolt subscribes with a non-direct grouping,
an error will occur at runtime. The emitted values must be
immutable.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>taskId</code> - the taskId to send the new tuple to</dd>
<dd><code>streamId</code> - the stream to send the tuple on. It must be declared as a direct stream in the topology definition.</dd>
<dd><code>anchor</code> - the tuple to anchor to</dd>
<dd><code>tuple</code> - the new output tuple from this bolt</dd>
</dl>
</li>
</ul>
<a id="emitDirect(int,java.lang.String,java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>emitDirect</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;emitDirect&#8203;(int&nbsp;taskId,
java.lang.String&nbsp;streamId,
java.util.List&lt;java.lang.Object&gt;&nbsp;tuple)</pre>
<div class="block">Emits a tuple directly to the specified task id on the specified stream.
If the target bolt does not subscribe to this bolt using a direct grouping,
the tuple will not be sent. If the specified output stream is not declared
as direct, or the target bolt subscribes with a non-direct grouping,
an error will occur at runtime. Note that this method does not use anchors,
so downstream failures won't affect the failure status of any spout tuples.
The emitted values must be immutable.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>taskId</code> - the taskId to send the new tuple to</dd>
<dd><code>streamId</code> - the stream to send the tuple on. It must be declared as a direct stream in the topology definition.</dd>
<dd><code>tuple</code> - the new output tuple from this bolt</dd>
</dl>
</li>
</ul>
<a id="emitDirect(int,java.util.Collection,java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>emitDirect</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;emitDirect&#8203;(int&nbsp;taskId,
java.util.Collection&lt;<a href="../tuple/Tuple.html" title="interface in backtype.storm.tuple">Tuple</a>&gt;&nbsp;anchors,
java.util.List&lt;java.lang.Object&gt;&nbsp;tuple)</pre>
<div class="block">Emits a tuple directly to the specified task id on the default stream.
If the target bolt does not subscribe to this bolt using a direct grouping,
the tuple will not be sent. If the specified output stream is not declared
as direct, or the target bolt subscribes with a non-direct grouping,
an error will occur at runtime. The emitted values must be
immutable.
<p>The default stream must be declared as direct in the topology definition.
See OutputDeclarer#declare for how this is done when defining topologies
in Java.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>taskId</code> - the taskId to send the new tuple to</dd>
<dd><code>anchors</code> - the tuples to anchor to</dd>
<dd><code>tuple</code> - the new output tuple from this bolt</dd>
</dl>
</li>
</ul>
<a id="emitDirect(int,backtype.storm.tuple.Tuple,java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>emitDirect</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;emitDirect&#8203;(int&nbsp;taskId,
<a href="../tuple/Tuple.html" title="interface in backtype.storm.tuple">Tuple</a>&nbsp;anchor,
java.util.List&lt;java.lang.Object&gt;&nbsp;tuple)</pre>
<div class="block">Emits a tuple directly to the specified task id on the default stream.
If the target bolt does not subscribe to this bolt using a direct grouping,
the tuple will not be sent. If the specified output stream is not declared
as direct, or the target bolt subscribes with a non-direct grouping,
an error will occur at runtime. The emitted values must be
immutable.
<p>The default stream must be declared as direct in the topology definition.
See OutputDeclarer#declare for how this is done when defining topologies
in Java.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>taskId</code> - the taskId to send the new tuple to</dd>
<dd><code>anchor</code> - the tuple to anchor to</dd>
<dd><code>tuple</code> - the new output tuple from this bolt</dd>
</dl>
</li>
</ul>
<a id="emitDirect(int,java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>emitDirect</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;emitDirect&#8203;(int&nbsp;taskId,
java.util.List&lt;java.lang.Object&gt;&nbsp;tuple)</pre>
<div class="block">Emits a tuple directly to the specified task id on the default stream.
If the target bolt does not subscribe to this bolt using a direct grouping,
the tuple will not be sent. If the specified output stream is not declared
as direct, or the target bolt subscribes with a non-direct grouping,
an error will occur at runtime. The emitted values must be
immutable.
<p>The default stream must be declared as direct in the topology definition.
See OutputDeclarer#declare for how this is done when defining topologies
in Java.</p>
<p>Note that this method does not use anchors, so downstream failures won't
affect the failure status of any spout tuples.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>taskId</code> - the taskId to send the new tuple to</dd>
<dd><code>tuple</code> - the new output tuple from this bolt</dd>
</dl>
</li>
</ul>
<a id="emit(java.lang.String,java.util.Collection,java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>emit</h4>
<pre class="methodSignature">public&nbsp;java.util.List&lt;java.lang.Integer&gt;&nbsp;emit&#8203;(java.lang.String&nbsp;streamId,
java.util.Collection&lt;<a href="../tuple/Tuple.html" title="interface in backtype.storm.tuple">Tuple</a>&gt;&nbsp;anchors,
java.util.List&lt;java.lang.Object&gt;&nbsp;tuple)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="IOutputCollector.html#emit(java.lang.String,java.util.Collection,java.util.List)">IOutputCollector</a></code></span></div>
<div class="block">Returns the task ids that received the tuples.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="IOutputCollector.html#emit(java.lang.String,java.util.Collection,java.util.List)">emit</a></code>&nbsp;in interface&nbsp;<code><a href="IOutputCollector.html" title="interface in backtype.storm.task">IOutputCollector</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>streamId</code> - the stream id</dd>
<dd><code>anchors</code> - the anchors</dd>
<dd><code>tuple</code> - the tuple</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the task ids that recieved the tuples</dd>
</dl>
</li>
</ul>
<a id="emitDirect(int,java.lang.String,java.util.Collection,java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>emitDirect</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;emitDirect&#8203;(int&nbsp;taskId,
java.lang.String&nbsp;streamId,
java.util.Collection&lt;<a href="../tuple/Tuple.html" title="interface in backtype.storm.tuple">Tuple</a>&gt;&nbsp;anchors,
java.util.List&lt;java.lang.Object&gt;&nbsp;tuple)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="IOutputCollector.html#emitDirect(int,java.lang.String,java.util.Collection,java.util.List)">emitDirect</a></code>&nbsp;in interface&nbsp;<code><a href="IOutputCollector.html" title="interface in backtype.storm.task">IOutputCollector</a></code></dd>
</dl>
</li>
</ul>
<a id="ack(backtype.storm.tuple.Tuple)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ack</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;ack&#8203;(<a href="../tuple/Tuple.html" title="interface in backtype.storm.tuple">Tuple</a>&nbsp;input)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="IOutputCollector.html#ack(backtype.storm.tuple.Tuple)">ack</a></code>&nbsp;in interface&nbsp;<code><a href="IOutputCollector.html" title="interface in backtype.storm.task">IOutputCollector</a></code></dd>
</dl>
</li>
</ul>
<a id="fail(backtype.storm.tuple.Tuple)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fail</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;fail&#8203;(<a href="../tuple/Tuple.html" title="interface in backtype.storm.tuple">Tuple</a>&nbsp;input)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="IOutputCollector.html#fail(backtype.storm.tuple.Tuple)">fail</a></code>&nbsp;in interface&nbsp;<code><a href="IOutputCollector.html" title="interface in backtype.storm.task">IOutputCollector</a></code></dd>
</dl>
</li>
</ul>
<a id="reportError(java.lang.Throwable)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>reportError</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;reportError&#8203;(java.lang.Throwable&nbsp;error)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="IErrorReporter.html#reportError(java.lang.Throwable)">reportError</a></code>&nbsp;in interface&nbsp;<code><a href="IErrorReporter.html" title="interface in backtype.storm.task">IErrorReporter</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.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" id="allclasses_navbar_bottom">
<li><a href="../../../allclasses.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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</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 id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>