blob: 6727ed17ea8ba2301658d6d276ec5e48d9543e63 [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>StreamsBuilder (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="StreamsBuilder (kafka 1.1.0 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":42,"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};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated 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/KeyValue.html" title="class in org.apache.kafka.streams"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class 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/StreamsBuilder.html" target="_top">Frames</a></li>
<li><a href="StreamsBuilder.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>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</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 StreamsBuilder" class="title">Class StreamsBuilder</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.kafka.streams.StreamsBuilder</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">StreamsBuilder</span>
extends java.lang.Object</pre>
<div class="block"><code>StreamsBuilder</code> provide the high-level Kafka Streams DSL to specify a Kafka Streams topology.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams"><code>Topology</code></a>,
<a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream"><code>KStream</code></a>,
<a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KTable</code></a>,
<a href="../../../../org/apache/kafka/streams/kstream/GlobalKTable.html" title="interface in org.apache.kafka.streams.kstream"><code>GlobalKTable</code></a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" 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/StreamsBuilder.html#StreamsBuilder--">StreamsBuilder</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><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated 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/StreamsBuilder.html" title="class in org.apache.kafka.streams">StreamsBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/StreamsBuilder.html#addGlobalStore-org.apache.kafka.streams.state.StoreBuilder-java.lang.String-java.lang.String-org.apache.kafka.streams.Consumed-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;topic,
java.lang.String&nbsp;sourceName,
<a href="../../../../org/apache/kafka/streams/Consumed.html" title="class in org.apache.kafka.streams">Consumed</a>&nbsp;consumed,
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"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">use <a href="../../../../org/apache/kafka/streams/StreamsBuilder.html#addGlobalStore-org.apache.kafka.streams.state.StoreBuilder-java.lang.String-org.apache.kafka.streams.Consumed-org.apache.kafka.streams.processor.ProcessorSupplier-"><code>addGlobalStore(StoreBuilder, String, Consumed, ProcessorSupplier)</code></a> instead</span></div>
</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/kafka/streams/StreamsBuilder.html" title="class in org.apache.kafka.streams">StreamsBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/StreamsBuilder.html#addGlobalStore-org.apache.kafka.streams.state.StoreBuilder-java.lang.String-org.apache.kafka.streams.Consumed-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;topic,
<a href="../../../../org/apache/kafka/streams/Consumed.html" title="class in org.apache.kafka.streams">Consumed</a>&nbsp;consumed,
<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/StreamsBuilder.html" title="class in org.apache.kafka.streams">StreamsBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/StreamsBuilder.html#addStateStore-org.apache.kafka.streams.state.StoreBuilder-">addStateStore</a></span>&#8203;(<a href="../../../../org/apache/kafka/streams/state/StoreBuilder.html" title="interface in org.apache.kafka.streams.state">StoreBuilder</a>&nbsp;builder)</code></th>
<td class="colLast">
<div class="block">Adds a state store to the underlying <a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams"><code>Topology</code></a>.</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/StreamsBuilder.html#build--">build</a></span>&#8203;()</code></th>
<td class="colLast">
<div class="block">Returns the <a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams"><code>Topology</code></a> that represents the specified processing logic.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>&lt;K,V&gt;&nbsp;<a href="../../../../org/apache/kafka/streams/kstream/GlobalKTable.html" title="interface in org.apache.kafka.streams.kstream">GlobalKTable</a>&lt;K,V&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/StreamsBuilder.html#globalTable-java.lang.String-">globalTable</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
<td class="colLast">
<div class="block">Create a <a href="../../../../org/apache/kafka/streams/kstream/GlobalKTable.html" title="interface in org.apache.kafka.streams.kstream"><code>GlobalKTable</code></a> for the specified topic.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>&lt;K,V&gt;&nbsp;<a href="../../../../org/apache/kafka/streams/kstream/GlobalKTable.html" title="interface in org.apache.kafka.streams.kstream">GlobalKTable</a>&lt;K,V&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/StreamsBuilder.html#globalTable-java.lang.String-org.apache.kafka.streams.Consumed-">globalTable</a></span>&#8203;(java.lang.String&nbsp;topic,
<a href="../../../../org/apache/kafka/streams/Consumed.html" title="class in org.apache.kafka.streams">Consumed</a>&lt;K,V&gt;&nbsp;consumed)</code></th>
<td class="colLast">
<div class="block">Create a <a href="../../../../org/apache/kafka/streams/kstream/GlobalKTable.html" title="interface in org.apache.kafka.streams.kstream"><code>GlobalKTable</code></a> for the specified topic.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>&lt;K,V&gt;&nbsp;<a href="../../../../org/apache/kafka/streams/kstream/GlobalKTable.html" title="interface in org.apache.kafka.streams.kstream">GlobalKTable</a>&lt;K,V&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/StreamsBuilder.html#globalTable-java.lang.String-org.apache.kafka.streams.Consumed-org.apache.kafka.streams.kstream.Materialized-">globalTable</a></span>&#8203;(java.lang.String&nbsp;topic,
<a href="../../../../org/apache/kafka/streams/Consumed.html" title="class in org.apache.kafka.streams">Consumed</a>&lt;K,V&gt;&nbsp;consumed,
<a href="../../../../org/apache/kafka/streams/kstream/Materialized.html" title="class in org.apache.kafka.streams.kstream">Materialized</a>&lt;K,V,<a href="../../../../org/apache/kafka/streams/state/KeyValueStore.html" title="interface in org.apache.kafka.streams.state">KeyValueStore</a>&lt;org.apache.kafka.common.utils.Bytes,byte[]&gt;&gt;&nbsp;materialized)</code></th>
<td class="colLast">
<div class="block">Create a <a href="../../../../org/apache/kafka/streams/kstream/GlobalKTable.html" title="interface in org.apache.kafka.streams.kstream"><code>GlobalKTable</code></a> for the specified topic.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>&lt;K,V&gt;&nbsp;<a href="../../../../org/apache/kafka/streams/kstream/GlobalKTable.html" title="interface in org.apache.kafka.streams.kstream">GlobalKTable</a>&lt;K,V&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/StreamsBuilder.html#globalTable-java.lang.String-org.apache.kafka.streams.kstream.Materialized-">globalTable</a></span>&#8203;(java.lang.String&nbsp;topic,
<a href="../../../../org/apache/kafka/streams/kstream/Materialized.html" title="class in org.apache.kafka.streams.kstream">Materialized</a>&lt;K,V,<a href="../../../../org/apache/kafka/streams/state/KeyValueStore.html" title="interface in org.apache.kafka.streams.state">KeyValueStore</a>&lt;org.apache.kafka.common.utils.Bytes,byte[]&gt;&gt;&nbsp;materialized)</code></th>
<td class="colLast">
<div class="block">Create a <a href="../../../../org/apache/kafka/streams/kstream/GlobalKTable.html" title="interface in org.apache.kafka.streams.kstream"><code>GlobalKTable</code></a> for the specified topic.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>&lt;K,V&gt;&nbsp;<a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream">KStream</a>&lt;K,V&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/StreamsBuilder.html#stream-java.lang.String-">stream</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
<td class="colLast">
<div class="block">Create a <a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream"><code>KStream</code></a> from the specified topics.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>&lt;K,V&gt;&nbsp;<a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream">KStream</a>&lt;K,V&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/StreamsBuilder.html#stream-java.lang.String-org.apache.kafka.streams.Consumed-">stream</a></span>&#8203;(java.lang.String&nbsp;topic,
<a href="../../../../org/apache/kafka/streams/Consumed.html" title="class in org.apache.kafka.streams">Consumed</a>&lt;K,V&gt;&nbsp;consumed)</code></th>
<td class="colLast">
<div class="block">Create a <a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream"><code>KStream</code></a> from the specified topics.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>&lt;K,V&gt;&nbsp;<a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream">KStream</a>&lt;K,V&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/StreamsBuilder.html#stream-java.util.Collection-">stream</a></span>&#8203;(java.util.Collection&lt;java.lang.String&gt;&nbsp;topics)</code></th>
<td class="colLast">
<div class="block">Create a <a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream"><code>KStream</code></a> from the specified topics.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>&lt;K,V&gt;&nbsp;<a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream">KStream</a>&lt;K,V&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/StreamsBuilder.html#stream-java.util.Collection-org.apache.kafka.streams.Consumed-">stream</a></span>&#8203;(java.util.Collection&lt;java.lang.String&gt;&nbsp;topics,
<a href="../../../../org/apache/kafka/streams/Consumed.html" title="class in org.apache.kafka.streams">Consumed</a>&lt;K,V&gt;&nbsp;consumed)</code></th>
<td class="colLast">
<div class="block">Create a <a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream"><code>KStream</code></a> from the specified topics.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>&lt;K,V&gt;&nbsp;<a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream">KStream</a>&lt;K,V&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/StreamsBuilder.html#stream-java.util.regex.Pattern-">stream</a></span>&#8203;(java.util.regex.Pattern&nbsp;topicPattern)</code></th>
<td class="colLast">
<div class="block">Create a <a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream"><code>KStream</code></a> from the specified topic pattern.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>&lt;K,V&gt;&nbsp;<a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream">KStream</a>&lt;K,V&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/StreamsBuilder.html#stream-java.util.regex.Pattern-org.apache.kafka.streams.Consumed-">stream</a></span>&#8203;(java.util.regex.Pattern&nbsp;topicPattern,
<a href="../../../../org/apache/kafka/streams/Consumed.html" title="class in org.apache.kafka.streams">Consumed</a>&lt;K,V&gt;&nbsp;consumed)</code></th>
<td class="colLast">
<div class="block">Create a <a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream"><code>KStream</code></a> from the specified topic pattern.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>&lt;K,V&gt;&nbsp;<a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream">KTable</a>&lt;K,V&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/StreamsBuilder.html#table-java.lang.String-">table</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
<td class="colLast">
<div class="block">Create a <a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KTable</code></a> for the specified topic.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>&lt;K,V&gt;&nbsp;<a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream">KTable</a>&lt;K,V&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/StreamsBuilder.html#table-java.lang.String-org.apache.kafka.streams.Consumed-">table</a></span>&#8203;(java.lang.String&nbsp;topic,
<a href="../../../../org/apache/kafka/streams/Consumed.html" title="class in org.apache.kafka.streams">Consumed</a>&lt;K,V&gt;&nbsp;consumed)</code></th>
<td class="colLast">
<div class="block">Create a <a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KTable</code></a> for the specified topic.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>&lt;K,V&gt;&nbsp;<a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream">KTable</a>&lt;K,V&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/StreamsBuilder.html#table-java.lang.String-org.apache.kafka.streams.Consumed-org.apache.kafka.streams.kstream.Materialized-">table</a></span>&#8203;(java.lang.String&nbsp;topic,
<a href="../../../../org/apache/kafka/streams/Consumed.html" title="class in org.apache.kafka.streams">Consumed</a>&lt;K,V&gt;&nbsp;consumed,
<a href="../../../../org/apache/kafka/streams/kstream/Materialized.html" title="class in org.apache.kafka.streams.kstream">Materialized</a>&lt;K,V,<a href="../../../../org/apache/kafka/streams/state/KeyValueStore.html" title="interface in org.apache.kafka.streams.state">KeyValueStore</a>&lt;org.apache.kafka.common.utils.Bytes,byte[]&gt;&gt;&nbsp;materialized)</code></th>
<td class="colLast">
<div class="block">Create a <a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KTable</code></a> for the specified topic.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>&lt;K,V&gt;&nbsp;<a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream">KTable</a>&lt;K,V&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/StreamsBuilder.html#table-java.lang.String-org.apache.kafka.streams.kstream.Materialized-">table</a></span>&#8203;(java.lang.String&nbsp;topic,
<a href="../../../../org/apache/kafka/streams/kstream/Materialized.html" title="class in org.apache.kafka.streams.kstream">Materialized</a>&lt;K,V,<a href="../../../../org/apache/kafka/streams/state/KeyValueStore.html" title="interface in org.apache.kafka.streams.state">KeyValueStore</a>&lt;org.apache.kafka.common.utils.Bytes,byte[]&gt;&gt;&nbsp;materialized)</code></th>
<td class="colLast">
<div class="block">Create a <a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KTable</code></a> for the specified topic.</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="StreamsBuilder--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>StreamsBuilder</h4>
<pre>public&nbsp;StreamsBuilder&#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="stream-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stream</h4>
<pre>public&nbsp;&lt;K,V&gt;&nbsp;<a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream">KStream</a>&lt;K,V&gt;&nbsp;stream&#8203;(java.lang.String&nbsp;topic)</pre>
<div class="block">Create a <a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream"><code>KStream</code></a> from the specified topics.
The default <code>"auto.offset.reset"</code> strategy, default <a href="../../../../org/apache/kafka/streams/processor/TimestampExtractor.html" title="interface in org.apache.kafka.streams.processor"><code>TimestampExtractor</code></a>, and default key and value
deserializers as specified in the <a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams"><code>config</code></a> are used.
<p>
If multiple topics are specified there is no ordering guarantee for records from different topics.
<p>
Note that the specified input topics must be partitioned by key.
If this is not the case it is the user's responsibility to repartition the data before any key based operation
(like aggregation or join) is applied to the returned <a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream"><code>KStream</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>topic</code> - the topic name; cannot be <code>null</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a <a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream"><code>KStream</code></a> for the specified topics</dd>
</dl>
</li>
</ul>
<a name="stream-java.lang.String-org.apache.kafka.streams.Consumed-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stream</h4>
<pre>public&nbsp;&lt;K,V&gt;&nbsp;<a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream">KStream</a>&lt;K,V&gt;&nbsp;stream&#8203;(java.lang.String&nbsp;topic,
<a href="../../../../org/apache/kafka/streams/Consumed.html" title="class in org.apache.kafka.streams">Consumed</a>&lt;K,V&gt;&nbsp;consumed)</pre>
<div class="block">Create a <a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream"><code>KStream</code></a> from the specified topics.
The <code>"auto.offset.reset"</code> strategy, <a href="../../../../org/apache/kafka/streams/processor/TimestampExtractor.html" title="interface in org.apache.kafka.streams.processor"><code>TimestampExtractor</code></a>, key and value deserializers
are defined by the options in <a href="../../../../org/apache/kafka/streams/Consumed.html" title="class in org.apache.kafka.streams"><code>Consumed</code></a> are used.
<p>
Note that the specified input topics must be partitioned by key.
If this is not the case it is the user's responsibility to repartition the data before any key based operation
(like aggregation or join) is applied to the returned <a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream"><code>KStream</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>topic</code> - the topic names; cannot be <code>null</code></dd>
<dd><code>consumed</code> - the instance of <a href="../../../../org/apache/kafka/streams/Consumed.html" title="class in org.apache.kafka.streams"><code>Consumed</code></a> used to define optional parameters</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a <a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream"><code>KStream</code></a> for the specified topics</dd>
</dl>
</li>
</ul>
<a name="stream-java.util.Collection-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stream</h4>
<pre>public&nbsp;&lt;K,V&gt;&nbsp;<a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream">KStream</a>&lt;K,V&gt;&nbsp;stream&#8203;(java.util.Collection&lt;java.lang.String&gt;&nbsp;topics)</pre>
<div class="block">Create a <a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream"><code>KStream</code></a> from the specified topics.
The default <code>"auto.offset.reset"</code> strategy, default <a href="../../../../org/apache/kafka/streams/processor/TimestampExtractor.html" title="interface in org.apache.kafka.streams.processor"><code>TimestampExtractor</code></a>, and default key and value
deserializers as specified in the <a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams"><code>config</code></a> are used.
<p>
If multiple topics are specified there is no ordering guarantee for records from different topics.
<p>
Note that the specified input topics must be partitioned by key.
If this is not the case it is the user's responsibility to repartition the data before any key based operation
(like aggregation or join) is applied to the returned <a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream"><code>KStream</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>topics</code> - the topic names; must contain at least one topic name</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a <a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream"><code>KStream</code></a> for the specified topics</dd>
</dl>
</li>
</ul>
<a name="stream-java.util.Collection-org.apache.kafka.streams.Consumed-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stream</h4>
<pre>public&nbsp;&lt;K,V&gt;&nbsp;<a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream">KStream</a>&lt;K,V&gt;&nbsp;stream&#8203;(java.util.Collection&lt;java.lang.String&gt;&nbsp;topics,
<a href="../../../../org/apache/kafka/streams/Consumed.html" title="class in org.apache.kafka.streams">Consumed</a>&lt;K,V&gt;&nbsp;consumed)</pre>
<div class="block">Create a <a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream"><code>KStream</code></a> from the specified topics.
The <code>"auto.offset.reset"</code> strategy, <a href="../../../../org/apache/kafka/streams/processor/TimestampExtractor.html" title="interface in org.apache.kafka.streams.processor"><code>TimestampExtractor</code></a>, key and value deserializers
are defined by the options in <a href="../../../../org/apache/kafka/streams/Consumed.html" title="class in org.apache.kafka.streams"><code>Consumed</code></a> are used.
<p>
If multiple topics are specified there is no ordering guarantee for records from different topics.
<p>
Note that the specified input topics must be partitioned by key.
If this is not the case it is the user's responsibility to repartition the data before any key based operation
(like aggregation or join) is applied to the returned <a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream"><code>KStream</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>topics</code> - the topic names; must contain at least one topic name</dd>
<dd><code>consumed</code> - the instance of <a href="../../../../org/apache/kafka/streams/Consumed.html" title="class in org.apache.kafka.streams"><code>Consumed</code></a> used to define optional parameters</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a <a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream"><code>KStream</code></a> for the specified topics</dd>
</dl>
</li>
</ul>
<a name="stream-java.util.regex.Pattern-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stream</h4>
<pre>public&nbsp;&lt;K,V&gt;&nbsp;<a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream">KStream</a>&lt;K,V&gt;&nbsp;stream&#8203;(java.util.regex.Pattern&nbsp;topicPattern)</pre>
<div class="block">Create a <a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream"><code>KStream</code></a> from the specified topic pattern.
The default <code>"auto.offset.reset"</code> strategy, default <a href="../../../../org/apache/kafka/streams/processor/TimestampExtractor.html" title="interface in org.apache.kafka.streams.processor"><code>TimestampExtractor</code></a>, and default key and value
deserializers as specified in the <a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams"><code>config</code></a> are used.
<p>
If multiple topics are matched by the specified pattern, the created <a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream"><code>KStream</code></a> will read data from all of
them and there is no ordering guarantee between records from different topics.
<p>
Note that the specified input topics must be partitioned by key.
If this is not the case it is the user's responsibility to repartition the data before any key based operation
(like aggregation or join) is applied to the returned <a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream"><code>KStream</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>topicPattern</code> - the pattern to match for topic names</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a <a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream"><code>KStream</code></a> for topics matching the regex pattern.</dd>
</dl>
</li>
</ul>
<a name="stream-java.util.regex.Pattern-org.apache.kafka.streams.Consumed-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stream</h4>
<pre>public&nbsp;&lt;K,V&gt;&nbsp;<a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream">KStream</a>&lt;K,V&gt;&nbsp;stream&#8203;(java.util.regex.Pattern&nbsp;topicPattern,
<a href="../../../../org/apache/kafka/streams/Consumed.html" title="class in org.apache.kafka.streams">Consumed</a>&lt;K,V&gt;&nbsp;consumed)</pre>
<div class="block">Create a <a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream"><code>KStream</code></a> from the specified topic pattern.
The <code>"auto.offset.reset"</code> strategy, <a href="../../../../org/apache/kafka/streams/processor/TimestampExtractor.html" title="interface in org.apache.kafka.streams.processor"><code>TimestampExtractor</code></a>, key and value deserializers
are defined by the options in <a href="../../../../org/apache/kafka/streams/Consumed.html" title="class in org.apache.kafka.streams"><code>Consumed</code></a> are used.
<p>
If multiple topics are matched by the specified pattern, the created <a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream"><code>KStream</code></a> will read data from all of
them and there is no ordering guarantee between records from different topics.
<p>
Note that the specified input topics must be partitioned by key.
If this is not the case it is the user's responsibility to repartition the data before any key based operation
(like aggregation or join) is applied to the returned <a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream"><code>KStream</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>topicPattern</code> - the pattern to match for topic names</dd>
<dd><code>consumed</code> - the instance of <a href="../../../../org/apache/kafka/streams/Consumed.html" title="class in org.apache.kafka.streams"><code>Consumed</code></a> used to define optional parameters</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a <a href="../../../../org/apache/kafka/streams/kstream/KStream.html" title="interface in org.apache.kafka.streams.kstream"><code>KStream</code></a> for topics matching the regex pattern.</dd>
</dl>
</li>
</ul>
<a name="table-java.lang.String-org.apache.kafka.streams.Consumed-org.apache.kafka.streams.kstream.Materialized-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>table</h4>
<pre>public&nbsp;&lt;K,V&gt;&nbsp;<a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream">KTable</a>&lt;K,V&gt;&nbsp;table&#8203;(java.lang.String&nbsp;topic,
<a href="../../../../org/apache/kafka/streams/Consumed.html" title="class in org.apache.kafka.streams">Consumed</a>&lt;K,V&gt;&nbsp;consumed,
<a href="../../../../org/apache/kafka/streams/kstream/Materialized.html" title="class in org.apache.kafka.streams.kstream">Materialized</a>&lt;K,V,<a href="../../../../org/apache/kafka/streams/state/KeyValueStore.html" title="interface in org.apache.kafka.streams.state">KeyValueStore</a>&lt;org.apache.kafka.common.utils.Bytes,byte[]&gt;&gt;&nbsp;materialized)</pre>
<div class="block">Create a <a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KTable</code></a> for the specified topic.
The <code>"auto.offset.reset"</code> strategy, <a href="../../../../org/apache/kafka/streams/processor/TimestampExtractor.html" title="interface in org.apache.kafka.streams.processor"><code>TimestampExtractor</code></a>, key and value deserializers
are defined by the options in <a href="../../../../org/apache/kafka/streams/Consumed.html" title="class in org.apache.kafka.streams"><code>Consumed</code></a> are used.
Input <a href="../../../../org/apache/kafka/streams/KeyValue.html" title="class in org.apache.kafka.streams"><code>records</code></a> with <code>null</code> key will be dropped.
<p>
Note that the specified input topic must be partitioned by key.
If this is not the case the returned <a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KTable</code></a> will be corrupted.
<p>
The resulting <a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KTable</code></a> will be materialized in a local <a href="../../../../org/apache/kafka/streams/state/KeyValueStore.html" title="interface in org.apache.kafka.streams.state"><code>KeyValueStore</code></a> using the given
<code>Materialized</code> instance.
However, no internal changelog topic is created since the original input topic can be used for recovery (cf.
methods of <a href="../../../../org/apache/kafka/streams/kstream/KGroupedStream.html" title="interface in org.apache.kafka.streams.kstream"><code>KGroupedStream</code></a> and <a href="../../../../org/apache/kafka/streams/kstream/KGroupedTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KGroupedTable</code></a> that return a <a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KTable</code></a>).
<p>
You should only specify serdes in the <a href="../../../../org/apache/kafka/streams/Consumed.html" title="class in org.apache.kafka.streams"><code>Consumed</code></a> instance as these will also be used to overwrite the
serdes in <a href="../../../../org/apache/kafka/streams/kstream/Materialized.html" title="class in org.apache.kafka.streams.kstream"><code>Materialized</code></a>, i.e.,
<pre> <code>
streamBuilder.table(topic, Consumed.with(Serde.String(), Serde.String(), Materialized.&lt;String, String, KeyValueStore&lt;Bytes, byte[]&gt;as(storeName))
</code>
</pre>
To query the local <a href="../../../../org/apache/kafka/streams/state/KeyValueStore.html" title="interface in org.apache.kafka.streams.state"><code>KeyValueStore</code></a> it must be obtained via
<a href="../../../../org/apache/kafka/streams/KafkaStreams.html#store-java.lang.String-org.apache.kafka.streams.state.QueryableStoreType-"><code>KafkaStreams#store(...)</code></a>:
<pre><code>
KafkaStreams streams = ...
ReadOnlyKeyValueStore&lt;String, Long&gt; localStore = streams.store(queryableStoreName, QueryableStoreTypes.&lt;String, Long&gt;keyValueStore());
String key = "some-key";
Long valueForKey = localStore.get(key); // key must be local (application state is shared over all running Kafka Streams instances)
</code></pre>
For non-local keys, a custom RPC mechanism must be implemented using <a href="../../../../org/apache/kafka/streams/KafkaStreams.html#allMetadata--"><code>KafkaStreams.allMetadata()</code></a> to
query the value of the key on a parallel running instance of your Kafka Streams application.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>topic</code> - the topic name; cannot be <code>null</code></dd>
<dd><code>consumed</code> - the instance of <a href="../../../../org/apache/kafka/streams/Consumed.html" title="class in org.apache.kafka.streams"><code>Consumed</code></a> used to define optional parameters; cannot be <code>null</code></dd>
<dd><code>materialized</code> - the instance of <a href="../../../../org/apache/kafka/streams/kstream/Materialized.html" title="class in org.apache.kafka.streams.kstream"><code>Materialized</code></a> used to materialize a state store; cannot be <code>null</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a <a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KTable</code></a> for the specified topic</dd>
</dl>
</li>
</ul>
<a name="table-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>table</h4>
<pre>public&nbsp;&lt;K,V&gt;&nbsp;<a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream">KTable</a>&lt;K,V&gt;&nbsp;table&#8203;(java.lang.String&nbsp;topic)</pre>
<div class="block">Create a <a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KTable</code></a> for the specified topic.
The default <code>"auto.offset.reset"</code> strategy and default key and value deserializers as specified in the
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams"><code>config</code></a> are used.
Input <a href="../../../../org/apache/kafka/streams/KeyValue.html" title="class in org.apache.kafka.streams"><code>records</code></a> with <code>null</code> key will be dropped.
<p>
Note that the specified input topics must be partitioned by key.
If this is not the case the returned <a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KTable</code></a> will be corrupted.
<p>
The resulting <a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KTable</code></a> will be materialized in a local <a href="../../../../org/apache/kafka/streams/state/KeyValueStore.html" title="interface in org.apache.kafka.streams.state"><code>KeyValueStore</code></a> with an internal
store name. Note that store name may not be queriable through Interactive Queries.
No internal changelog topic is created since the original input topic can be used for recovery (cf.
methods of <a href="../../../../org/apache/kafka/streams/kstream/KGroupedStream.html" title="interface in org.apache.kafka.streams.kstream"><code>KGroupedStream</code></a> and <a href="../../../../org/apache/kafka/streams/kstream/KGroupedTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KGroupedTable</code></a> that return a <a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KTable</code></a>).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>topic</code> - the topic name; cannot be <code>null</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a <a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KTable</code></a> for the specified topic</dd>
</dl>
</li>
</ul>
<a name="table-java.lang.String-org.apache.kafka.streams.Consumed-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>table</h4>
<pre>public&nbsp;&lt;K,V&gt;&nbsp;<a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream">KTable</a>&lt;K,V&gt;&nbsp;table&#8203;(java.lang.String&nbsp;topic,
<a href="../../../../org/apache/kafka/streams/Consumed.html" title="class in org.apache.kafka.streams">Consumed</a>&lt;K,V&gt;&nbsp;consumed)</pre>
<div class="block">Create a <a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KTable</code></a> for the specified topic.
The <code>"auto.offset.reset"</code> strategy, <a href="../../../../org/apache/kafka/streams/processor/TimestampExtractor.html" title="interface in org.apache.kafka.streams.processor"><code>TimestampExtractor</code></a>, key and value deserializers
are defined by the options in <a href="../../../../org/apache/kafka/streams/Consumed.html" title="class in org.apache.kafka.streams"><code>Consumed</code></a> are used.
Input <a href="../../../../org/apache/kafka/streams/KeyValue.html" title="class in org.apache.kafka.streams"><code>records</code></a> with <code>null</code> key will be dropped.
<p>
Note that the specified input topics must be partitioned by key.
If this is not the case the returned <a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KTable</code></a> will be corrupted.
<p>
The resulting <a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KTable</code></a> will be materialized in a local <a href="../../../../org/apache/kafka/streams/state/KeyValueStore.html" title="interface in org.apache.kafka.streams.state"><code>KeyValueStore</code></a> with an internal
store name. Note that store name may not be queriable through Interactive Queries.
No internal changelog topic is created since the original input topic can be used for recovery (cf.
methods of <a href="../../../../org/apache/kafka/streams/kstream/KGroupedStream.html" title="interface in org.apache.kafka.streams.kstream"><code>KGroupedStream</code></a> and <a href="../../../../org/apache/kafka/streams/kstream/KGroupedTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KGroupedTable</code></a> that return a <a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KTable</code></a>).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>topic</code> - the topic name; cannot be <code>null</code></dd>
<dd><code>consumed</code> - the instance of <a href="../../../../org/apache/kafka/streams/Consumed.html" title="class in org.apache.kafka.streams"><code>Consumed</code></a> used to define optional parameters; cannot be <code>null</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a <a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KTable</code></a> for the specified topic</dd>
</dl>
</li>
</ul>
<a name="table-java.lang.String-org.apache.kafka.streams.kstream.Materialized-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>table</h4>
<pre>public&nbsp;&lt;K,V&gt;&nbsp;<a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream">KTable</a>&lt;K,V&gt;&nbsp;table&#8203;(java.lang.String&nbsp;topic,
<a href="../../../../org/apache/kafka/streams/kstream/Materialized.html" title="class in org.apache.kafka.streams.kstream">Materialized</a>&lt;K,V,<a href="../../../../org/apache/kafka/streams/state/KeyValueStore.html" title="interface in org.apache.kafka.streams.state">KeyValueStore</a>&lt;org.apache.kafka.common.utils.Bytes,byte[]&gt;&gt;&nbsp;materialized)</pre>
<div class="block">Create a <a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KTable</code></a> for the specified topic.
The default <code>"auto.offset.reset"</code> strategy as specified in the <a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams"><code>config</code></a> are used.
Key and value deserializers as defined by the options in <a href="../../../../org/apache/kafka/streams/kstream/Materialized.html" title="class in org.apache.kafka.streams.kstream"><code>Materialized</code></a> are used.
Input <a href="../../../../org/apache/kafka/streams/KeyValue.html" title="class in org.apache.kafka.streams"><code>records</code></a> with <code>null</code> key will be dropped.
<p>
Note that the specified input topics must be partitioned by key.
If this is not the case the returned <a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KTable</code></a> will be corrupted.
<p>
The resulting <a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KTable</code></a> will be materialized in a local <a href="../../../../org/apache/kafka/streams/state/KeyValueStore.html" title="interface in org.apache.kafka.streams.state"><code>KeyValueStore</code></a> using the <a href="../../../../org/apache/kafka/streams/kstream/Materialized.html" title="class in org.apache.kafka.streams.kstream"><code>Materialized</code></a> instance.
No internal changelog topic is created since the original input topic can be used for recovery (cf.
methods of <a href="../../../../org/apache/kafka/streams/kstream/KGroupedStream.html" title="interface in org.apache.kafka.streams.kstream"><code>KGroupedStream</code></a> and <a href="../../../../org/apache/kafka/streams/kstream/KGroupedTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KGroupedTable</code></a> that return a <a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KTable</code></a>).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>topic</code> - the topic name; cannot be <code>null</code></dd>
<dd><code>materialized</code> - the instance of <a href="../../../../org/apache/kafka/streams/kstream/Materialized.html" title="class in org.apache.kafka.streams.kstream"><code>Materialized</code></a> used to materialize a state store; cannot be <code>null</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a <a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KTable</code></a> for the specified topic</dd>
</dl>
</li>
</ul>
<a name="globalTable-java.lang.String-org.apache.kafka.streams.Consumed-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>globalTable</h4>
<pre>public&nbsp;&lt;K,V&gt;&nbsp;<a href="../../../../org/apache/kafka/streams/kstream/GlobalKTable.html" title="interface in org.apache.kafka.streams.kstream">GlobalKTable</a>&lt;K,V&gt;&nbsp;globalTable&#8203;(java.lang.String&nbsp;topic,
<a href="../../../../org/apache/kafka/streams/Consumed.html" title="class in org.apache.kafka.streams">Consumed</a>&lt;K,V&gt;&nbsp;consumed)</pre>
<div class="block">Create a <a href="../../../../org/apache/kafka/streams/kstream/GlobalKTable.html" title="interface in org.apache.kafka.streams.kstream"><code>GlobalKTable</code></a> for the specified topic.
Input <a href="../../../../org/apache/kafka/streams/KeyValue.html" title="class in org.apache.kafka.streams"><code>records</code></a> with <code>null</code> key will be dropped.
<p>
The resulting <a href="../../../../org/apache/kafka/streams/kstream/GlobalKTable.html" title="interface in org.apache.kafka.streams.kstream"><code>GlobalKTable</code></a> will be materialized in a local <a href="../../../../org/apache/kafka/streams/state/KeyValueStore.html" title="interface in org.apache.kafka.streams.state"><code>KeyValueStore</code></a> with an internal
store name. Note that store name may not be queriable through Interactive Queries.
No internal changelog topic is created since the original input topic can be used for recovery (cf.
methods of <a href="../../../../org/apache/kafka/streams/kstream/KGroupedStream.html" title="interface in org.apache.kafka.streams.kstream"><code>KGroupedStream</code></a> and <a href="../../../../org/apache/kafka/streams/kstream/KGroupedTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KGroupedTable</code></a> that return a <a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KTable</code></a>).
<p>
Note that <a href="../../../../org/apache/kafka/streams/kstream/GlobalKTable.html" title="interface in org.apache.kafka.streams.kstream"><code>GlobalKTable</code></a> always applies <code>"auto.offset.reset"</code> strategy <code>"earliest"</code>
regardless of the specified value in <a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams"><code>StreamsConfig</code></a> or <a href="../../../../org/apache/kafka/streams/Consumed.html" title="class in org.apache.kafka.streams"><code>Consumed</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>topic</code> - the topic name; cannot be <code>null</code></dd>
<dd><code>consumed</code> - the instance of <a href="../../../../org/apache/kafka/streams/Consumed.html" title="class in org.apache.kafka.streams"><code>Consumed</code></a> used to define optional parameters</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a <a href="../../../../org/apache/kafka/streams/kstream/GlobalKTable.html" title="interface in org.apache.kafka.streams.kstream"><code>GlobalKTable</code></a> for the specified topic</dd>
</dl>
</li>
</ul>
<a name="globalTable-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>globalTable</h4>
<pre>public&nbsp;&lt;K,V&gt;&nbsp;<a href="../../../../org/apache/kafka/streams/kstream/GlobalKTable.html" title="interface in org.apache.kafka.streams.kstream">GlobalKTable</a>&lt;K,V&gt;&nbsp;globalTable&#8203;(java.lang.String&nbsp;topic)</pre>
<div class="block">Create a <a href="../../../../org/apache/kafka/streams/kstream/GlobalKTable.html" title="interface in org.apache.kafka.streams.kstream"><code>GlobalKTable</code></a> for the specified topic.
The default key and value deserializers as specified in the <a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams"><code>config</code></a> are used.
Input <a href="../../../../org/apache/kafka/streams/KeyValue.html" title="class in org.apache.kafka.streams"><code>records</code></a> with <code>null</code> key will be dropped.
<p>
The resulting <a href="../../../../org/apache/kafka/streams/kstream/GlobalKTable.html" title="interface in org.apache.kafka.streams.kstream"><code>GlobalKTable</code></a> will be materialized in a local <a href="../../../../org/apache/kafka/streams/state/KeyValueStore.html" title="interface in org.apache.kafka.streams.state"><code>KeyValueStore</code></a> with an internal
store name. Note that store name may not be queriable through Interactive Queries.
No internal changelog topic is created since the original input topic can be used for recovery (cf.
methods of <a href="../../../../org/apache/kafka/streams/kstream/KGroupedStream.html" title="interface in org.apache.kafka.streams.kstream"><code>KGroupedStream</code></a> and <a href="../../../../org/apache/kafka/streams/kstream/KGroupedTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KGroupedTable</code></a> that return a <a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KTable</code></a>).
<p>
Note that <a href="../../../../org/apache/kafka/streams/kstream/GlobalKTable.html" title="interface in org.apache.kafka.streams.kstream"><code>GlobalKTable</code></a> always applies <code>"auto.offset.reset"</code> strategy <code>"earliest"</code>
regardless of the specified value in <a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams"><code>StreamsConfig</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>topic</code> - the topic name; cannot be <code>null</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a <a href="../../../../org/apache/kafka/streams/kstream/GlobalKTable.html" title="interface in org.apache.kafka.streams.kstream"><code>GlobalKTable</code></a> for the specified topic</dd>
</dl>
</li>
</ul>
<a name="globalTable-java.lang.String-org.apache.kafka.streams.Consumed-org.apache.kafka.streams.kstream.Materialized-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>globalTable</h4>
<pre>public&nbsp;&lt;K,V&gt;&nbsp;<a href="../../../../org/apache/kafka/streams/kstream/GlobalKTable.html" title="interface in org.apache.kafka.streams.kstream">GlobalKTable</a>&lt;K,V&gt;&nbsp;globalTable&#8203;(java.lang.String&nbsp;topic,
<a href="../../../../org/apache/kafka/streams/Consumed.html" title="class in org.apache.kafka.streams">Consumed</a>&lt;K,V&gt;&nbsp;consumed,
<a href="../../../../org/apache/kafka/streams/kstream/Materialized.html" title="class in org.apache.kafka.streams.kstream">Materialized</a>&lt;K,V,<a href="../../../../org/apache/kafka/streams/state/KeyValueStore.html" title="interface in org.apache.kafka.streams.state">KeyValueStore</a>&lt;org.apache.kafka.common.utils.Bytes,byte[]&gt;&gt;&nbsp;materialized)</pre>
<div class="block">Create a <a href="../../../../org/apache/kafka/streams/kstream/GlobalKTable.html" title="interface in org.apache.kafka.streams.kstream"><code>GlobalKTable</code></a> for the specified topic.
Input <a href="../../../../org/apache/kafka/streams/KeyValue.html" title="class in org.apache.kafka.streams"><code>KeyValue</code></a> pairs with <code>null</code> key will be dropped.
<p>
The resulting <a href="../../../../org/apache/kafka/streams/kstream/GlobalKTable.html" title="interface in org.apache.kafka.streams.kstream"><code>GlobalKTable</code></a> will be materialized in a local <a href="../../../../org/apache/kafka/streams/state/KeyValueStore.html" title="interface in org.apache.kafka.streams.state"><code>KeyValueStore</code></a> configured with
the provided instance of <a href="../../../../org/apache/kafka/streams/kstream/Materialized.html" title="class in org.apache.kafka.streams.kstream"><code>Materialized</code></a>.
However, no internal changelog topic is created since the original input topic can be used for recovery (cf.
methods of <a href="../../../../org/apache/kafka/streams/kstream/KGroupedStream.html" title="interface in org.apache.kafka.streams.kstream"><code>KGroupedStream</code></a> and <a href="../../../../org/apache/kafka/streams/kstream/KGroupedTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KGroupedTable</code></a> that return a <a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KTable</code></a>).
<p>
You should only specify serdes in the <a href="../../../../org/apache/kafka/streams/Consumed.html" title="class in org.apache.kafka.streams"><code>Consumed</code></a> instance as these will also be used to overwrite the
serdes in <a href="../../../../org/apache/kafka/streams/kstream/Materialized.html" title="class in org.apache.kafka.streams.kstream"><code>Materialized</code></a>, i.e.,
<pre> <code>
streamBuilder.globalTable(topic, Consumed.with(Serde.String(), Serde.String(), Materialized.&lt;String, String, KeyValueStore&lt;Bytes, byte[]&gt;as(storeName))
</code>
</pre>
To query the local <a href="../../../../org/apache/kafka/streams/state/KeyValueStore.html" title="interface in org.apache.kafka.streams.state"><code>KeyValueStore</code></a> it must be obtained via
<a href="../../../../org/apache/kafka/streams/KafkaStreams.html#store-java.lang.String-org.apache.kafka.streams.state.QueryableStoreType-"><code>KafkaStreams#store(...)</code></a>:
<pre><code>
KafkaStreams streams = ...
ReadOnlyKeyValueStore&lt;String, Long&gt; localStore = streams.store(queryableStoreName, QueryableStoreTypes.&lt;String, Long&gt;keyValueStore());
String key = "some-key";
Long valueForKey = localStore.get(key);
</code></pre>
Note that <a href="../../../../org/apache/kafka/streams/kstream/GlobalKTable.html" title="interface in org.apache.kafka.streams.kstream"><code>GlobalKTable</code></a> always applies <code>"auto.offset.reset"</code> strategy <code>"earliest"</code>
regardless of the specified value in <a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams"><code>StreamsConfig</code></a> or <a href="../../../../org/apache/kafka/streams/Consumed.html" title="class in org.apache.kafka.streams"><code>Consumed</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>topic</code> - the topic name; cannot be <code>null</code></dd>
<dd><code>consumed</code> - the instance of <a href="../../../../org/apache/kafka/streams/Consumed.html" title="class in org.apache.kafka.streams"><code>Consumed</code></a> used to define optional parameters; can't be <code>null</code></dd>
<dd><code>materialized</code> - the instance of <a href="../../../../org/apache/kafka/streams/kstream/Materialized.html" title="class in org.apache.kafka.streams.kstream"><code>Materialized</code></a> used to materialize a state store; cannot be <code>null</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a <a href="../../../../org/apache/kafka/streams/kstream/GlobalKTable.html" title="interface in org.apache.kafka.streams.kstream"><code>GlobalKTable</code></a> for the specified topic</dd>
</dl>
</li>
</ul>
<a name="globalTable-java.lang.String-org.apache.kafka.streams.kstream.Materialized-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>globalTable</h4>
<pre>public&nbsp;&lt;K,V&gt;&nbsp;<a href="../../../../org/apache/kafka/streams/kstream/GlobalKTable.html" title="interface in org.apache.kafka.streams.kstream">GlobalKTable</a>&lt;K,V&gt;&nbsp;globalTable&#8203;(java.lang.String&nbsp;topic,
<a href="../../../../org/apache/kafka/streams/kstream/Materialized.html" title="class in org.apache.kafka.streams.kstream">Materialized</a>&lt;K,V,<a href="../../../../org/apache/kafka/streams/state/KeyValueStore.html" title="interface in org.apache.kafka.streams.state">KeyValueStore</a>&lt;org.apache.kafka.common.utils.Bytes,byte[]&gt;&gt;&nbsp;materialized)</pre>
<div class="block">Create a <a href="../../../../org/apache/kafka/streams/kstream/GlobalKTable.html" title="interface in org.apache.kafka.streams.kstream"><code>GlobalKTable</code></a> for the specified topic.
Input <a href="../../../../org/apache/kafka/streams/KeyValue.html" title="class in org.apache.kafka.streams"><code>KeyValue</code></a> pairs with <code>null</code> key will be dropped.
<p>
The resulting <a href="../../../../org/apache/kafka/streams/kstream/GlobalKTable.html" title="interface in org.apache.kafka.streams.kstream"><code>GlobalKTable</code></a> will be materialized in a local <a href="../../../../org/apache/kafka/streams/state/KeyValueStore.html" title="interface in org.apache.kafka.streams.state"><code>KeyValueStore</code></a> configured with
the provided instance of <a href="../../../../org/apache/kafka/streams/kstream/Materialized.html" title="class in org.apache.kafka.streams.kstream"><code>Materialized</code></a>.
However, no internal changelog topic is created since the original input topic can be used for recovery (cf.
methods of <a href="../../../../org/apache/kafka/streams/kstream/KGroupedStream.html" title="interface in org.apache.kafka.streams.kstream"><code>KGroupedStream</code></a> and <a href="../../../../org/apache/kafka/streams/kstream/KGroupedTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KGroupedTable</code></a> that return a <a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KTable</code></a>).
<p>
To query the local <a href="../../../../org/apache/kafka/streams/state/KeyValueStore.html" title="interface in org.apache.kafka.streams.state"><code>KeyValueStore</code></a> it must be obtained via
<a href="../../../../org/apache/kafka/streams/KafkaStreams.html#store-java.lang.String-org.apache.kafka.streams.state.QueryableStoreType-"><code>KafkaStreams#store(...)</code></a>:
<pre><code>
KafkaStreams streams = ...
ReadOnlyKeyValueStore&lt;String, Long&gt; localStore = streams.store(queryableStoreName, QueryableStoreTypes.&lt;String, Long&gt;keyValueStore());
String key = "some-key";
Long valueForKey = localStore.get(key);
</code></pre>
Note that <a href="../../../../org/apache/kafka/streams/kstream/GlobalKTable.html" title="interface in org.apache.kafka.streams.kstream"><code>GlobalKTable</code></a> always applies <code>"auto.offset.reset"</code> strategy <code>"earliest"</code>
regardless of the specified value in <a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams"><code>StreamsConfig</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>topic</code> - the topic name; cannot be <code>null</code></dd>
<dd><code>materialized</code> - the instance of <a href="../../../../org/apache/kafka/streams/kstream/Materialized.html" title="class in org.apache.kafka.streams.kstream"><code>Materialized</code></a> used to materialize a state store; cannot be <code>null</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a <a href="../../../../org/apache/kafka/streams/kstream/GlobalKTable.html" title="interface in org.apache.kafka.streams.kstream"><code>GlobalKTable</code></a> for the specified topic</dd>
</dl>
</li>
</ul>
<a name="addStateStore-org.apache.kafka.streams.state.StoreBuilder-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addStateStore</h4>
<pre>public&nbsp;<a href="../../../../org/apache/kafka/streams/StreamsBuilder.html" title="class in org.apache.kafka.streams">StreamsBuilder</a>&nbsp;addStateStore&#8203;(<a href="../../../../org/apache/kafka/streams/state/StoreBuilder.html" title="interface in org.apache.kafka.streams.state">StoreBuilder</a>&nbsp;builder)</pre>
<div class="block">Adds a state store to the underlying <a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams"><code>Topology</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>builder</code> - the builder 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>
<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-java.lang.String-org.apache.kafka.streams.Consumed-java.lang.String-org.apache.kafka.streams.processor.ProcessorSupplier-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addGlobalStore</h4>
<pre>@Deprecated
public&nbsp;<a href="../../../../org/apache/kafka/streams/StreamsBuilder.html" title="class in org.apache.kafka.streams">StreamsBuilder</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;topic,
java.lang.String&nbsp;sourceName,
<a href="../../../../org/apache/kafka/streams/Consumed.html" title="class in org.apache.kafka.streams">Consumed</a>&nbsp;consumed,
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"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <a href="../../../../org/apache/kafka/streams/StreamsBuilder.html#addGlobalStore-org.apache.kafka.streams.state.StoreBuilder-java.lang.String-org.apache.kafka.streams.Consumed-org.apache.kafka.streams.processor.ProcessorSupplier-"><code>addGlobalStore(StoreBuilder, String, Consumed, ProcessorSupplier)</code></a> instead</span></div>
</li>
</ul>
<a name="addGlobalStore-org.apache.kafka.streams.state.StoreBuilder-java.lang.String-org.apache.kafka.streams.Consumed-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/StreamsBuilder.html" title="class in org.apache.kafka.streams">StreamsBuilder</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;topic,
<a href="../../../../org/apache/kafka/streams/Consumed.html" title="class in org.apache.kafka.streams">Consumed</a>&nbsp;consumed,
<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 <a href="../../../../org/apache/kafka/streams/state/StoreBuilder.html" title="interface in org.apache.kafka.streams.state"><code>StoreBuilder</code></a>; can't be <code>null</code></dd>
<dd><code>topic</code> - the topic to source the data from</dd>
<dd><code>consumed</code> - the instance of <a href="../../../../org/apache/kafka/streams/Consumed.html" title="class in org.apache.kafka.streams"><code>Consumed</code></a> used to define optional parameters; can't be <code>null</code></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="build--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>build</h4>
<pre>public&nbsp;<a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a>&nbsp;build&#8203;()</pre>
<div class="block">Returns the <a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams"><code>Topology</code></a> that represents the specified processing logic.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams"><code>Topology</code></a> that represents the specified processing logic</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/KeyValue.html" title="class in org.apache.kafka.streams"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class 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/StreamsBuilder.html" target="_top">Frames</a></li>
<li><a href="StreamsBuilder.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>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>