blob: 9e28c4be635997ea7411e87e43a446fb5fbb22a6 [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:22 EST 2017 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Class org.apache.edgent.oplet.core.Pipe (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="Uses of Class org.apache.edgent.oplet.core.Pipe (Apache Edgent (incubating) v1.2.0 API)";
}
}
catch(err) {
}
//-->
</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><a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
<li class="navBarCell1Rev">Use</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>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/edgent/oplet/core/class-use/Pipe.html" target="_top">Frames</a></li>
<li><a href="Pipe.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>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h2 title="Uses of Class org.apache.edgent.oplet.core.Pipe" class="title">Uses of Class<br>org.apache.edgent.oplet.core.Pipe</h2>
</div>
<div class="classUseContainer">
<ul class="blockList">
<li class="blockList">
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Package</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="#org.apache.edgent.metrics.oplets">org.apache.edgent.metrics.oplets</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="#org.apache.edgent.oplet.core">org.apache.edgent.oplet.core</a></td>
<td class="colLast">
<div class="block">Core primitive oplets.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="#org.apache.edgent.oplet.functional">org.apache.edgent.oplet.functional</a></td>
<td class="colLast">
<div class="block">Oplets that process tuples using functions.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="#org.apache.edgent.oplet.plumbing">org.apache.edgent.oplet.plumbing</a></td>
<td class="colLast">
<div class="block">Oplets that control the flow of tuples.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="#org.apache.edgent.oplet.window">org.apache.edgent.oplet.window</a></td>
<td class="colLast">
<div class="block">Oplets using windows.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="#org.apache.edgent.streamscope.oplets">org.apache.edgent.streamscope.oplets</a></td>
<td class="colLast">
<div class="block">Stream Oscilloscope underlying implementation oplets.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="#org.apache.edgent.topology">org.apache.edgent.topology</a></td>
<td class="colLast">
<div class="block">Functional api to build a streaming topology.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="#org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph</a></td>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<ul class="blockList">
<li class="blockList"><a name="org.apache.edgent.metrics.oplets">
<!-- -->
</a>
<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a> in <a href="../../../../../../org/apache/edgent/metrics/oplets/package-summary.html">org.apache.edgent.metrics.oplets</a></h3>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a> in <a href="../../../../../../org/apache/edgent/metrics/oplets/package-summary.html">org.apache.edgent.metrics.oplets</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/metrics/oplets/CounterOp.html" title="class in org.apache.edgent.metrics.oplets">CounterOp</a>&lt;T&gt;</span></code>
<div class="block">A metrics oplet which counts the number of tuples peeked at.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/metrics/oplets/RateMeter.html" title="class in org.apache.edgent.metrics.oplets">RateMeter</a>&lt;T&gt;</span></code>
<div class="block">A metrics oplet which measures current tuple throughput and one-, five-,
and fifteen-minute exponentially-weighted moving averages.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets">SingleMetricAbstractOplet</a>&lt;T&gt;</span></code>
<div class="block">Base for metrics oplets which use a single metric object.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList"><a name="org.apache.edgent.oplet.core">
<!-- -->
</a>
<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a> in <a href="../../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a></h3>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a> in <a href="../../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a>&lt;T&gt;</span></code>
<div class="block">Oplet that allows a peek at each tuple and always forwards a tuple onto
its single output port.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList"><a name="org.apache.edgent.oplet.functional">
<!-- -->
</a>
<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a> in <a href="../../../../../../org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a></h3>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a> in <a href="../../../../../../org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/functional/Filter.html" title="class in org.apache.edgent.oplet.functional">Filter</a>&lt;T&gt;</span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/functional/FlatMap.html" title="class in org.apache.edgent.oplet.functional">FlatMap</a>&lt;I,O&gt;</span></code>
<div class="block">Map an input tuple to 0-N output tuples.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/functional/Map.html" title="class in org.apache.edgent.oplet.functional">Map</a>&lt;I,O&gt;</span></code>
<div class="block">Map an input tuple to 0-1 output tuple</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList"><a name="org.apache.edgent.oplet.plumbing">
<!-- -->
</a>
<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a> in <a href="../../../../../../org/apache/edgent/oplet/plumbing/package-summary.html">org.apache.edgent.oplet.plumbing</a></h3>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a> in <a href="../../../../../../org/apache/edgent/oplet/plumbing/package-summary.html">org.apache.edgent.oplet.plumbing</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/plumbing/Isolate.html" title="class in org.apache.edgent.oplet.plumbing">Isolate</a>&lt;T&gt;</span></code>
<div class="block">Isolate upstream processing from downstream
processing guaranteeing tuple order.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html" title="class in org.apache.edgent.oplet.plumbing">PressureReliever</a>&lt;T,K&gt;</span></code>
<div class="block">Relieve pressure on upstream oplets by discarding tuples.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="class in org.apache.edgent.oplet.plumbing">UnorderedIsolate</a>&lt;T&gt;</span></code>
<div class="block">Isolate upstream processing from downstream
processing without guaranteeing tuple order.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList"><a name="org.apache.edgent.oplet.window">
<!-- -->
</a>
<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a> in <a href="../../../../../../org/apache/edgent/oplet/window/package-summary.html">org.apache.edgent.oplet.window</a></h3>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a> in <a href="../../../../../../org/apache/edgent/oplet/window/package-summary.html">org.apache.edgent.oplet.window</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="class in org.apache.edgent.oplet.window">Aggregate</a>&lt;T,U,K&gt;</span></code>
<div class="block">Aggregate a window.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList"><a name="org.apache.edgent.streamscope.oplets">
<!-- -->
</a>
<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a> in <a href="../../../../../../org/apache/edgent/streamscope/oplets/package-summary.html">org.apache.edgent.streamscope.oplets</a></h3>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a> in <a href="../../../../../../org/apache/edgent/streamscope/oplets/package-summary.html">org.apache.edgent.streamscope.oplets</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/streamscope/oplets/StreamScope.html" title="class in org.apache.edgent.streamscope.oplets">StreamScope</a>&lt;T&gt;</span></code>
<div class="block">A Stream "oscilloscope" oplet.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList"><a name="org.apache.edgent.topology">
<!-- -->
</a>
<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a> in <a href="../../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a></h3>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
<caption><span>Methods in <a href="../../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> with parameters of type <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tbody>
<tr 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"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/TStream.html#pipe-org.apache.edgent.oplet.core.Pipe-">pipe</a></span>(<a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,U&gt;&nbsp;pipe)</code>
<div class="block">Declare a stream that contains the output of the specified <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core"><code>Pipe</code></a>
oplet applied to this stream.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList"><a name="org.apache.edgent.topology.spi.graph">
<!-- -->
</a>
<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a> in <a href="../../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></h3>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
<caption><span>Methods in <a href="../../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a> with type parameters of type <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>protected &lt;N extends <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,U&gt;,U&gt;<br><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"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#connectPipe-N-">connectPipe</a></span>(N&nbsp;pipeOp)</code>&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
<caption><span>Methods in <a href="../../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a> with parameters of type <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tbody>
<tr 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"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#pipe-org.apache.edgent.oplet.core.Pipe-">pipe</a></span>(<a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,U&gt;&nbsp;pipe)</code>&nbsp;</td>
</tr>
</tbody>
</table>
</li>
</ul>
</li>
</ul>
</div>
<!-- ======= 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><a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
<li class="navBarCell1Rev">Use</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>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/edgent/oplet/core/class-use/Pipe.html" target="_top">Frames</a></li>
<li><a href="Pipe.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>
<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>