blob: 18cd2fab86cae4461786f0db0cbccfb7747897e7 [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) on Mon Mar 07 09:03:15 PST 2016 -->
<title>Split (Quarks v0.4.0)</title>
<meta name="date" content="2016-03-07">
<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="Split (Quarks v0.4.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 role="navigation" title ="TOP_Navigation" aria-label ="Top Navigation Bar"/>
<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/Split.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="../../../quarks/oplet/core/Source.html" title="class in quarks.oplet.core"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../quarks/oplet/core/Union.html" title="class in quarks.oplet.core"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?quarks/oplet/core/Split.html" target="_top">Frames</a></li>
<li><a href="Split.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 role="main" title ="Split" aria-labelledby ="Header1"/>
<div class="header">
<div class="subTitle">quarks.oplet.core</div>
<h2 title="Class Split" class="title" id="Header1">Class Split&lt;T&gt;</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../../quarks/oplet/core/AbstractOplet.html" title="class in quarks.oplet.core">quarks.oplet.core.AbstractOplet</a>&lt;T,T&gt;</li>
<li>
<ul class="inheritance">
<li>quarks.oplet.core.Split&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> - Type of the tuple.</dd>
</dl>
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>java.io.Serializable, java.lang.AutoCloseable, <a href="../../../quarks/function/Consumer.html" title="interface in quarks.function">Consumer</a>&lt;T&gt;, <a href="../../../quarks/oplet/Oplet.html" title="interface in quarks.oplet">Oplet</a>&lt;T,T&gt;</dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">Split&lt;T&gt;</span>
extends <a href="../../../quarks/oplet/core/AbstractOplet.html" title="class in quarks.oplet.core">AbstractOplet</a>&lt;T,T&gt;
implements <a href="../../../quarks/function/Consumer.html" title="interface in quarks.function">Consumer</a>&lt;T&gt;</pre>
<div class="block">Split a stream into multiple streams depending
on the result of a splitter function.
<BR>
For each tuple a function is called:
<UL>
<LI>If the return is negative the tuple is dropped.</LI>
<LI>Otherwise the return value is modded by the number of
output ports and the result is the output port index
the tuple is submitted to.</LI>
</UL></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../serialized-form.html#quarks.oplet.core.Split">Serialized Form</a></dd>
</dl>
</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="../../../quarks/oplet/core/Split.html#Split-quarks.function.ToIntFunction-">Split</a></span>(<a href="../../../quarks/function/ToIntFunction.html" title="interface in quarks.function">ToIntFunction</a>&lt;<a href="../../../quarks/oplet/core/Split.html" title="type parameter in Split">T</a>&gt;&nbsp;splitter)</code>&nbsp;</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="../../../quarks/oplet/core/Split.html#accept-T-">accept</a></span>(<a href="../../../quarks/oplet/core/Split.html" title="type parameter in Split">T</a>&nbsp;tuple)</code>
<div class="block">Apply the function to <code>value</code>.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../quarks/oplet/core/Split.html#close--">close</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../../../quarks/function/Consumer.html" title="interface in quarks.function">Consumer</a>&lt;<a href="../../../quarks/oplet/core/Split.html" title="type parameter in Split">T</a>&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../quarks/oplet/core/Split.html#getInputs--">getInputs</a></span>()</code>
<div class="block">Get the input stream data handlers for this oplet.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../quarks/oplet/core/Split.html#initialize-quarks.oplet.OpletContext-">initialize</a></span>(<a href="../../../quarks/oplet/OpletContext.html" title="interface in quarks.oplet">OpletContext</a>&lt;<a href="../../../quarks/oplet/core/Split.html" title="type parameter in Split">T</a>,<a href="../../../quarks/oplet/core/Split.html" title="type parameter in Split">T</a>&gt;&nbsp;context)</code>
<div class="block">Initialize the oplet.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../quarks/oplet/core/Split.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.quarks.oplet.core.AbstractOplet">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;quarks.oplet.core.<a href="../../../quarks/oplet/core/AbstractOplet.html" title="class in quarks.oplet.core">AbstractOplet</a></h3>
<code><a href="../../../quarks/oplet/core/AbstractOplet.html#getOpletContext--">getOpletContext</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="Split-quarks.function.ToIntFunction-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Split</h4>
<pre>public&nbsp;Split(<a href="../../../quarks/function/ToIntFunction.html" title="interface in quarks.function">ToIntFunction</a>&lt;<a href="../../../quarks/oplet/core/Split.html" title="type parameter in Split">T</a>&gt;&nbsp;splitter)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="initialize-quarks.oplet.OpletContext-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initialize</h4>
<pre>public&nbsp;void&nbsp;initialize(<a href="../../../quarks/oplet/OpletContext.html" title="interface in quarks.oplet">OpletContext</a>&lt;<a href="../../../quarks/oplet/core/Split.html" title="type parameter in Split">T</a>,<a href="../../../quarks/oplet/core/Split.html" title="type parameter in Split">T</a>&gt;&nbsp;context)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../quarks/oplet/Oplet.html#initialize-quarks.oplet.OpletContext-">Oplet</a></code></span></div>
<div class="block">Initialize the oplet.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../quarks/oplet/Oplet.html#initialize-quarks.oplet.OpletContext-">initialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../quarks/oplet/Oplet.html" title="interface in quarks.oplet">Oplet</a>&lt;<a href="../../../quarks/oplet/core/Split.html" title="type parameter in Split">T</a>,<a href="../../../quarks/oplet/core/Split.html" title="type parameter in Split">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../quarks/oplet/core/AbstractOplet.html#initialize-quarks.oplet.OpletContext-">initialize</a></code>&nbsp;in class&nbsp;<code><a href="../../../quarks/oplet/core/AbstractOplet.html" title="class in quarks.oplet.core">AbstractOplet</a>&lt;<a href="../../../quarks/oplet/core/Split.html" title="type parameter in Split">T</a>,<a href="../../../quarks/oplet/core/Split.html" title="type parameter in Split">T</a>&gt;</code></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="../../../quarks/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>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../quarks/oplet/Oplet.html#start--">start</a></code>&nbsp;in interface&nbsp;<code><a href="../../../quarks/oplet/Oplet.html" title="interface in quarks.oplet">Oplet</a>&lt;<a href="../../../quarks/oplet/core/Split.html" title="type parameter in Split">T</a>,<a href="../../../quarks/oplet/core/Split.html" title="type parameter in Split">T</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a name="getInputs--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInputs</h4>
<pre>public&nbsp;java.util.List&lt;<a href="../../../quarks/function/Consumer.html" title="interface in quarks.function">Consumer</a>&lt;<a href="../../../quarks/oplet/core/Split.html" title="type parameter in Split">T</a>&gt;&gt;&nbsp;getInputs()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../quarks/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="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../quarks/oplet/Oplet.html#getInputs--">getInputs</a></code>&nbsp;in interface&nbsp;<code><a href="../../../quarks/oplet/Oplet.html" title="interface in quarks.oplet">Oplet</a>&lt;<a href="../../../quarks/oplet/core/Split.html" title="type parameter in Split">T</a>,<a href="../../../quarks/oplet/core/Split.html" title="type parameter in Split">T</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>list of consumers</dd>
</dl>
</li>
</ul>
<a name="accept-java.lang.Object-">
<!-- -->
</a><a name="accept-T-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>accept</h4>
<pre>public&nbsp;void&nbsp;accept(<a href="../../../quarks/oplet/core/Split.html" title="type parameter in Split">T</a>&nbsp;tuple)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../quarks/function/Consumer.html#accept-T-">Consumer</a></code></span></div>
<div class="block">Apply the function to <code>value</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../quarks/function/Consumer.html#accept-T-">accept</a></code>&nbsp;in interface&nbsp;<code><a href="../../../quarks/function/Consumer.html" title="interface in quarks.function">Consumer</a>&lt;<a href="../../../quarks/oplet/core/Split.html" title="type parameter in Split">T</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>tuple</code> - Value function is applied to.</dd>
</dl>
</li>
</ul>
<a name="close--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>close</h4>
<pre>public&nbsp;void&nbsp;close()
throws java.lang.Exception</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>close</code>&nbsp;in interface&nbsp;<code>java.lang.AutoCloseable</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div role="navigation" title ="Bottom_NAVIGATION" aria-label ="Bottom Navigation Bar"/>
<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/Split.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://quarks-edge.github.io">quarks-edge community @ github.com</a></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../quarks/oplet/core/Source.html" title="class in quarks.oplet.core"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../quarks/oplet/core/Union.html" title="class in quarks.oplet.core"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?quarks/oplet/core/Split.html" target="_top">Frames</a></li>
<li><a href="Split.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 ======= -->
<div role="contentinfo" title ="contentinfo_title" aria-label ="Contains footer note"/>
<p class="legalCopy"><small>Copyright IBM 2015,2016 - 2f6ad0e-20160307-0902</small></p>
</body>
</html>