blob: 9f953723d80b84e592f73dfe0421428aaf85fb7a [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 (9) on Wed Mar 28 12:13:01 BST 2018 -->
<title>Topology (kafka 1.1.0 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="date" content="2018-03-28">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.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-1.10.2.js"></script>
<script type="text/javascript" src="../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Topology (kafka 1.1.0 API)";
}
}
catch(err) {
}
//-->
var methods = {"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,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":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 = "../../../../";loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="fixedNav">
<!-- ========= 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="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/kafka/streams/StreamsMetrics.html" title="interface in org.apache.kafka.streams"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/kafka/streams/Topology.AutoOffsetReset.html" title="enum in org.apache.kafka.streams"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/kafka/streams/Topology.html" target="_top">Frames</a></li>
<li><a href="Topology.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>
<ul class="navListSearch">
<li><span>SEARCH:&nbsp;</span>
<input type="text" id="search" value=" " disabled="disabled">
<input type="reset" id="reset" value=" " 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>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 ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="../../../../org/apache/kafka/streams/package-summary.html">org.apache.kafka.streams</a></div>
<h2 title="Class Topology" class="title">Class Topology</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.kafka.streams.Topology</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">Topology</span>
extends java.lang.Object</pre>
<div class="block">A logical representation of a <code>ProcessorTopology</code>.
A topology is an acyclic graph of sources, processors, and sinks.
A <code>source</code> is a node in the graph that consumes one or more Kafka topics and forwards them to its
successor nodes.
A <a href="../../../../org/apache/kafka/streams/processor/Processor.html" title="interface in org.apache.kafka.streams.processor"><code>processor</code></a> is a node in the graph that receives input records from upstream nodes, processes the
records, and optionally forwarding new records to one or all of its downstream nodes.
Finally, a <code>sink</code> is a node in the graph that receives records from upstream nodes and writes them to
a Kafka topic.
A <code>Topology</code> allows you to construct an acyclic graph of these nodes, and then passed into a new
<a href="../../../../org/apache/kafka/streams/KafkaStreams.html" title="class in org.apache.kafka.streams"><code>KafkaStreams</code></a> instance that will then <a href="../../../../org/apache/kafka/streams/KafkaStreams.html#start--"><code>begin consuming, processing, and producing
records</code></a>.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/Topology.AutoOffsetReset.html" title="enum in org.apache.kafka.streams">Topology.AutoOffsetReset</a></span></code></th>
<td class="colLast">
<div class="block">Sets the <code>auto.offset.reset</code> configuration when
<a href="../../../../org/apache/kafka/streams/Topology.html#addSource-org.apache.kafka.streams.Topology.AutoOffsetReset-java.lang.String-java.lang.String...-"><code>adding a source processor</code></a> or when creating <a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream"><code>KStream</code></a>
or <a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KTable</code></a> via <a href="../../../../org/apache/kafka/streams/StreamsBuilder.html" title="class in org.apache.kafka.streams"><code>StreamsBuilder</code></a>.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" summary="Constructor Summary table, listing constructors, and an explanation">
<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="../../../../org/apache/kafka/streams/Topology.html#Topology--">Topology</a></span>&#8203;()</code></th>
<td class="colLast">&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" 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="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/Topology.html#addGlobalStore-org.apache.kafka.streams.state.StoreBuilder-java.lang.String-org.apache.kafka.common.serialization.Deserializer-org.apache.kafka.common.serialization.Deserializer-java.lang.String-java.lang.String-org.apache.kafka.streams.processor.ProcessorSupplier-">addGlobalStore</a></span>&#8203;(<a href="../../../../org/apache/kafka/streams/state/StoreBuilder.html" title="interface in org.apache.kafka.streams.state">StoreBuilder</a>&nbsp;storeBuilder,
java.lang.String&nbsp;sourceName,
<a href="../../../../org/apache/kafka/common/serialization/Deserializer.html" title="interface in org.apache.kafka.common.serialization">Deserializer</a>&nbsp;keyDeserializer,
<a href="../../../../org/apache/kafka/common/serialization/Deserializer.html" title="interface in org.apache.kafka.common.serialization">Deserializer</a>&nbsp;valueDeserializer,
java.lang.String&nbsp;topic,
java.lang.String&nbsp;processorName,
<a href="../../../../org/apache/kafka/streams/processor/ProcessorSupplier.html" title="interface in org.apache.kafka.streams.processor">ProcessorSupplier</a>&nbsp;stateUpdateSupplier)</code></th>
<td class="colLast">
<div class="block">Adds a global <a href="../../../../org/apache/kafka/streams/processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> to the topology.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/Topology.html#addGlobalStore-org.apache.kafka.streams.state.StoreBuilder-java.lang.String-org.apache.kafka.streams.processor.TimestampExtractor-org.apache.kafka.common.serialization.Deserializer-org.apache.kafka.common.serialization.Deserializer-java.lang.String-java.lang.String-org.apache.kafka.streams.processor.ProcessorSupplier-">addGlobalStore</a></span>&#8203;(<a href="../../../../org/apache/kafka/streams/state/StoreBuilder.html" title="interface in org.apache.kafka.streams.state">StoreBuilder</a>&nbsp;storeBuilder,
java.lang.String&nbsp;sourceName,
<a href="../../../../org/apache/kafka/streams/processor/TimestampExtractor.html" title="interface in org.apache.kafka.streams.processor">TimestampExtractor</a>&nbsp;timestampExtractor,
<a href="../../../../org/apache/kafka/common/serialization/Deserializer.html" title="interface in org.apache.kafka.common.serialization">Deserializer</a>&nbsp;keyDeserializer,
<a href="../../../../org/apache/kafka/common/serialization/Deserializer.html" title="interface in org.apache.kafka.common.serialization">Deserializer</a>&nbsp;valueDeserializer,
java.lang.String&nbsp;topic,
java.lang.String&nbsp;processorName,
<a href="../../../../org/apache/kafka/streams/processor/ProcessorSupplier.html" title="interface in org.apache.kafka.streams.processor">ProcessorSupplier</a>&nbsp;stateUpdateSupplier)</code></th>
<td class="colLast">
<div class="block">Adds a global <a href="../../../../org/apache/kafka/streams/processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> to the topology.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/Topology.html#addProcessor-java.lang.String-org.apache.kafka.streams.processor.ProcessorSupplier-java.lang.String...-">addProcessor</a></span>&#8203;(java.lang.String&nbsp;name,
<a href="../../../../org/apache/kafka/streams/processor/ProcessorSupplier.html" title="interface in org.apache.kafka.streams.processor">ProcessorSupplier</a>&nbsp;supplier,
java.lang.String...&nbsp;parentNames)</code></th>
<td class="colLast">
<div class="block">Add a new processor node that receives and processes records output by one or more parent source or processor
node.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/Topology.html#addSink-java.lang.String-java.lang.String-java.lang.String...-">addSink</a></span>&#8203;(java.lang.String&nbsp;name,
java.lang.String&nbsp;topic,
java.lang.String...&nbsp;parentNames)</code></th>
<td class="colLast">
<div class="block">Add a new sink that forwards records from upstream parent processor and/or source nodes to the named Kafka topic.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>&lt;K,V&gt;&nbsp;<a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/Topology.html#addSink-java.lang.String-java.lang.String-org.apache.kafka.common.serialization.Serializer-org.apache.kafka.common.serialization.Serializer-java.lang.String...-">addSink</a></span>&#8203;(java.lang.String&nbsp;name,
java.lang.String&nbsp;topic,
<a href="../../../../org/apache/kafka/common/serialization/Serializer.html" title="interface in org.apache.kafka.common.serialization">Serializer</a>&lt;K&gt;&nbsp;keySerializer,
<a href="../../../../org/apache/kafka/common/serialization/Serializer.html" title="interface in org.apache.kafka.common.serialization">Serializer</a>&lt;V&gt;&nbsp;valueSerializer,
java.lang.String...&nbsp;parentNames)</code></th>
<td class="colLast">
<div class="block">Add a new sink that forwards records from upstream parent processor and/or source nodes to the named Kafka topic.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>&lt;K,V&gt;&nbsp;<a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/Topology.html#addSink-java.lang.String-java.lang.String-org.apache.kafka.common.serialization.Serializer-org.apache.kafka.common.serialization.Serializer-org.apache.kafka.streams.processor.StreamPartitioner-java.lang.String...-">addSink</a></span>&#8203;(java.lang.String&nbsp;name,
java.lang.String&nbsp;topic,
<a href="../../../../org/apache/kafka/common/serialization/Serializer.html" title="interface in org.apache.kafka.common.serialization">Serializer</a>&lt;K&gt;&nbsp;keySerializer,
<a href="../../../../org/apache/kafka/common/serialization/Serializer.html" title="interface in org.apache.kafka.common.serialization">Serializer</a>&lt;V&gt;&nbsp;valueSerializer,
<a href="../../../../org/apache/kafka/streams/processor/StreamPartitioner.html" title="interface in org.apache.kafka.streams.processor">StreamPartitioner</a>&lt;? super K,? super V&gt;&nbsp;partitioner,
java.lang.String...&nbsp;parentNames)</code></th>
<td class="colLast">
<div class="block">Add a new sink that forwards records from upstream parent processor and/or source nodes to the named Kafka topic.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>&lt;K,V&gt;&nbsp;<a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/Topology.html#addSink-java.lang.String-java.lang.String-org.apache.kafka.streams.processor.StreamPartitioner-java.lang.String...-">addSink</a></span>&#8203;(java.lang.String&nbsp;name,
java.lang.String&nbsp;topic,
<a href="../../../../org/apache/kafka/streams/processor/StreamPartitioner.html" title="interface in org.apache.kafka.streams.processor">StreamPartitioner</a>&lt;? super K,? super V&gt;&nbsp;partitioner,
java.lang.String...&nbsp;parentNames)</code></th>
<td class="colLast">
<div class="block">Add a new sink that forwards records from upstream parent processor and/or source nodes to the named Kafka topic,
using the supplied partitioner.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/Topology.html#addSource-java.lang.String-java.lang.String...-">addSource</a></span>&#8203;(java.lang.String&nbsp;name,
java.lang.String...&nbsp;topics)</code></th>
<td class="colLast">
<div class="block">Add a new source that consumes the named topics and forward the records to child processor and/or sink nodes.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/Topology.html#addSource-java.lang.String-java.util.regex.Pattern-">addSource</a></span>&#8203;(java.lang.String&nbsp;name,
java.util.regex.Pattern&nbsp;topicPattern)</code></th>
<td class="colLast">
<div class="block">Add a new source that consumes from topics matching the given pattern
and forward the records to child processor and/or sink nodes.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/Topology.html#addSource-java.lang.String-org.apache.kafka.common.serialization.Deserializer-org.apache.kafka.common.serialization.Deserializer-java.lang.String...-">addSource</a></span>&#8203;(java.lang.String&nbsp;name,
<a href="../../../../org/apache/kafka/common/serialization/Deserializer.html" title="interface in org.apache.kafka.common.serialization">Deserializer</a>&nbsp;keyDeserializer,
<a href="../../../../org/apache/kafka/common/serialization/Deserializer.html" title="interface in org.apache.kafka.common.serialization">Deserializer</a>&nbsp;valueDeserializer,
java.lang.String...&nbsp;topics)</code></th>
<td class="colLast">
<div class="block">Add a new source that consumes the named topics and forwards the records to child processor and/or sink nodes.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/Topology.html#addSource-java.lang.String-org.apache.kafka.common.serialization.Deserializer-org.apache.kafka.common.serialization.Deserializer-java.util.regex.Pattern-">addSource</a></span>&#8203;(java.lang.String&nbsp;name,
<a href="../../../../org/apache/kafka/common/serialization/Deserializer.html" title="interface in org.apache.kafka.common.serialization">Deserializer</a>&nbsp;keyDeserializer,
<a href="../../../../org/apache/kafka/common/serialization/Deserializer.html" title="interface in org.apache.kafka.common.serialization">Deserializer</a>&nbsp;valueDeserializer,
java.util.regex.Pattern&nbsp;topicPattern)</code></th>
<td class="colLast">
<div class="block">Add a new source that consumes from topics matching the given pattern and forwards the records to child processor
and/or sink nodes.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/Topology.html#addSource-org.apache.kafka.streams.processor.TimestampExtractor-java.lang.String-java.lang.String...-">addSource</a></span>&#8203;(<a href="../../../../org/apache/kafka/streams/processor/TimestampExtractor.html" title="interface in org.apache.kafka.streams.processor">TimestampExtractor</a>&nbsp;timestampExtractor,
java.lang.String&nbsp;name,
java.lang.String...&nbsp;topics)</code></th>
<td class="colLast">
<div class="block">Add a new source that consumes the named topics and forward the records to child processor and/or sink nodes.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/Topology.html#addSource-org.apache.kafka.streams.processor.TimestampExtractor-java.lang.String-java.util.regex.Pattern-">addSource</a></span>&#8203;(<a href="../../../../org/apache/kafka/streams/processor/TimestampExtractor.html" title="interface in org.apache.kafka.streams.processor">TimestampExtractor</a>&nbsp;timestampExtractor,
java.lang.String&nbsp;name,
java.util.regex.Pattern&nbsp;topicPattern)</code></th>
<td class="colLast">
<div class="block">Add a new source that consumes from topics matching the given pattern
and forward the records to child processor and/or sink nodes.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/Topology.html#addSource-org.apache.kafka.streams.Topology.AutoOffsetReset-java.lang.String-java.lang.String...-">addSource</a></span>&#8203;(<a href="../../../../org/apache/kafka/streams/Topology.AutoOffsetReset.html" title="enum in org.apache.kafka.streams">Topology.AutoOffsetReset</a>&nbsp;offsetReset,
java.lang.String&nbsp;name,
java.lang.String...&nbsp;topics)</code></th>
<td class="colLast">
<div class="block">Add a new source that consumes the named topics and forward the records to child processor and/or sink nodes.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/Topology.html#addSource-org.apache.kafka.streams.Topology.AutoOffsetReset-java.lang.String-java.util.regex.Pattern-">addSource</a></span>&#8203;(<a href="../../../../org/apache/kafka/streams/Topology.AutoOffsetReset.html" title="enum in org.apache.kafka.streams">Topology.AutoOffsetReset</a>&nbsp;offsetReset,
java.lang.String&nbsp;name,
java.util.regex.Pattern&nbsp;topicPattern)</code></th>
<td class="colLast">
<div class="block">Add a new source that consumes from topics matching the given pattern
and forward the records to child processor and/or sink nodes.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/Topology.html#addSource-org.apache.kafka.streams.Topology.AutoOffsetReset-java.lang.String-org.apache.kafka.common.serialization.Deserializer-org.apache.kafka.common.serialization.Deserializer-java.lang.String...-">addSource</a></span>&#8203;(<a href="../../../../org/apache/kafka/streams/Topology.AutoOffsetReset.html" title="enum in org.apache.kafka.streams">Topology.AutoOffsetReset</a>&nbsp;offsetReset,
java.lang.String&nbsp;name,
<a href="../../../../org/apache/kafka/common/serialization/Deserializer.html" title="interface in org.apache.kafka.common.serialization">Deserializer</a>&nbsp;keyDeserializer,
<a href="../../../../org/apache/kafka/common/serialization/Deserializer.html" title="interface in org.apache.kafka.common.serialization">Deserializer</a>&nbsp;valueDeserializer,
java.lang.String...&nbsp;topics)</code></th>
<td class="colLast">
<div class="block">Add a new source that consumes from topics matching the given pattern and forwards the records to child processor
and/or sink nodes.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/Topology.html#addSource-org.apache.kafka.streams.Topology.AutoOffsetReset-java.lang.String-org.apache.kafka.common.serialization.Deserializer-org.apache.kafka.common.serialization.Deserializer-java.util.regex.Pattern-">addSource</a></span>&#8203;(<a href="../../../../org/apache/kafka/streams/Topology.AutoOffsetReset.html" title="enum in org.apache.kafka.streams">Topology.AutoOffsetReset</a>&nbsp;offsetReset,
java.lang.String&nbsp;name,
<a href="../../../../org/apache/kafka/common/serialization/Deserializer.html" title="interface in org.apache.kafka.common.serialization">Deserializer</a>&nbsp;keyDeserializer,
<a href="../../../../org/apache/kafka/common/serialization/Deserializer.html" title="interface in org.apache.kafka.common.serialization">Deserializer</a>&nbsp;valueDeserializer,
java.util.regex.Pattern&nbsp;topicPattern)</code></th>
<td class="colLast">
<div class="block">Add a new source that consumes from topics matching the given pattern and forwards the records to child processor
and/or sink nodes.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/Topology.html#addSource-org.apache.kafka.streams.Topology.AutoOffsetReset-java.lang.String-org.apache.kafka.streams.processor.TimestampExtractor-org.apache.kafka.common.serialization.Deserializer-org.apache.kafka.common.serialization.Deserializer-java.lang.String...-">addSource</a></span>&#8203;(<a href="../../../../org/apache/kafka/streams/Topology.AutoOffsetReset.html" title="enum in org.apache.kafka.streams">Topology.AutoOffsetReset</a>&nbsp;offsetReset,
java.lang.String&nbsp;name,
<a href="../../../../org/apache/kafka/streams/processor/TimestampExtractor.html" title="interface in org.apache.kafka.streams.processor">TimestampExtractor</a>&nbsp;timestampExtractor,
<a href="../../../../org/apache/kafka/common/serialization/Deserializer.html" title="interface in org.apache.kafka.common.serialization">Deserializer</a>&nbsp;keyDeserializer,
<a href="../../../../org/apache/kafka/common/serialization/Deserializer.html" title="interface in org.apache.kafka.common.serialization">Deserializer</a>&nbsp;valueDeserializer,
java.lang.String...&nbsp;topics)</code></th>
<td class="colLast">
<div class="block">Add a new source that consumes the named topics and forwards the records to child processor and/or sink nodes.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/Topology.html#addSource-org.apache.kafka.streams.Topology.AutoOffsetReset-java.lang.String-org.apache.kafka.streams.processor.TimestampExtractor-org.apache.kafka.common.serialization.Deserializer-org.apache.kafka.common.serialization.Deserializer-java.util.regex.Pattern-">addSource</a></span>&#8203;(<a href="../../../../org/apache/kafka/streams/Topology.AutoOffsetReset.html" title="enum in org.apache.kafka.streams">Topology.AutoOffsetReset</a>&nbsp;offsetReset,
java.lang.String&nbsp;name,
<a href="../../../../org/apache/kafka/streams/processor/TimestampExtractor.html" title="interface in org.apache.kafka.streams.processor">TimestampExtractor</a>&nbsp;timestampExtractor,
<a href="../../../../org/apache/kafka/common/serialization/Deserializer.html" title="interface in org.apache.kafka.common.serialization">Deserializer</a>&nbsp;keyDeserializer,
<a href="../../../../org/apache/kafka/common/serialization/Deserializer.html" title="interface in org.apache.kafka.common.serialization">Deserializer</a>&nbsp;valueDeserializer,
java.util.regex.Pattern&nbsp;topicPattern)</code></th>
<td class="colLast">
<div class="block">Add a new source that consumes from topics matching the given pattern and forwards the records to child processor
and/or sink nodes.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/Topology.html#addSource-org.apache.kafka.streams.Topology.AutoOffsetReset-org.apache.kafka.streams.processor.TimestampExtractor-java.lang.String-java.lang.String...-">addSource</a></span>&#8203;(<a href="../../../../org/apache/kafka/streams/Topology.AutoOffsetReset.html" title="enum in org.apache.kafka.streams">Topology.AutoOffsetReset</a>&nbsp;offsetReset,
<a href="../../../../org/apache/kafka/streams/processor/TimestampExtractor.html" title="interface in org.apache.kafka.streams.processor">TimestampExtractor</a>&nbsp;timestampExtractor,
java.lang.String&nbsp;name,
java.lang.String...&nbsp;topics)</code></th>
<td class="colLast">
<div class="block">Add a new source that consumes the named topics and forward the records to child processor and/or sink nodes.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/Topology.html#addSource-org.apache.kafka.streams.Topology.AutoOffsetReset-org.apache.kafka.streams.processor.TimestampExtractor-java.lang.String-java.util.regex.Pattern-">addSource</a></span>&#8203;(<a href="../../../../org/apache/kafka/streams/Topology.AutoOffsetReset.html" title="enum in org.apache.kafka.streams">Topology.AutoOffsetReset</a>&nbsp;offsetReset,
<a href="../../../../org/apache/kafka/streams/processor/TimestampExtractor.html" title="interface in org.apache.kafka.streams.processor">TimestampExtractor</a>&nbsp;timestampExtractor,
java.lang.String&nbsp;name,
java.util.regex.Pattern&nbsp;topicPattern)</code></th>
<td class="colLast">
<div class="block">Add a new source that consumes from topics matching the given pattern and forward the records to child processor
and/or sink nodes.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/Topology.html#addStateStore-org.apache.kafka.streams.state.StoreBuilder-java.lang.String...-">addStateStore</a></span>&#8203;(<a href="../../../../org/apache/kafka/streams/state/StoreBuilder.html" title="interface in org.apache.kafka.streams.state">StoreBuilder</a>&nbsp;storeBuilder,
java.lang.String...&nbsp;processorNames)</code></th>
<td class="colLast">
<div class="block">Adds a state store.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/Topology.html#connectProcessorAndStateStores-java.lang.String-java.lang.String...-">connectProcessorAndStateStores</a></span>&#8203;(java.lang.String&nbsp;processorName,
java.lang.String...&nbsp;stateStoreNames)</code></th>
<td class="colLast">
<div class="block">Connects the processor and the state stores.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/kafka/streams/TopologyDescription.html" title="interface in org.apache.kafka.streams">TopologyDescription</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/Topology.html#describe--">describe</a></span>&#8203;()</code></th>
<td class="colLast">
<div class="block">Returns a description of the specified <code>Topology</code>.</div>
</td>
</tr>
</table>
<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="Topology--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Topology</h4>
<pre>public&nbsp;Topology&#8203;()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="addSource-java.lang.String-java.lang.String...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addSource</h4>
<pre>public&nbsp;<a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a>&nbsp;addSource&#8203;(java.lang.String&nbsp;name,
java.lang.String...&nbsp;topics)</pre>
<div class="block">Add a new source that consumes the named topics and forward the records to child processor and/or sink nodes.
The source will use the <a href="../../../../org/apache/kafka/streams/StreamsConfig.html#DEFAULT_KEY_SERDE_CLASS_CONFIG"><code>default key deserializer</code></a> and
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html#DEFAULT_VALUE_SERDE_CLASS_CONFIG"><code>default value deserializer</code></a> specified in the
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams"><code>stream configuration</code></a>.
The default <a href="../../../../org/apache/kafka/streams/processor/TimestampExtractor.html" title="interface in org.apache.kafka.streams.processor"><code>TimestampExtractor</code></a> as specified in the <a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams"><code>config</code></a> is used.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the unique name of the source used to reference this node when
<a href="../../../../org/apache/kafka/streams/Topology.html#addProcessor-java.lang.String-org.apache.kafka.streams.processor.ProcessorSupplier-java.lang.String...-"><code>adding processor children</code></a>.</dd>
<dd><code>topics</code> - the name of one or more Kafka topics that this source is to consume</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>itself</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/kafka/streams/errors/TopologyException.html" title="class in org.apache.kafka.streams.errors">TopologyException</a></code> - if processor is already added or if topics have already been registered by another source</dd>
</dl>
</li>
</ul>
<a name="addSource-java.lang.String-java.util.regex.Pattern-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addSource</h4>
<pre>public&nbsp;<a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a>&nbsp;addSource&#8203;(java.lang.String&nbsp;name,
java.util.regex.Pattern&nbsp;topicPattern)</pre>
<div class="block">Add a new source that consumes from topics matching the given pattern
and forward the records to child processor and/or sink nodes.
The source will use the <a href="../../../../org/apache/kafka/streams/StreamsConfig.html#DEFAULT_KEY_SERDE_CLASS_CONFIG"><code>default key deserializer</code></a> and
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html#DEFAULT_VALUE_SERDE_CLASS_CONFIG"><code>default value deserializer</code></a> specified in the
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams"><code>stream configuration</code></a>.
The default <a href="../../../../org/apache/kafka/streams/processor/TimestampExtractor.html" title="interface in org.apache.kafka.streams.processor"><code>TimestampExtractor</code></a> as specified in the <a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams"><code>config</code></a> is used.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the unique name of the source used to reference this node when
<a href="../../../../org/apache/kafka/streams/Topology.html#addProcessor-java.lang.String-org.apache.kafka.streams.processor.ProcessorSupplier-java.lang.String...-"><code>adding processor children</code></a>.</dd>
<dd><code>topicPattern</code> - regular expression pattern to match Kafka topics that this source is to consume</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>itself</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/kafka/streams/errors/TopologyException.html" title="class in org.apache.kafka.streams.errors">TopologyException</a></code> - if processor is already added or if topics have already been registered by another source</dd>
</dl>
</li>
</ul>
<a name="addSource-org.apache.kafka.streams.Topology.AutoOffsetReset-java.lang.String-java.lang.String...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addSource</h4>
<pre>public&nbsp;<a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a>&nbsp;addSource&#8203;(<a href="../../../../org/apache/kafka/streams/Topology.AutoOffsetReset.html" title="enum in org.apache.kafka.streams">Topology.AutoOffsetReset</a>&nbsp;offsetReset,
java.lang.String&nbsp;name,
java.lang.String...&nbsp;topics)</pre>
<div class="block">Add a new source that consumes the named topics and forward the records to child processor and/or sink nodes.
The source will use the <a href="../../../../org/apache/kafka/streams/StreamsConfig.html#DEFAULT_KEY_SERDE_CLASS_CONFIG"><code>default key deserializer</code></a> and
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html#DEFAULT_VALUE_SERDE_CLASS_CONFIG"><code>default value deserializer</code></a> specified in the
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams"><code>stream configuration</code></a>.
The default <a href="../../../../org/apache/kafka/streams/processor/TimestampExtractor.html" title="interface in org.apache.kafka.streams.processor"><code>TimestampExtractor</code></a> as specified in the <a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams"><code>config</code></a> is used.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offsetReset</code> - the auto offset reset policy to use for this source if no committed offsets found; acceptable values earliest or latest</dd>
<dd><code>name</code> - the unique name of the source used to reference this node when
<a href="../../../../org/apache/kafka/streams/Topology.html#addProcessor-java.lang.String-org.apache.kafka.streams.processor.ProcessorSupplier-java.lang.String...-"><code>adding processor children</code></a>.</dd>
<dd><code>topics</code> - the name of one or more Kafka topics that this source is to consume</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>itself</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/kafka/streams/errors/TopologyException.html" title="class in org.apache.kafka.streams.errors">TopologyException</a></code> - if processor is already added or if topics have already been registered by another source</dd>
</dl>
</li>
</ul>
<a name="addSource-org.apache.kafka.streams.Topology.AutoOffsetReset-java.lang.String-java.util.regex.Pattern-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addSource</h4>
<pre>public&nbsp;<a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a>&nbsp;addSource&#8203;(<a href="../../../../org/apache/kafka/streams/Topology.AutoOffsetReset.html" title="enum in org.apache.kafka.streams">Topology.AutoOffsetReset</a>&nbsp;offsetReset,
java.lang.String&nbsp;name,
java.util.regex.Pattern&nbsp;topicPattern)</pre>
<div class="block">Add a new source that consumes from topics matching the given pattern
and forward the records to child processor and/or sink nodes.
The source will use the <a href="../../../../org/apache/kafka/streams/StreamsConfig.html#DEFAULT_KEY_SERDE_CLASS_CONFIG"><code>default key deserializer</code></a> and
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html#DEFAULT_VALUE_SERDE_CLASS_CONFIG"><code>default value deserializer</code></a> specified in the
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams"><code>stream configuration</code></a>.
The default <a href="../../../../org/apache/kafka/streams/processor/TimestampExtractor.html" title="interface in org.apache.kafka.streams.processor"><code>TimestampExtractor</code></a> as specified in the <a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams"><code>config</code></a> is used.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offsetReset</code> - the auto offset reset policy value for this source if no committed offsets found; acceptable values earliest or latest.</dd>
<dd><code>name</code> - the unique name of the source used to reference this node when
<a href="../../../../org/apache/kafka/streams/Topology.html#addProcessor-java.lang.String-org.apache.kafka.streams.processor.ProcessorSupplier-java.lang.String...-"><code>adding processor children</code></a>.</dd>
<dd><code>topicPattern</code> - regular expression pattern to match Kafka topics that this source is to consume</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>itself</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/kafka/streams/errors/TopologyException.html" title="class in org.apache.kafka.streams.errors">TopologyException</a></code> - if processor is already added or if topics have already been registered by another source</dd>
</dl>
</li>
</ul>
<a name="addSource-org.apache.kafka.streams.processor.TimestampExtractor-java.lang.String-java.lang.String...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addSource</h4>
<pre>public&nbsp;<a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a>&nbsp;addSource&#8203;(<a href="../../../../org/apache/kafka/streams/processor/TimestampExtractor.html" title="interface in org.apache.kafka.streams.processor">TimestampExtractor</a>&nbsp;timestampExtractor,
java.lang.String&nbsp;name,
java.lang.String...&nbsp;topics)</pre>
<div class="block">Add a new source that consumes the named topics and forward the records to child processor and/or sink nodes.
The source will use the <a href="../../../../org/apache/kafka/streams/StreamsConfig.html#DEFAULT_KEY_SERDE_CLASS_CONFIG"><code>default key deserializer</code></a> and
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html#DEFAULT_VALUE_SERDE_CLASS_CONFIG"><code>default value deserializer</code></a> specified in the
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams"><code>stream configuration</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>timestampExtractor</code> - the stateless timestamp extractor used for this source,
if not specified the default extractor defined in the configs will be used</dd>
<dd><code>name</code> - the unique name of the source used to reference this node when
<a href="../../../../org/apache/kafka/streams/Topology.html#addProcessor-java.lang.String-org.apache.kafka.streams.processor.ProcessorSupplier-java.lang.String...-"><code>adding processor children</code></a>.</dd>
<dd><code>topics</code> - the name of one or more Kafka topics that this source is to consume</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>itself</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/kafka/streams/errors/TopologyException.html" title="class in org.apache.kafka.streams.errors">TopologyException</a></code> - if processor is already added or if topics have already been registered by another source</dd>
</dl>
</li>
</ul>
<a name="addSource-org.apache.kafka.streams.processor.TimestampExtractor-java.lang.String-java.util.regex.Pattern-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addSource</h4>
<pre>public&nbsp;<a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a>&nbsp;addSource&#8203;(<a href="../../../../org/apache/kafka/streams/processor/TimestampExtractor.html" title="interface in org.apache.kafka.streams.processor">TimestampExtractor</a>&nbsp;timestampExtractor,
java.lang.String&nbsp;name,
java.util.regex.Pattern&nbsp;topicPattern)</pre>
<div class="block">Add a new source that consumes from topics matching the given pattern
and forward the records to child processor and/or sink nodes.
The source will use the <a href="../../../../org/apache/kafka/streams/StreamsConfig.html#DEFAULT_KEY_SERDE_CLASS_CONFIG"><code>default key deserializer</code></a> and
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html#DEFAULT_VALUE_SERDE_CLASS_CONFIG"><code>default value deserializer</code></a> specified in the
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams"><code>stream configuration</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>timestampExtractor</code> - the stateless timestamp extractor used for this source,
if not specified the default extractor defined in the configs will be used</dd>
<dd><code>name</code> - the unique name of the source used to reference this node when
<a href="../../../../org/apache/kafka/streams/Topology.html#addProcessor-java.lang.String-org.apache.kafka.streams.processor.ProcessorSupplier-java.lang.String...-"><code>adding processor children</code></a>.</dd>
<dd><code>topicPattern</code> - regular expression pattern to match Kafka topics that this source is to consume</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>itself</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/kafka/streams/errors/TopologyException.html" title="class in org.apache.kafka.streams.errors">TopologyException</a></code> - if processor is already added or if topics have already been registered by another source</dd>
</dl>
</li>
</ul>
<a name="addSource-org.apache.kafka.streams.Topology.AutoOffsetReset-org.apache.kafka.streams.processor.TimestampExtractor-java.lang.String-java.lang.String...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addSource</h4>
<pre>public&nbsp;<a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a>&nbsp;addSource&#8203;(<a href="../../../../org/apache/kafka/streams/Topology.AutoOffsetReset.html" title="enum in org.apache.kafka.streams">Topology.AutoOffsetReset</a>&nbsp;offsetReset,
<a href="../../../../org/apache/kafka/streams/processor/TimestampExtractor.html" title="interface in org.apache.kafka.streams.processor">TimestampExtractor</a>&nbsp;timestampExtractor,
java.lang.String&nbsp;name,
java.lang.String...&nbsp;topics)</pre>
<div class="block">Add a new source that consumes the named topics and forward the records to child processor and/or sink nodes.
The source will use the <a href="../../../../org/apache/kafka/streams/StreamsConfig.html#DEFAULT_KEY_SERDE_CLASS_CONFIG"><code>default key deserializer</code></a> and
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html#DEFAULT_VALUE_SERDE_CLASS_CONFIG"><code>default value deserializer</code></a> specified in the
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams"><code>stream configuration</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offsetReset</code> - the auto offset reset policy to use for this source if no committed offsets found;
acceptable values earliest or latest</dd>
<dd><code>timestampExtractor</code> - the stateless timestamp extractor used for this source,
if not specified the default extractor defined in the configs will be used</dd>
<dd><code>name</code> - the unique name of the source used to reference this node when
<a href="../../../../org/apache/kafka/streams/Topology.html#addProcessor-java.lang.String-org.apache.kafka.streams.processor.ProcessorSupplier-java.lang.String...-"><code>adding processor children</code></a>.</dd>
<dd><code>topics</code> - the name of one or more Kafka topics that this source is to consume</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>itself</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/kafka/streams/errors/TopologyException.html" title="class in org.apache.kafka.streams.errors">TopologyException</a></code> - if processor is already added or if topics have already been registered by another source</dd>
</dl>
</li>
</ul>
<a name="addSource-org.apache.kafka.streams.Topology.AutoOffsetReset-org.apache.kafka.streams.processor.TimestampExtractor-java.lang.String-java.util.regex.Pattern-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addSource</h4>
<pre>public&nbsp;<a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a>&nbsp;addSource&#8203;(<a href="../../../../org/apache/kafka/streams/Topology.AutoOffsetReset.html" title="enum in org.apache.kafka.streams">Topology.AutoOffsetReset</a>&nbsp;offsetReset,
<a href="../../../../org/apache/kafka/streams/processor/TimestampExtractor.html" title="interface in org.apache.kafka.streams.processor">TimestampExtractor</a>&nbsp;timestampExtractor,
java.lang.String&nbsp;name,
java.util.regex.Pattern&nbsp;topicPattern)</pre>
<div class="block">Add a new source that consumes from topics matching the given pattern and forward the records to child processor
and/or sink nodes.
The source will use the <a href="../../../../org/apache/kafka/streams/StreamsConfig.html#DEFAULT_KEY_SERDE_CLASS_CONFIG"><code>default key deserializer</code></a> and
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html#DEFAULT_VALUE_SERDE_CLASS_CONFIG"><code>default value deserializer</code></a> specified in the
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams"><code>stream configuration</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offsetReset</code> - the auto offset reset policy value for this source if no committed offsets found;
acceptable values earliest or latest.</dd>
<dd><code>timestampExtractor</code> - the stateless timestamp extractor used for this source,
if not specified the default extractor defined in the configs will be used</dd>
<dd><code>name</code> - the unique name of the source used to reference this node when
<a href="../../../../org/apache/kafka/streams/Topology.html#addProcessor-java.lang.String-org.apache.kafka.streams.processor.ProcessorSupplier-java.lang.String...-"><code>adding processor children</code></a>.</dd>
<dd><code>topicPattern</code> - regular expression pattern to match Kafka topics that this source is to consume</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>itself</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/kafka/streams/errors/TopologyException.html" title="class in org.apache.kafka.streams.errors">TopologyException</a></code> - if processor is already added or if topics have already been registered by another source</dd>
</dl>
</li>
</ul>
<a name="addSource-java.lang.String-org.apache.kafka.common.serialization.Deserializer-org.apache.kafka.common.serialization.Deserializer-java.lang.String...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addSource</h4>
<pre>public&nbsp;<a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a>&nbsp;addSource&#8203;(java.lang.String&nbsp;name,
<a href="../../../../org/apache/kafka/common/serialization/Deserializer.html" title="interface in org.apache.kafka.common.serialization">Deserializer</a>&nbsp;keyDeserializer,
<a href="../../../../org/apache/kafka/common/serialization/Deserializer.html" title="interface in org.apache.kafka.common.serialization">Deserializer</a>&nbsp;valueDeserializer,
java.lang.String...&nbsp;topics)</pre>
<div class="block">Add a new source that consumes the named topics and forwards the records to child processor and/or sink nodes.
The source will use the specified key and value deserializers.
The default <a href="../../../../org/apache/kafka/streams/processor/TimestampExtractor.html" title="interface in org.apache.kafka.streams.processor"><code>TimestampExtractor</code></a> as specified in the <a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams"><code>config</code></a> is used.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the unique name of the source used to reference this node when
<a href="../../../../org/apache/kafka/streams/Topology.html#addProcessor-java.lang.String-org.apache.kafka.streams.processor.ProcessorSupplier-java.lang.String...-"><code>adding processor children</code></a></dd>
<dd><code>keyDeserializer</code> - key deserializer used to read this source, if not specified the default
key deserializer defined in the configs will be used</dd>
<dd><code>valueDeserializer</code> - value deserializer used to read this source,
if not specified the default value deserializer defined in the configs will be used</dd>
<dd><code>topics</code> - the name of one or more Kafka topics that this source is to consume</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>itself</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/kafka/streams/errors/TopologyException.html" title="class in org.apache.kafka.streams.errors">TopologyException</a></code> - if processor is already added or if topics have already been registered by another source</dd>
</dl>
</li>
</ul>
<a name="addSource-java.lang.String-org.apache.kafka.common.serialization.Deserializer-org.apache.kafka.common.serialization.Deserializer-java.util.regex.Pattern-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addSource</h4>
<pre>public&nbsp;<a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a>&nbsp;addSource&#8203;(java.lang.String&nbsp;name,
<a href="../../../../org/apache/kafka/common/serialization/Deserializer.html" title="interface in org.apache.kafka.common.serialization">Deserializer</a>&nbsp;keyDeserializer,
<a href="../../../../org/apache/kafka/common/serialization/Deserializer.html" title="interface in org.apache.kafka.common.serialization">Deserializer</a>&nbsp;valueDeserializer,
java.util.regex.Pattern&nbsp;topicPattern)</pre>
<div class="block">Add a new source that consumes from topics matching the given pattern and forwards the records to child processor
and/or sink nodes.
The source will use the specified key and value deserializers.
The provided de-/serializers will be used for all matched topics, so care should be taken to specify patterns for
topics that share the same key-value data format.
The default <a href="../../../../org/apache/kafka/streams/processor/TimestampExtractor.html" title="interface in org.apache.kafka.streams.processor"><code>TimestampExtractor</code></a> as specified in the <a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams"><code>config</code></a> is used.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the unique name of the source used to reference this node when
<a href="../../../../org/apache/kafka/streams/Topology.html#addProcessor-java.lang.String-org.apache.kafka.streams.processor.ProcessorSupplier-java.lang.String...-"><code>adding processor children</code></a></dd>
<dd><code>keyDeserializer</code> - key deserializer used to read this source, if not specified the default
key deserializer defined in the configs will be used</dd>
<dd><code>valueDeserializer</code> - value deserializer used to read this source,
if not specified the default value deserializer defined in the configs will be used</dd>
<dd><code>topicPattern</code> - regular expression pattern to match Kafka topics that this source is to consume</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>itself</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/kafka/streams/errors/TopologyException.html" title="class in org.apache.kafka.streams.errors">TopologyException</a></code> - if processor is already added or if topics have already been registered by name</dd>
</dl>
</li>
</ul>
<a name="addSource-org.apache.kafka.streams.Topology.AutoOffsetReset-java.lang.String-org.apache.kafka.common.serialization.Deserializer-org.apache.kafka.common.serialization.Deserializer-java.lang.String...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addSource</h4>
<pre>public&nbsp;<a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a>&nbsp;addSource&#8203;(<a href="../../../../org/apache/kafka/streams/Topology.AutoOffsetReset.html" title="enum in org.apache.kafka.streams">Topology.AutoOffsetReset</a>&nbsp;offsetReset,
java.lang.String&nbsp;name,
<a href="../../../../org/apache/kafka/common/serialization/Deserializer.html" title="interface in org.apache.kafka.common.serialization">Deserializer</a>&nbsp;keyDeserializer,
<a href="../../../../org/apache/kafka/common/serialization/Deserializer.html" title="interface in org.apache.kafka.common.serialization">Deserializer</a>&nbsp;valueDeserializer,
java.lang.String...&nbsp;topics)</pre>
<div class="block">Add a new source that consumes from topics matching the given pattern and forwards the records to child processor
and/or sink nodes.
The source will use the specified key and value deserializers.
The provided de-/serializers will be used for all matched topics, so care should be taken to specify patterns for
topics that share the same key-value data format.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offsetReset</code> - the auto offset reset policy to use for this stream if no committed offsets found;
acceptable values are earliest or latest</dd>
<dd><code>name</code> - the unique name of the source used to reference this node when
<a href="../../../../org/apache/kafka/streams/Topology.html#addProcessor-java.lang.String-org.apache.kafka.streams.processor.ProcessorSupplier-java.lang.String...-"><code>adding processor children</code></a></dd>
<dd><code>keyDeserializer</code> - key deserializer used to read this source, if not specified the default
key deserializer defined in the configs will be used</dd>
<dd><code>valueDeserializer</code> - value deserializer used to read this source,
if not specified the default value deserializer defined in the configs will be used</dd>
<dd><code>topics</code> - the name of one or more Kafka topics that this source is to consume</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>itself</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/kafka/streams/errors/TopologyException.html" title="class in org.apache.kafka.streams.errors">TopologyException</a></code> - if processor is already added or if topics have already been registered by name</dd>
</dl>
</li>
</ul>
<a name="addSource-org.apache.kafka.streams.Topology.AutoOffsetReset-java.lang.String-org.apache.kafka.common.serialization.Deserializer-org.apache.kafka.common.serialization.Deserializer-java.util.regex.Pattern-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addSource</h4>
<pre>public&nbsp;<a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a>&nbsp;addSource&#8203;(<a href="../../../../org/apache/kafka/streams/Topology.AutoOffsetReset.html" title="enum in org.apache.kafka.streams">Topology.AutoOffsetReset</a>&nbsp;offsetReset,
java.lang.String&nbsp;name,
<a href="../../../../org/apache/kafka/common/serialization/Deserializer.html" title="interface in org.apache.kafka.common.serialization">Deserializer</a>&nbsp;keyDeserializer,
<a href="../../../../org/apache/kafka/common/serialization/Deserializer.html" title="interface in org.apache.kafka.common.serialization">Deserializer</a>&nbsp;valueDeserializer,
java.util.regex.Pattern&nbsp;topicPattern)</pre>
<div class="block">Add a new source that consumes from topics matching the given pattern and forwards the records to child processor
and/or sink nodes.
The source will use the specified key and value deserializers.
The provided de-/serializers will be used for all matched topics, so care should be taken to specify patterns for
topics that share the same key-value data format.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offsetReset</code> - the auto offset reset policy to use for this stream if no committed offsets found;
acceptable values are earliest or latest</dd>
<dd><code>name</code> - the unique name of the source used to reference this node when
<a href="../../../../org/apache/kafka/streams/Topology.html#addProcessor-java.lang.String-org.apache.kafka.streams.processor.ProcessorSupplier-java.lang.String...-"><code>adding processor children</code></a></dd>
<dd><code>keyDeserializer</code> - key deserializer used to read this source, if not specified the default
key deserializer defined in the configs will be used</dd>
<dd><code>valueDeserializer</code> - value deserializer used to read this source,
if not specified the default value deserializer defined in the configs will be used</dd>
<dd><code>topicPattern</code> - regular expression pattern to match Kafka topics that this source is to consume</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>itself</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/kafka/streams/errors/TopologyException.html" title="class in org.apache.kafka.streams.errors">TopologyException</a></code> - if processor is already added or if topics have already been registered by name</dd>
</dl>
</li>
</ul>
<a name="addSource-org.apache.kafka.streams.Topology.AutoOffsetReset-java.lang.String-org.apache.kafka.streams.processor.TimestampExtractor-org.apache.kafka.common.serialization.Deserializer-org.apache.kafka.common.serialization.Deserializer-java.lang.String...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addSource</h4>
<pre>public&nbsp;<a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a>&nbsp;addSource&#8203;(<a href="../../../../org/apache/kafka/streams/Topology.AutoOffsetReset.html" title="enum in org.apache.kafka.streams">Topology.AutoOffsetReset</a>&nbsp;offsetReset,
java.lang.String&nbsp;name,
<a href="../../../../org/apache/kafka/streams/processor/TimestampExtractor.html" title="interface in org.apache.kafka.streams.processor">TimestampExtractor</a>&nbsp;timestampExtractor,
<a href="../../../../org/apache/kafka/common/serialization/Deserializer.html" title="interface in org.apache.kafka.common.serialization">Deserializer</a>&nbsp;keyDeserializer,
<a href="../../../../org/apache/kafka/common/serialization/Deserializer.html" title="interface in org.apache.kafka.common.serialization">Deserializer</a>&nbsp;valueDeserializer,
java.lang.String...&nbsp;topics)</pre>
<div class="block">Add a new source that consumes the named topics and forwards the records to child processor and/or sink nodes.
The source will use the specified key and value deserializers.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offsetReset</code> - the auto offset reset policy to use for this stream if no committed offsets found;
acceptable values are earliest or latest.</dd>
<dd><code>name</code> - the unique name of the source used to reference this node when
<a href="../../../../org/apache/kafka/streams/Topology.html#addProcessor-java.lang.String-org.apache.kafka.streams.processor.ProcessorSupplier-java.lang.String...-"><code>adding processor children</code></a>.</dd>
<dd><code>timestampExtractor</code> - the stateless timestamp extractor used for this source,
if not specified the default extractor defined in the configs will be used</dd>
<dd><code>keyDeserializer</code> - key deserializer used to read this source, if not specified the default
key deserializer defined in the configs will be used</dd>
<dd><code>valueDeserializer</code> - value deserializer used to read this source,
if not specified the default value deserializer defined in the configs will be used</dd>
<dd><code>topics</code> - the name of one or more Kafka topics that this source is to consume</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>itself</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/kafka/streams/errors/TopologyException.html" title="class in org.apache.kafka.streams.errors">TopologyException</a></code> - if processor is already added or if topics have already been registered by another source</dd>
</dl>
</li>
</ul>
<a name="addSource-org.apache.kafka.streams.Topology.AutoOffsetReset-java.lang.String-org.apache.kafka.streams.processor.TimestampExtractor-org.apache.kafka.common.serialization.Deserializer-org.apache.kafka.common.serialization.Deserializer-java.util.regex.Pattern-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addSource</h4>
<pre>public&nbsp;<a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a>&nbsp;addSource&#8203;(<a href="../../../../org/apache/kafka/streams/Topology.AutoOffsetReset.html" title="enum in org.apache.kafka.streams">Topology.AutoOffsetReset</a>&nbsp;offsetReset,
java.lang.String&nbsp;name,
<a href="../../../../org/apache/kafka/streams/processor/TimestampExtractor.html" title="interface in org.apache.kafka.streams.processor">TimestampExtractor</a>&nbsp;timestampExtractor,
<a href="../../../../org/apache/kafka/common/serialization/Deserializer.html" title="interface in org.apache.kafka.common.serialization">Deserializer</a>&nbsp;keyDeserializer,
<a href="../../../../org/apache/kafka/common/serialization/Deserializer.html" title="interface in org.apache.kafka.common.serialization">Deserializer</a>&nbsp;valueDeserializer,
java.util.regex.Pattern&nbsp;topicPattern)</pre>
<div class="block">Add a new source that consumes from topics matching the given pattern and forwards the records to child processor
and/or sink nodes.
The source will use the specified key and value deserializers.
The provided de-/serializers will be used for all matched topics, so care should be taken to specify patterns for
topics that share the same key-value data format.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offsetReset</code> - the auto offset reset policy to use for this stream if no committed offsets found;
acceptable values are earliest or latest</dd>
<dd><code>name</code> - the unique name of the source used to reference this node when
<a href="../../../../org/apache/kafka/streams/Topology.html#addProcessor-java.lang.String-org.apache.kafka.streams.processor.ProcessorSupplier-java.lang.String...-"><code>adding processor children</code></a>.</dd>
<dd><code>timestampExtractor</code> - the stateless timestamp extractor used for this source,
if not specified the default extractor defined in the configs will be used</dd>
<dd><code>keyDeserializer</code> - key deserializer used to read this source, if not specified the default
key deserializer defined in the configs will be used</dd>
<dd><code>valueDeserializer</code> - value deserializer used to read this source,
if not specified the default value deserializer defined in the configs will be used</dd>
<dd><code>topicPattern</code> - regular expression pattern to match Kafka topics that this source is to consume</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>itself</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/kafka/streams/errors/TopologyException.html" title="class in org.apache.kafka.streams.errors">TopologyException</a></code> - if processor is already added or if topics have already been registered by name</dd>
</dl>
</li>
</ul>
<a name="addSink-java.lang.String-java.lang.String-java.lang.String...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addSink</h4>
<pre>public&nbsp;<a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a>&nbsp;addSink&#8203;(java.lang.String&nbsp;name,
java.lang.String&nbsp;topic,
java.lang.String...&nbsp;parentNames)</pre>
<div class="block">Add a new sink that forwards records from upstream parent processor and/or source nodes to the named Kafka topic.
The sink will use the <a href="../../../../org/apache/kafka/streams/StreamsConfig.html#DEFAULT_KEY_SERDE_CLASS_CONFIG"><code>default key serializer</code></a> and
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html#DEFAULT_VALUE_SERDE_CLASS_CONFIG"><code>default value serializer</code></a> specified in the
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams"><code>stream configuration</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the unique name of the sink</dd>
<dd><code>topic</code> - the name of the Kafka topic to which this sink should write its records</dd>
<dd><code>parentNames</code> - the name of one or more source or processor nodes whose output records this sink should consume
and write to its topic</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>itself</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/kafka/streams/errors/TopologyException.html" title="class in org.apache.kafka.streams.errors">TopologyException</a></code> - itself</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/kafka/streams/Topology.html#addSink-java.lang.String-java.lang.String-org.apache.kafka.streams.processor.StreamPartitioner-java.lang.String...-"><code>addSink(String, String, StreamPartitioner, String...)</code></a>,
<a href="../../../../org/apache/kafka/streams/Topology.html#addSink-java.lang.String-java.lang.String-org.apache.kafka.common.serialization.Serializer-org.apache.kafka.common.serialization.Serializer-java.lang.String...-"><code>addSink(String, String, Serializer, Serializer, String...)</code></a>,
<a href="../../../../org/apache/kafka/streams/Topology.html#addSink-java.lang.String-java.lang.String-org.apache.kafka.common.serialization.Serializer-org.apache.kafka.common.serialization.Serializer-org.apache.kafka.streams.processor.StreamPartitioner-java.lang.String...-"><code>addSink(String, String, Serializer, Serializer, StreamPartitioner, String...)</code></a></dd>
</dl>
</li>
</ul>
<a name="addSink-java.lang.String-java.lang.String-org.apache.kafka.streams.processor.StreamPartitioner-java.lang.String...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addSink</h4>
<pre>public&nbsp;&lt;K,V&gt;&nbsp;<a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a>&nbsp;addSink&#8203;(java.lang.String&nbsp;name,
java.lang.String&nbsp;topic,
<a href="../../../../org/apache/kafka/streams/processor/StreamPartitioner.html" title="interface in org.apache.kafka.streams.processor">StreamPartitioner</a>&lt;? super K,? super V&gt;&nbsp;partitioner,
java.lang.String...&nbsp;parentNames)</pre>
<div class="block">Add a new sink that forwards records from upstream parent processor and/or source nodes to the named Kafka topic,
using the supplied partitioner.
The sink will use the <a href="../../../../org/apache/kafka/streams/StreamsConfig.html#DEFAULT_KEY_SERDE_CLASS_CONFIG"><code>default key serializer</code></a> and
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html#DEFAULT_VALUE_SERDE_CLASS_CONFIG"><code>default value serializer</code></a> specified in the
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams"><code>stream configuration</code></a>.
<p>
The sink will also use the specified <a href="../../../../org/apache/kafka/streams/processor/StreamPartitioner.html" title="interface in org.apache.kafka.streams.processor"><code>StreamPartitioner</code></a> to determine how records are distributed among
the named Kafka topic's partitions.
Such control is often useful with topologies that use <a href="../../../../org/apache/kafka/streams/Topology.html#addStateStore-org.apache.kafka.streams.state.StoreBuilder-java.lang.String...-"><code>state
stores</code></a> in its processors.
In most other cases, however, a partitioner needs not be specified and Kafka will automatically distribute
records among partitions using Kafka's default partitioning logic.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the unique name of the sink</dd>
<dd><code>topic</code> - the name of the Kafka topic to which this sink should write its records</dd>
<dd><code>partitioner</code> - the function that should be used to determine the partition for each record processed by the sink</dd>
<dd><code>parentNames</code> - the name of one or more source or processor nodes whose output records this sink should consume
and write to its topic</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>itself</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/kafka/streams/errors/TopologyException.html" title="class in org.apache.kafka.streams.errors">TopologyException</a></code> - if parent processor is not added yet, or if this processor's name is equal to the parent's name</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/kafka/streams/Topology.html#addSink-java.lang.String-java.lang.String-java.lang.String...-"><code>addSink(String, String, String...)</code></a>,
<a href="../../../../org/apache/kafka/streams/Topology.html#addSink-java.lang.String-java.lang.String-org.apache.kafka.common.serialization.Serializer-org.apache.kafka.common.serialization.Serializer-java.lang.String...-"><code>addSink(String, String, Serializer, Serializer, String...)</code></a>,
<a href="../../../../org/apache/kafka/streams/Topology.html#addSink-java.lang.String-java.lang.String-org.apache.kafka.common.serialization.Serializer-org.apache.kafka.common.serialization.Serializer-org.apache.kafka.streams.processor.StreamPartitioner-java.lang.String...-"><code>addSink(String, String, Serializer, Serializer, StreamPartitioner, String...)</code></a></dd>
</dl>
</li>
</ul>
<a name="addSink-java.lang.String-java.lang.String-org.apache.kafka.common.serialization.Serializer-org.apache.kafka.common.serialization.Serializer-java.lang.String...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addSink</h4>
<pre>public&nbsp;&lt;K,V&gt;&nbsp;<a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a>&nbsp;addSink&#8203;(java.lang.String&nbsp;name,
java.lang.String&nbsp;topic,
<a href="../../../../org/apache/kafka/common/serialization/Serializer.html" title="interface in org.apache.kafka.common.serialization">Serializer</a>&lt;K&gt;&nbsp;keySerializer,
<a href="../../../../org/apache/kafka/common/serialization/Serializer.html" title="interface in org.apache.kafka.common.serialization">Serializer</a>&lt;V&gt;&nbsp;valueSerializer,
java.lang.String...&nbsp;parentNames)</pre>
<div class="block">Add a new sink that forwards records from upstream parent processor and/or source nodes to the named Kafka topic.
The sink will use the specified key and value serializers.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the unique name of the sink</dd>
<dd><code>topic</code> - the name of the Kafka topic to which this sink should write its records</dd>
<dd><code>keySerializer</code> - the <a href="../../../../org/apache/kafka/common/serialization/Serializer.html" title="interface in org.apache.kafka.common.serialization"><code>key serializer</code></a> used when consuming records; may be null if the sink
should use the <a href="../../../../org/apache/kafka/streams/StreamsConfig.html#DEFAULT_KEY_SERDE_CLASS_CONFIG"><code>default key serializer</code></a> specified in the
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams"><code>stream configuration</code></a></dd>
<dd><code>valueSerializer</code> - the <a href="../../../../org/apache/kafka/common/serialization/Serializer.html" title="interface in org.apache.kafka.common.serialization"><code>value serializer</code></a> used when consuming records; may be null if the sink
should use the <a href="../../../../org/apache/kafka/streams/StreamsConfig.html#DEFAULT_VALUE_SERDE_CLASS_CONFIG"><code>default value serializer</code></a> specified in the
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams"><code>stream configuration</code></a></dd>
<dd><code>parentNames</code> - the name of one or more source or processor nodes whose output records this sink should consume
and write to its topic</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>itself</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/kafka/streams/errors/TopologyException.html" title="class in org.apache.kafka.streams.errors">TopologyException</a></code> - if parent processor is not added yet, or if this processor's name is equal to the parent's name</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/kafka/streams/Topology.html#addSink-java.lang.String-java.lang.String-java.lang.String...-"><code>addSink(String, String, String...)</code></a>,
<a href="../../../../org/apache/kafka/streams/Topology.html#addSink-java.lang.String-java.lang.String-org.apache.kafka.streams.processor.StreamPartitioner-java.lang.String...-"><code>addSink(String, String, StreamPartitioner, String...)</code></a>,
<a href="../../../../org/apache/kafka/streams/Topology.html#addSink-java.lang.String-java.lang.String-org.apache.kafka.common.serialization.Serializer-org.apache.kafka.common.serialization.Serializer-org.apache.kafka.streams.processor.StreamPartitioner-java.lang.String...-"><code>addSink(String, String, Serializer, Serializer, StreamPartitioner, String...)</code></a></dd>
</dl>
</li>
</ul>
<a name="addSink-java.lang.String-java.lang.String-org.apache.kafka.common.serialization.Serializer-org.apache.kafka.common.serialization.Serializer-org.apache.kafka.streams.processor.StreamPartitioner-java.lang.String...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addSink</h4>
<pre>public&nbsp;&lt;K,V&gt;&nbsp;<a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a>&nbsp;addSink&#8203;(java.lang.String&nbsp;name,
java.lang.String&nbsp;topic,
<a href="../../../../org/apache/kafka/common/serialization/Serializer.html" title="interface in org.apache.kafka.common.serialization">Serializer</a>&lt;K&gt;&nbsp;keySerializer,
<a href="../../../../org/apache/kafka/common/serialization/Serializer.html" title="interface in org.apache.kafka.common.serialization">Serializer</a>&lt;V&gt;&nbsp;valueSerializer,
<a href="../../../../org/apache/kafka/streams/processor/StreamPartitioner.html" title="interface in org.apache.kafka.streams.processor">StreamPartitioner</a>&lt;? super K,? super V&gt;&nbsp;partitioner,
java.lang.String...&nbsp;parentNames)</pre>
<div class="block">Add a new sink that forwards records from upstream parent processor and/or source nodes to the named Kafka topic.
The sink will use the specified key and value serializers, and the supplied partitioner.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the unique name of the sink</dd>
<dd><code>topic</code> - the name of the Kafka topic to which this sink should write its records</dd>
<dd><code>keySerializer</code> - the <a href="../../../../org/apache/kafka/common/serialization/Serializer.html" title="interface in org.apache.kafka.common.serialization"><code>key serializer</code></a> used when consuming records; may be null if the sink
should use the <a href="../../../../org/apache/kafka/streams/StreamsConfig.html#DEFAULT_KEY_SERDE_CLASS_CONFIG"><code>default key serializer</code></a> specified in the
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams"><code>stream configuration</code></a></dd>
<dd><code>valueSerializer</code> - the <a href="../../../../org/apache/kafka/common/serialization/Serializer.html" title="interface in org.apache.kafka.common.serialization"><code>value serializer</code></a> used when consuming records; may be null if the sink
should use the <a href="../../../../org/apache/kafka/streams/StreamsConfig.html#DEFAULT_VALUE_SERDE_CLASS_CONFIG"><code>default value serializer</code></a> specified in the
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams"><code>stream configuration</code></a></dd>
<dd><code>partitioner</code> - the function that should be used to determine the partition for each record processed by the sink</dd>
<dd><code>parentNames</code> - the name of one or more source or processor nodes whose output records this sink should consume
and write to its topic</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>itself</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/kafka/streams/errors/TopologyException.html" title="class in org.apache.kafka.streams.errors">TopologyException</a></code> - if parent processor is not added yet, or if this processor's name is equal to the parent's name</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/kafka/streams/Topology.html#addSink-java.lang.String-java.lang.String-java.lang.String...-"><code>addSink(String, String, String...)</code></a>,
<a href="../../../../org/apache/kafka/streams/Topology.html#addSink-java.lang.String-java.lang.String-org.apache.kafka.streams.processor.StreamPartitioner-java.lang.String...-"><code>addSink(String, String, StreamPartitioner, String...)</code></a>,
<a href="../../../../org/apache/kafka/streams/Topology.html#addSink-java.lang.String-java.lang.String-org.apache.kafka.common.serialization.Serializer-org.apache.kafka.common.serialization.Serializer-java.lang.String...-"><code>addSink(String, String, Serializer, Serializer, String...)</code></a></dd>
</dl>
</li>
</ul>
<a name="addProcessor-java.lang.String-org.apache.kafka.streams.processor.ProcessorSupplier-java.lang.String...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addProcessor</h4>
<pre>public&nbsp;<a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a>&nbsp;addProcessor&#8203;(java.lang.String&nbsp;name,
<a href="../../../../org/apache/kafka/streams/processor/ProcessorSupplier.html" title="interface in org.apache.kafka.streams.processor">ProcessorSupplier</a>&nbsp;supplier,
java.lang.String...&nbsp;parentNames)</pre>
<div class="block">Add a new processor node that receives and processes records output by one or more parent source or processor
node.
Any new record output by this processor will be forwarded to its child processor or sink nodes.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the unique name of the processor node</dd>
<dd><code>supplier</code> - the supplier used to obtain this node's <a href="../../../../org/apache/kafka/streams/processor/Processor.html" title="interface in org.apache.kafka.streams.processor"><code>Processor</code></a> instance</dd>
<dd><code>parentNames</code> - the name of one or more source or processor nodes whose output records this processor should receive
and process</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>itself</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/kafka/streams/errors/TopologyException.html" title="class in org.apache.kafka.streams.errors">TopologyException</a></code> - if parent processor is not added yet, or if this processor's name is equal to the parent's name</dd>
</dl>
</li>
</ul>
<a name="addStateStore-org.apache.kafka.streams.state.StoreBuilder-java.lang.String...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addStateStore</h4>
<pre>public&nbsp;<a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a>&nbsp;addStateStore&#8203;(<a href="../../../../org/apache/kafka/streams/state/StoreBuilder.html" title="interface in org.apache.kafka.streams.state">StoreBuilder</a>&nbsp;storeBuilder,
java.lang.String...&nbsp;processorNames)</pre>
<div class="block">Adds a state store.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>storeBuilder</code> - the storeBuilder used to obtain this state store <a href="../../../../org/apache/kafka/streams/processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> instance</dd>
<dd><code>processorNames</code> - the names of the processors that should be able to access the provided store</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>itself</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/kafka/streams/errors/TopologyException.html" title="class in org.apache.kafka.streams.errors">TopologyException</a></code> - if state store supplier is already added</dd>
</dl>
</li>
</ul>
<a name="addGlobalStore-org.apache.kafka.streams.state.StoreBuilder-java.lang.String-org.apache.kafka.common.serialization.Deserializer-org.apache.kafka.common.serialization.Deserializer-java.lang.String-java.lang.String-org.apache.kafka.streams.processor.ProcessorSupplier-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addGlobalStore</h4>
<pre>public&nbsp;<a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a>&nbsp;addGlobalStore&#8203;(<a href="../../../../org/apache/kafka/streams/state/StoreBuilder.html" title="interface in org.apache.kafka.streams.state">StoreBuilder</a>&nbsp;storeBuilder,
java.lang.String&nbsp;sourceName,
<a href="../../../../org/apache/kafka/common/serialization/Deserializer.html" title="interface in org.apache.kafka.common.serialization">Deserializer</a>&nbsp;keyDeserializer,
<a href="../../../../org/apache/kafka/common/serialization/Deserializer.html" title="interface in org.apache.kafka.common.serialization">Deserializer</a>&nbsp;valueDeserializer,
java.lang.String&nbsp;topic,
java.lang.String&nbsp;processorName,
<a href="../../../../org/apache/kafka/streams/processor/ProcessorSupplier.html" title="interface in org.apache.kafka.streams.processor">ProcessorSupplier</a>&nbsp;stateUpdateSupplier)</pre>
<div class="block">Adds a global <a href="../../../../org/apache/kafka/streams/processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> to the topology.
The <a href="../../../../org/apache/kafka/streams/processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> sources its data from all partitions of the provided input topic.
There will be exactly one instance of this <a href="../../../../org/apache/kafka/streams/processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> per Kafka Streams instance.
<p>
A <code>SourceNode</code> with the provided sourceName will be added to consume the data arriving from the partitions
of the input topic.
<p>
The provided <a href="../../../../org/apache/kafka/streams/processor/ProcessorSupplier.html" title="interface in org.apache.kafka.streams.processor"><code>ProcessorSupplier</code></a> will be used to create an <code>ProcessorNode</code> that will receive all
records forwarded from the <code>SourceNode</code>.
This <code>ProcessorNode</code> should be used to keep the <a href="../../../../org/apache/kafka/streams/processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> up-to-date.
The default <a href="../../../../org/apache/kafka/streams/processor/TimestampExtractor.html" title="interface in org.apache.kafka.streams.processor"><code>TimestampExtractor</code></a> as specified in the <a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams"><code>config</code></a> is used.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>storeBuilder</code> - user defined state store builder</dd>
<dd><code>sourceName</code> - name of the <code>SourceNode</code> that will be automatically added</dd>
<dd><code>keyDeserializer</code> - the <a href="../../../../org/apache/kafka/common/serialization/Deserializer.html" title="interface in org.apache.kafka.common.serialization"><code>Deserializer</code></a> to deserialize keys with</dd>
<dd><code>valueDeserializer</code> - the <a href="../../../../org/apache/kafka/common/serialization/Deserializer.html" title="interface in org.apache.kafka.common.serialization"><code>Deserializer</code></a> to deserialize values with</dd>
<dd><code>topic</code> - the topic to source the data from</dd>
<dd><code>processorName</code> - the name of the <a href="../../../../org/apache/kafka/streams/processor/ProcessorSupplier.html" title="interface in org.apache.kafka.streams.processor"><code>ProcessorSupplier</code></a></dd>
<dd><code>stateUpdateSupplier</code> - the instance of <a href="../../../../org/apache/kafka/streams/processor/ProcessorSupplier.html" title="interface in org.apache.kafka.streams.processor"><code>ProcessorSupplier</code></a></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>itself</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/kafka/streams/errors/TopologyException.html" title="class in org.apache.kafka.streams.errors">TopologyException</a></code> - if the processor of state is already registered</dd>
</dl>
</li>
</ul>
<a name="addGlobalStore-org.apache.kafka.streams.state.StoreBuilder-java.lang.String-org.apache.kafka.streams.processor.TimestampExtractor-org.apache.kafka.common.serialization.Deserializer-org.apache.kafka.common.serialization.Deserializer-java.lang.String-java.lang.String-org.apache.kafka.streams.processor.ProcessorSupplier-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addGlobalStore</h4>
<pre>public&nbsp;<a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a>&nbsp;addGlobalStore&#8203;(<a href="../../../../org/apache/kafka/streams/state/StoreBuilder.html" title="interface in org.apache.kafka.streams.state">StoreBuilder</a>&nbsp;storeBuilder,
java.lang.String&nbsp;sourceName,
<a href="../../../../org/apache/kafka/streams/processor/TimestampExtractor.html" title="interface in org.apache.kafka.streams.processor">TimestampExtractor</a>&nbsp;timestampExtractor,
<a href="../../../../org/apache/kafka/common/serialization/Deserializer.html" title="interface in org.apache.kafka.common.serialization">Deserializer</a>&nbsp;keyDeserializer,
<a href="../../../../org/apache/kafka/common/serialization/Deserializer.html" title="interface in org.apache.kafka.common.serialization">Deserializer</a>&nbsp;valueDeserializer,
java.lang.String&nbsp;topic,
java.lang.String&nbsp;processorName,
<a href="../../../../org/apache/kafka/streams/processor/ProcessorSupplier.html" title="interface in org.apache.kafka.streams.processor">ProcessorSupplier</a>&nbsp;stateUpdateSupplier)</pre>
<div class="block">Adds a global <a href="../../../../org/apache/kafka/streams/processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> to the topology.
The <a href="../../../../org/apache/kafka/streams/processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> sources its data from all partitions of the provided input topic.
There will be exactly one instance of this <a href="../../../../org/apache/kafka/streams/processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> per Kafka Streams instance.
<p>
A <code>SourceNode</code> with the provided sourceName will be added to consume the data arriving from the partitions
of the input topic.
<p>
The provided <a href="../../../../org/apache/kafka/streams/processor/ProcessorSupplier.html" title="interface in org.apache.kafka.streams.processor"><code>ProcessorSupplier</code></a> will be used to create an <code>ProcessorNode</code> that will receive all
records forwarded from the <code>SourceNode</code>.
This <code>ProcessorNode</code> should be used to keep the <a href="../../../../org/apache/kafka/streams/processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> up-to-date.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>storeBuilder</code> - user defined key value store builder</dd>
<dd><code>sourceName</code> - name of the <code>SourceNode</code> that will be automatically added</dd>
<dd><code>timestampExtractor</code> - the stateless timestamp extractor used for this source,
if not specified the default extractor defined in the configs will be used</dd>
<dd><code>keyDeserializer</code> - the <a href="../../../../org/apache/kafka/common/serialization/Deserializer.html" title="interface in org.apache.kafka.common.serialization"><code>Deserializer</code></a> to deserialize keys with</dd>
<dd><code>valueDeserializer</code> - the <a href="../../../../org/apache/kafka/common/serialization/Deserializer.html" title="interface in org.apache.kafka.common.serialization"><code>Deserializer</code></a> to deserialize values with</dd>
<dd><code>topic</code> - the topic to source the data from</dd>
<dd><code>processorName</code> - the name of the <a href="../../../../org/apache/kafka/streams/processor/ProcessorSupplier.html" title="interface in org.apache.kafka.streams.processor"><code>ProcessorSupplier</code></a></dd>
<dd><code>stateUpdateSupplier</code> - the instance of <a href="../../../../org/apache/kafka/streams/processor/ProcessorSupplier.html" title="interface in org.apache.kafka.streams.processor"><code>ProcessorSupplier</code></a></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>itself</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/kafka/streams/errors/TopologyException.html" title="class in org.apache.kafka.streams.errors">TopologyException</a></code> - if the processor of state is already registered</dd>
</dl>
</li>
</ul>
<a name="connectProcessorAndStateStores-java.lang.String-java.lang.String...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>connectProcessorAndStateStores</h4>
<pre>public&nbsp;<a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a>&nbsp;connectProcessorAndStateStores&#8203;(java.lang.String&nbsp;processorName,
java.lang.String...&nbsp;stateStoreNames)</pre>
<div class="block">Connects the processor and the state stores.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>processorName</code> - the name of the processor</dd>
<dd><code>stateStoreNames</code> - the names of state stores that the processor uses</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>itself</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/kafka/streams/errors/TopologyException.html" title="class in org.apache.kafka.streams.errors">TopologyException</a></code> - if the processor or a state store is unknown</dd>
</dl>
</li>
</ul>
<a name="describe--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>describe</h4>
<pre>public&nbsp;<a href="../../../../org/apache/kafka/streams/TopologyDescription.html" title="interface in org.apache.kafka.streams">TopologyDescription</a>&nbsp;describe&#8203;()</pre>
<div class="block">Returns a description of the specified <code>Topology</code>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a description of the topology.</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="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/kafka/streams/StreamsMetrics.html" title="interface in org.apache.kafka.streams"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/kafka/streams/Topology.AutoOffsetReset.html" title="enum in org.apache.kafka.streams"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/kafka/streams/Topology.html" target="_top">Frames</a></li>
<li><a href="Topology.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>
<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>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 ======= -->
</body>
</html>