<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.18) on Wed Mar 01 02:01:42 GMT 2023 -->
<title>SupplierStreamlet (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="SupplierStreamlet (Heron Java API)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":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><a href="#nested.class.summary">Nested</a>&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>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">org.apache.heron.streamlet.impl.streamlets</a></div>
<h2 title="Class SupplierStreamlet" class="title">Class SupplierStreamlet&lt;R&gt;</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../StreamletBaseImpl.html" title="class in org.apache.heron.streamlet.impl">org.apache.heron.streamlet.impl.StreamletBaseImpl</a>&lt;R&gt;</li>
<li>
<ul class="inheritance">
<li><a href="../StreamletImpl.html" title="class in org.apache.heron.streamlet.impl">org.apache.heron.streamlet.impl.StreamletImpl</a>&lt;R&gt;</li>
<li>
<ul class="inheritance">
<li>org.apache.heron.streamlet.impl.streamlets.SupplierStreamlet&lt;R&gt;</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="../../Streamlet.html" title="interface in org.apache.heron.streamlet">Streamlet</a>&lt;R&gt;</code>, <code><a href="../../StreamletBase.html" title="interface in org.apache.heron.streamlet">StreamletBase</a>&lt;R&gt;</code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">SupplierStreamlet&lt;R&gt;</span>
extends <a href="../StreamletImpl.html" title="class in org.apache.heron.streamlet.impl">StreamletImpl</a>&lt;R&gt;</pre>
<div class="block">SupplierStreamlet is a very quick and flexible way of creating a Streamlet
 from an user supplied Supplier Function. The supplier function is the
 source of all tuples for this Streamlet.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!--   -->
</a>
<h3>Nested Class Summary</h3>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.apache.heron.streamlet.impl.StreamletBaseImpl">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.heron.streamlet.impl.<a href="../StreamletBaseImpl.html" title="class in org.apache.heron.streamlet.impl">StreamletBaseImpl</a></h3>
<code><a href="../StreamletBaseImpl.StreamletNamePrefix.html" title="enum in org.apache.heron.streamlet.impl">StreamletBaseImpl.StreamletNamePrefix</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- =========== FIELD SUMMARY =========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.org.apache.heron.streamlet.impl.StreamletBaseImpl">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.heron.streamlet.impl.<a href="../StreamletBaseImpl.html" title="class in org.apache.heron.streamlet.impl">StreamletBaseImpl</a></h3>
<code><a href="../StreamletBaseImpl.html#name">name</a>, <a href="../StreamletBaseImpl.html#nPartitions">nPartitions</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- ======== 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(org.apache.heron.streamlet.SerializableSupplier)">SupplierStreamlet</a></span>&#8203;(<a href="../../SerializableSupplier.html" title="interface in org.apache.heron.streamlet">SerializableSupplier</a>&lt;<a href="SupplierStreamlet.html" title="type parameter in SupplierStreamlet">R</a>&gt;&nbsp;supplier)</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>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#doBuild(org.apache.heron.api.topology.TopologyBuilder,java.util.Set)">doBuild</a></span>&#8203;(<a href="../../../api/topology/TopologyBuilder.html" title="class in org.apache.heron.api.topology">TopologyBuilder</a>&nbsp;bldr,
       java.util.Set&lt;java.lang.String&gt;&nbsp;stageNames)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.heron.streamlet.impl.StreamletImpl">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.heron.streamlet.impl.<a href="../StreamletImpl.html" title="class in org.apache.heron.streamlet.impl">StreamletImpl</a></h3>
<code><a href="../StreamletImpl.html#applyOperator(org.apache.heron.streamlet.IStreamletOperator)">applyOperator</a>, <a href="../StreamletImpl.html#applyOperator(org.apache.heron.streamlet.IStreamletOperator,org.apache.heron.api.grouping.StreamGrouping)">applyOperator</a>, <a href="../StreamletImpl.html#clone(int)">clone</a>, <a href="../StreamletImpl.html#consume(org.apache.heron.streamlet.SerializableConsumer)">consume</a>, <a href="../StreamletImpl.html#countByKey(org.apache.heron.streamlet.SerializableFunction)">countByKey</a>, <a href="../StreamletImpl.html#countByKeyAndWindow(org.apache.heron.streamlet.SerializableFunction,org.apache.heron.streamlet.WindowConfig)">countByKeyAndWindow</a>, <a href="../StreamletImpl.html#filter(org.apache.heron.streamlet.SerializablePredicate)">filter</a>, <a href="../StreamletImpl.html#flatMap(org.apache.heron.streamlet.SerializableFunction)">flatMap</a>, <a href="../StreamletImpl.html#getAvailableStreamIds()">getAvailableStreamIds</a>, <a href="../StreamletImpl.html#getStreamId()">getStreamId</a>, <a href="../StreamletImpl.html#join(org.apache.heron.streamlet.Streamlet,org.apache.heron.streamlet.SerializableFunction,org.apache.heron.streamlet.SerializableFunction,org.apache.heron.streamlet.WindowConfig,org.apache.heron.streamlet.JoinType,org.apache.heron.streamlet.SerializableBiFunction)">join</a>, <a href="../StreamletImpl.html#join(org.apache.heron.streamlet.Streamlet,org.apache.heron.streamlet.SerializableFunction,org.apache.heron.streamlet.SerializableFunction,org.apache.heron.streamlet.WindowConfig,org.apache.heron.streamlet.SerializableBiFunction)">join</a>, <a href="../StreamletImpl.html#keyBy(org.apache.heron.streamlet.SerializableFunction)">keyBy</a>, <a href="../StreamletImpl.html#keyBy(org.apache.heron.streamlet.SerializableFunction,org.apache.heron.streamlet.SerializableFunction)">keyBy</a>, <a href="../StreamletImpl.html#log()">log</a>, <a href="../StreamletImpl.html#map(org.apache.heron.streamlet.SerializableFunction)">map</a>, <a href="../StreamletImpl.html#reduceByKey(org.apache.heron.streamlet.SerializableFunction,org.apache.heron.streamlet.SerializableFunction,org.apache.heron.streamlet.SerializableBinaryOperator)">reduceByKey</a>, <a href="../StreamletImpl.html#reduceByKey(org.apache.heron.streamlet.SerializableFunction,T,org.apache.heron.streamlet.SerializableBiFunction)">reduceByKey</a>, <a href="../StreamletImpl.html#reduceByKeyAndWindow(org.apache.heron.streamlet.SerializableFunction,org.apache.heron.streamlet.SerializableFunction,org.apache.heron.streamlet.WindowConfig,org.apache.heron.streamlet.SerializableBinaryOperator)">reduceByKeyAndWindow</a>, <a href="../StreamletImpl.html#reduceByKeyAndWindow(org.apache.heron.streamlet.SerializableFunction,org.apache.heron.streamlet.WindowConfig,T,org.apache.heron.streamlet.SerializableBiFunction)">reduceByKeyAndWindow</a>, <a href="../StreamletImpl.html#repartition(int)">repartition</a>, <a href="../StreamletImpl.html#repartition(int,org.apache.heron.streamlet.SerializableBiFunction)">repartition</a>, <a href="../StreamletImpl.html#setName(java.lang.String)">setName</a>, <a href="../StreamletImpl.html#setNumPartitions(int)">setNumPartitions</a>, <a href="../StreamletImpl.html#split(java.util.Map)">split</a>, <a href="../StreamletImpl.html#toSink(org.apache.heron.streamlet.Sink)">toSink</a>, <a href="../StreamletImpl.html#transform(org.apache.heron.streamlet.SerializableTransformer)">transform</a>, <a href="../StreamletImpl.html#union(org.apache.heron.streamlet.Streamlet)">union</a>, <a href="../StreamletImpl.html#withStream(java.lang.String)">withStream</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.heron.streamlet.impl.StreamletBaseImpl">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.heron.streamlet.impl.<a href="../StreamletBaseImpl.html" title="class in org.apache.heron.streamlet.impl">StreamletBaseImpl</a></h3>
<code><a href="../StreamletBaseImpl.html#addChild(org.apache.heron.streamlet.impl.StreamletBaseImpl)">addChild</a>, <a href="../StreamletBaseImpl.html#build(org.apache.heron.api.topology.TopologyBuilder,java.util.Set)">build</a>, <a href="../StreamletBaseImpl.html#getChildren()">getChildren</a>, <a href="../StreamletBaseImpl.html#getName()">getName</a>, <a href="../StreamletBaseImpl.html#getNumPartitions()">getNumPartitions</a>, <a href="../StreamletBaseImpl.html#isBuilt()">isBuilt</a>, <a href="../StreamletBaseImpl.html#isFullyBuilt()">isFullyBuilt</a>, <a href="../StreamletBaseImpl.html#setDefaultNameIfNone(org.apache.heron.streamlet.impl.StreamletBaseImpl.StreamletNamePrefix,java.util.Set)">setDefaultNameIfNone</a></code></li>
</ul>
<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>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.heron.streamlet.Streamlet">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.heron.streamlet.<a href="../../Streamlet.html" title="interface in org.apache.heron.streamlet">Streamlet</a></h3>
<code><a href="../../Streamlet.html#getName()">getName</a>, <a href="../../Streamlet.html#getNumPartitions()">getNumPartitions</a></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;(org.apache.heron.streamlet.SerializableSupplier)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SupplierStreamlet</h4>
<pre>public&nbsp;SupplierStreamlet&#8203;(<a href="../../SerializableSupplier.html" title="interface in org.apache.heron.streamlet">SerializableSupplier</a>&lt;<a href="SupplierStreamlet.html" title="type parameter in SupplierStreamlet">R</a>&gt;&nbsp;supplier)</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="doBuild(org.apache.heron.api.topology.TopologyBuilder,java.util.Set)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>doBuild</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;doBuild&#8203;(<a href="../../../api/topology/TopologyBuilder.html" title="class in org.apache.heron.api.topology">TopologyBuilder</a>&nbsp;bldr,
                       java.util.Set&lt;java.lang.String&gt;&nbsp;stageNames)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../StreamletBaseImpl.html#doBuild(org.apache.heron.api.topology.TopologyBuilder,java.util.Set)">doBuild</a></code>&nbsp;in class&nbsp;<code><a href="../StreamletBaseImpl.html" title="class in org.apache.heron.streamlet.impl">StreamletBaseImpl</a>&lt;<a href="SupplierStreamlet.html" title="type parameter in SupplierStreamlet">R</a>&gt;</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><a href="#nested.class.summary">Nested</a>&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>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>
