blob: f1ced3c1c0cfafd052b66770edc01c6ae4c7b746 [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>KafkaStreams (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="KafkaStreams (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":42,"i16":42};
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/KafkaClientSupplier.html" title="interface in org.apache.kafka.streams"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/kafka/streams/KafkaStreams.State.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/KafkaStreams.html" target="_top">Frames</a></li>
<li><a href="KafkaStreams.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 KafkaStreams" class="title">Class KafkaStreams</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.kafka.streams.KafkaStreams</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre><a href="../../../../org/apache/kafka/common/annotation/InterfaceStability.Evolving.html" title="annotation in org.apache.kafka.common.annotation">@Evolving</a>
public class <span class="typeNameLabel">KafkaStreams</span>
extends java.lang.Object</pre>
<div class="block">A Kafka client that allows for performing continuous computation on input coming from one or more input topics and
sends output to zero, one, or more output topics.
<p>
The computational logic can be specified either by using the <a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams"><code>Topology</code></a> to define a DAG topology of
<a href="../../../../org/apache/kafka/streams/processor/Processor.html" title="interface in org.apache.kafka.streams.processor"><code>Processor</code></a>s or by using the <a href="../../../../org/apache/kafka/streams/StreamsBuilder.html" title="class in org.apache.kafka.streams"><code>StreamsBuilder</code></a> which provides the high-level DSL to define
transformations.
<p>
One <code>KafkaStreams</code> instance can contain one or more threads specified in the configs for the processing work.
<p>
A <code>KafkaStreams</code> instance can co-ordinate with any other instances with the same
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html#APPLICATION_ID_CONFIG"><code>application ID</code></a> (whether in the same process, on other processes on this
machine, or on remote machines) as a single (possibly distributed) stream processing application.
These instances will divide up the work based on the assignment of the input topic partitions so that all partitions
are being consumed.
If instances are added or fail, all (remaining) instances will rebalance the partition assignment among themselves
to balance processing load and ensure that all input topic partitions are processed.
<p>
Internally a <code>KafkaStreams</code> instance contains a normal <a href="../../../../org/apache/kafka/clients/producer/KafkaProducer.html" title="class in org.apache.kafka.clients.producer"><code>KafkaProducer</code></a> and <a href="../../../../org/apache/kafka/clients/consumer/KafkaConsumer.html" title="class in org.apache.kafka.clients.consumer"><code>KafkaConsumer</code></a> instance
that is used for reading input and writing output.
<p>
A simple example might look like this:
<pre><code>
Map&lt;String, Object&gt; props = new HashMap&lt;&gt;();
props.put(StreamsConfig.APPLICATION_ID_CONFIG, "my-stream-processing-application");
props.put(StreamsConfig.BOOTSTRAP_SERVERS_CONFIG, "localhost:9092");
props.put(StreamsConfig.DEFAULT_KEY_SERDE_CLASS_CONFIG, Serdes.String().getClass());
props.put(StreamsConfig.DEFAULT_VALUE_SERDE_CLASS_CONFIG, Serdes.String().getClass());
StreamsConfig config = new StreamsConfig(props);
StreamsBuilder builder = new StreamsBuilder();
builder.&lt;String, String&gt;stream("my-input-topic").mapValues(value -&gt; value.length().toString()).to("my-output-topic");
KafkaStreams streams = new KafkaStreams(builder.build(), config);
streams.start();
</code></pre></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/kafka/streams/StreamsBuilder.html" title="class in org.apache.kafka.streams"><code>StreamsBuilder</code></a>,
<a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams"><code>Topology</code></a></dd>
</dl>
</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/KafkaStreams.State.html" title="enum in org.apache.kafka.streams">KafkaStreams.State</a></span></code></th>
<td class="colLast">
<div class="block">Kafka Streams states are the possible state that a Kafka Streams instance can be in.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/KafkaStreams.StateListener.html" title="interface in org.apache.kafka.streams">KafkaStreams.StateListener</a></span></code></th>
<td class="colLast">
<div class="block">Listen to <a href="../../../../org/apache/kafka/streams/KafkaStreams.State.html" title="enum in org.apache.kafka.streams"><code>KafkaStreams.State</code></a> change events.</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/KafkaStreams.html#KafkaStreams-org.apache.kafka.streams.processor.TopologyBuilder-java.util.Properties-">KafkaStreams</a></span>&#8203;(<a href="../../../../org/apache/kafka/streams/processor/TopologyBuilder.html" title="class in org.apache.kafka.streams.processor">TopologyBuilder</a>&nbsp;builder,
java.util.Properties&nbsp;props)</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/KafkaStreams.html#KafkaStreams-org.apache.kafka.streams.Topology-java.util.Properties-"><code>KafkaStreams(Topology, Properties)</code></a> instead</span></div>
</div>
</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/KafkaStreams.html#KafkaStreams-org.apache.kafka.streams.processor.TopologyBuilder-org.apache.kafka.streams.StreamsConfig-">KafkaStreams</a></span>&#8203;(<a href="../../../../org/apache/kafka/streams/processor/TopologyBuilder.html" title="class in org.apache.kafka.streams.processor">TopologyBuilder</a>&nbsp;builder,
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams">StreamsConfig</a>&nbsp;config)</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/KafkaStreams.html#KafkaStreams-org.apache.kafka.streams.Topology-org.apache.kafka.streams.StreamsConfig-"><code>KafkaStreams(Topology, StreamsConfig)</code></a> instead</span></div>
</div>
</td>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/KafkaStreams.html#KafkaStreams-org.apache.kafka.streams.processor.TopologyBuilder-org.apache.kafka.streams.StreamsConfig-org.apache.kafka.streams.KafkaClientSupplier-">KafkaStreams</a></span>&#8203;(<a href="../../../../org/apache/kafka/streams/processor/TopologyBuilder.html" title="class in org.apache.kafka.streams.processor">TopologyBuilder</a>&nbsp;builder,
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams">StreamsConfig</a>&nbsp;config,
<a href="../../../../org/apache/kafka/streams/KafkaClientSupplier.html" title="interface in org.apache.kafka.streams">KafkaClientSupplier</a>&nbsp;clientSupplier)</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/KafkaStreams.html#KafkaStreams-org.apache.kafka.streams.Topology-org.apache.kafka.streams.StreamsConfig-org.apache.kafka.streams.KafkaClientSupplier-"><code>KafkaStreams(Topology, StreamsConfig, KafkaClientSupplier)</code></a> instead</span></div>
</div>
</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/KafkaStreams.html#KafkaStreams-org.apache.kafka.streams.Topology-java.util.Properties-">KafkaStreams</a></span>&#8203;(<a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a>&nbsp;topology,
java.util.Properties&nbsp;props)</code></th>
<td class="colLast">
<div class="block">Create a <code>KafkaStreams</code> instance.</div>
</td>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/KafkaStreams.html#KafkaStreams-org.apache.kafka.streams.Topology-org.apache.kafka.streams.StreamsConfig-">KafkaStreams</a></span>&#8203;(<a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a>&nbsp;topology,
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams">StreamsConfig</a>&nbsp;config)</code></th>
<td class="colLast">
<div class="block">Create a <code>KafkaStreams</code> instance.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/KafkaStreams.html#KafkaStreams-org.apache.kafka.streams.Topology-org.apache.kafka.streams.StreamsConfig-org.apache.kafka.common.utils.Time-">KafkaStreams</a></span>&#8203;(<a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a>&nbsp;topology,
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams">StreamsConfig</a>&nbsp;config,
org.apache.kafka.common.utils.Time&nbsp;time)</code></th>
<td class="colLast">
<div class="block">Create a <code>KafkaStreams</code> instance.</div>
</td>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/KafkaStreams.html#KafkaStreams-org.apache.kafka.streams.Topology-org.apache.kafka.streams.StreamsConfig-org.apache.kafka.streams.KafkaClientSupplier-">KafkaStreams</a></span>&#8203;(<a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a>&nbsp;topology,
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams">StreamsConfig</a>&nbsp;config,
<a href="../../../../org/apache/kafka/streams/KafkaClientSupplier.html" title="interface in org.apache.kafka.streams">KafkaClientSupplier</a>&nbsp;clientSupplier)</code></th>
<td class="colLast">
<div class="block">Create a <code>KafkaStreams</code> instance.</div>
</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>java.util.Collection&lt;<a href="../../../../org/apache/kafka/streams/state/StreamsMetadata.html" title="class in org.apache.kafka.streams.state">StreamsMetadata</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/KafkaStreams.html#allMetadata--">allMetadata</a></span>&#8203;()</code></th>
<td class="colLast">
<div class="block">Find all currently running <code>KafkaStreams</code> instances (potentially remotely) that use the same
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html#APPLICATION_ID_CONFIG"><code>application ID</code></a> as this instance (i.e., all instances that belong to
the same Kafka Streams application) and return <a href="../../../../org/apache/kafka/streams/state/StreamsMetadata.html" title="class in org.apache.kafka.streams.state"><code>StreamsMetadata</code></a> for each discovered instance.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>java.util.Collection&lt;<a href="../../../../org/apache/kafka/streams/state/StreamsMetadata.html" title="class in org.apache.kafka.streams.state">StreamsMetadata</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/KafkaStreams.html#allMetadataForStore-java.lang.String-">allMetadataForStore</a></span>&#8203;(java.lang.String&nbsp;storeName)</code></th>
<td class="colLast">
<div class="block">Find all currently running <code>KafkaStreams</code> instances (potentially remotely) that
use the same <a href="../../../../org/apache/kafka/streams/StreamsConfig.html#APPLICATION_ID_CONFIG"><code>application ID</code></a> as this instance (i.e., all
instances that belong to the same Kafka Streams application)
and that contain a <a href="../../../../org/apache/kafka/streams/processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> with the given <code>storeName</code>
and return <a href="../../../../org/apache/kafka/streams/state/StreamsMetadata.html" title="class in org.apache.kafka.streams.state"><code>StreamsMetadata</code></a> for each discovered instance.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/KafkaStreams.html#cleanUp--">cleanUp</a></span>&#8203;()</code></th>
<td class="colLast">
<div class="block">Do a clean up of the local <a href="../../../../org/apache/kafka/streams/processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> directory (<a href="../../../../org/apache/kafka/streams/StreamsConfig.html#STATE_DIR_CONFIG"><code>StreamsConfig.STATE_DIR_CONFIG</code></a>) by deleting all
data with regard to the <a href="../../../../org/apache/kafka/streams/StreamsConfig.html#APPLICATION_ID_CONFIG"><code>application ID</code></a>.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/KafkaStreams.html#close--">close</a></span>&#8203;()</code></th>
<td class="colLast">
<div class="block">Shutdown this <code>KafkaStreams</code> instance by signaling all the threads to stop, and then wait for them to join.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/KafkaStreams.html#close-long-java.util.concurrent.TimeUnit-">close</a></span>&#8203;(long&nbsp;timeout,
java.util.concurrent.TimeUnit&nbsp;timeUnit)</code></th>
<td class="colLast">
<div class="block">Shutdown this <code>KafkaStreams</code> by signaling all the threads to stop, and then wait up to the timeout for the
threads to join.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>java.util.Set&lt;<a href="../../../../org/apache/kafka/streams/processor/ThreadMetadata.html" title="class in org.apache.kafka.streams.processor">ThreadMetadata</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/KafkaStreams.html#localThreadsMetadata--">localThreadsMetadata</a></span>&#8203;()</code></th>
<td class="colLast">
<div class="block">Returns runtime information about the local threads of this <a href="../../../../org/apache/kafka/streams/KafkaStreams.html" title="class in org.apache.kafka.streams"><code>KafkaStreams</code></a> instance.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>&lt;K&gt;&nbsp;<a href="../../../../org/apache/kafka/streams/state/StreamsMetadata.html" title="class in org.apache.kafka.streams.state">StreamsMetadata</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/KafkaStreams.html#metadataForKey-java.lang.String-K-org.apache.kafka.common.serialization.Serializer-">metadataForKey</a></span>&#8203;(java.lang.String&nbsp;storeName,
K&nbsp;key,
<a href="../../../../org/apache/kafka/common/serialization/Serializer.html" title="interface in org.apache.kafka.common.serialization">Serializer</a>&lt;K&gt;&nbsp;keySerializer)</code></th>
<td class="colLast">
<div class="block">Find the currently running <code>KafkaStreams</code> instance (potentially remotely) that
use the same <a href="../../../../org/apache/kafka/streams/StreamsConfig.html#APPLICATION_ID_CONFIG"><code>application ID</code></a> as this instance (i.e., all
instances that belong to the same Kafka Streams application)
and that contain a <a href="../../../../org/apache/kafka/streams/processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> with the given <code>storeName</code>
and the <a href="../../../../org/apache/kafka/streams/processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> contains the given <code>key</code>
and return <a href="../../../../org/apache/kafka/streams/state/StreamsMetadata.html" title="class in org.apache.kafka.streams.state"><code>StreamsMetadata</code></a> for it.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>&lt;K&gt;&nbsp;<a href="../../../../org/apache/kafka/streams/state/StreamsMetadata.html" title="class in org.apache.kafka.streams.state">StreamsMetadata</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/KafkaStreams.html#metadataForKey-java.lang.String-K-org.apache.kafka.streams.processor.StreamPartitioner-">metadataForKey</a></span>&#8203;(java.lang.String&nbsp;storeName,
K&nbsp;key,
<a href="../../../../org/apache/kafka/streams/processor/StreamPartitioner.html" title="interface in org.apache.kafka.streams.processor">StreamPartitioner</a>&lt;? super K,?&gt;&nbsp;partitioner)</code></th>
<td class="colLast">
<div class="block">Find the currently running <code>KafkaStreams</code> instance (potentially remotely) that
use the same <a href="../../../../org/apache/kafka/streams/StreamsConfig.html#APPLICATION_ID_CONFIG"><code>application ID</code></a> as this instance (i.e., all
instances that belong to the same Kafka Streams application)
and that contain a <a href="../../../../org/apache/kafka/streams/processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> with the given <code>storeName</code>
and the <a href="../../../../org/apache/kafka/streams/processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> contains the given <code>key</code>
and return <a href="../../../../org/apache/kafka/streams/state/StreamsMetadata.html" title="class in org.apache.kafka.streams.state"><code>StreamsMetadata</code></a> for it.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>java.util.Map&lt;<a href="../../../../org/apache/kafka/common/MetricName.html" title="class in org.apache.kafka.common">MetricName</a>,? extends <a href="../../../../org/apache/kafka/common/Metric.html" title="interface in org.apache.kafka.common">Metric</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/KafkaStreams.html#metrics--">metrics</a></span>&#8203;()</code></th>
<td class="colLast">
<div class="block">Get read-only handle on global metrics registry.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/KafkaStreams.html#setGlobalStateRestoreListener-org.apache.kafka.streams.processor.StateRestoreListener-">setGlobalStateRestoreListener</a></span>&#8203;(<a href="../../../../org/apache/kafka/streams/processor/StateRestoreListener.html" title="interface in org.apache.kafka.streams.processor">StateRestoreListener</a>&nbsp;globalStateRestoreListener)</code></th>
<td class="colLast">
<div class="block">Set the listener which is triggered whenever a <a href="../../../../org/apache/kafka/streams/processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> is being restored in order to resume
processing.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/KafkaStreams.html#setStateListener-org.apache.kafka.streams.KafkaStreams.StateListener-">setStateListener</a></span>&#8203;(<a href="../../../../org/apache/kafka/streams/KafkaStreams.StateListener.html" title="interface in org.apache.kafka.streams">KafkaStreams.StateListener</a>&nbsp;listener)</code></th>
<td class="colLast">
<div class="block">An app can set a single <a href="../../../../org/apache/kafka/streams/KafkaStreams.StateListener.html" title="interface in org.apache.kafka.streams"><code>KafkaStreams.StateListener</code></a> so that the app is notified when state changes.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/KafkaStreams.html#setUncaughtExceptionHandler-java.lang.Thread.UncaughtExceptionHandler-">setUncaughtExceptionHandler</a></span>&#8203;(java.lang.Thread.UncaughtExceptionHandler&nbsp;eh)</code></th>
<td class="colLast">
<div class="block">Set the handler invoked when a <a href="../../../../org/apache/kafka/streams/StreamsConfig.html#NUM_STREAM_THREADS_CONFIG"><code>internal thread</code></a> abruptly
terminates due to an uncaught exception.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/KafkaStreams.html#start--">start</a></span>&#8203;()</code></th>
<td class="colLast">
<div class="block">Start the <code>KafkaStreams</code> instance by starting all its threads.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/kafka/streams/KafkaStreams.State.html" title="enum in org.apache.kafka.streams">KafkaStreams.State</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/KafkaStreams.html#state--">state</a></span>&#8203;()</code></th>
<td class="colLast">
<div class="block">Return the current <a href="../../../../org/apache/kafka/streams/KafkaStreams.State.html" title="enum in org.apache.kafka.streams"><code>KafkaStreams.State</code></a> of this <code>KafkaStreams</code> instance.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/KafkaStreams.html#store-java.lang.String-org.apache.kafka.streams.state.QueryableStoreType-">store</a></span>&#8203;(java.lang.String&nbsp;storeName,
<a href="../../../../org/apache/kafka/streams/state/QueryableStoreType.html" title="interface in org.apache.kafka.streams.state">QueryableStoreType</a>&lt;T&gt;&nbsp;queryableStoreType)</code></th>
<td class="colLast">
<div class="block">Get a facade wrapping the local <a href="../../../../org/apache/kafka/streams/processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> instances with the provided <code>storeName</code> if the Store's
type is accepted by the provided <a href="../../../../org/apache/kafka/streams/state/QueryableStoreType.html#accepts-org.apache.kafka.streams.processor.StateStore-"><code>queryableStoreType</code></a>.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/KafkaStreams.html#toString--">toString</a></span>&#8203;()</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/KafkaStreams.html#localThreadsMetadata--"><code>localThreadsMetadata()</code></a> to retrieve runtime information.</span></div>
</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../../../org/apache/kafka/streams/KafkaStreams.html#toString-java.lang.String-">toString</a></span>&#8203;(java.lang.String&nbsp;indent)</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/KafkaStreams.html#localThreadsMetadata--"><code>localThreadsMetadata()</code></a> to retrieve runtime information.</span></div>
</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, 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="KafkaStreams-org.apache.kafka.streams.processor.TopologyBuilder-java.util.Properties-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>KafkaStreams</h4>
<pre>@Deprecated
public&nbsp;KafkaStreams&#8203;(<a href="../../../../org/apache/kafka/streams/processor/TopologyBuilder.html" title="class in org.apache.kafka.streams.processor">TopologyBuilder</a>&nbsp;builder,
java.util.Properties&nbsp;props)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <a href="../../../../org/apache/kafka/streams/KafkaStreams.html#KafkaStreams-org.apache.kafka.streams.Topology-java.util.Properties-"><code>KafkaStreams(Topology, Properties)</code></a> instead</span></div>
</li>
</ul>
<a name="KafkaStreams-org.apache.kafka.streams.processor.TopologyBuilder-org.apache.kafka.streams.StreamsConfig-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>KafkaStreams</h4>
<pre>@Deprecated
public&nbsp;KafkaStreams&#8203;(<a href="../../../../org/apache/kafka/streams/processor/TopologyBuilder.html" title="class in org.apache.kafka.streams.processor">TopologyBuilder</a>&nbsp;builder,
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams">StreamsConfig</a>&nbsp;config)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <a href="../../../../org/apache/kafka/streams/KafkaStreams.html#KafkaStreams-org.apache.kafka.streams.Topology-org.apache.kafka.streams.StreamsConfig-"><code>KafkaStreams(Topology, StreamsConfig)</code></a> instead</span></div>
</li>
</ul>
<a name="KafkaStreams-org.apache.kafka.streams.processor.TopologyBuilder-org.apache.kafka.streams.StreamsConfig-org.apache.kafka.streams.KafkaClientSupplier-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>KafkaStreams</h4>
<pre>@Deprecated
public&nbsp;KafkaStreams&#8203;(<a href="../../../../org/apache/kafka/streams/processor/TopologyBuilder.html" title="class in org.apache.kafka.streams.processor">TopologyBuilder</a>&nbsp;builder,
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams">StreamsConfig</a>&nbsp;config,
<a href="../../../../org/apache/kafka/streams/KafkaClientSupplier.html" title="interface in org.apache.kafka.streams">KafkaClientSupplier</a>&nbsp;clientSupplier)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <a href="../../../../org/apache/kafka/streams/KafkaStreams.html#KafkaStreams-org.apache.kafka.streams.Topology-org.apache.kafka.streams.StreamsConfig-org.apache.kafka.streams.KafkaClientSupplier-"><code>KafkaStreams(Topology, StreamsConfig, KafkaClientSupplier)</code></a> instead</span></div>
</li>
</ul>
<a name="KafkaStreams-org.apache.kafka.streams.Topology-java.util.Properties-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>KafkaStreams</h4>
<pre>public&nbsp;KafkaStreams&#8203;(<a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a>&nbsp;topology,
java.util.Properties&nbsp;props)</pre>
<div class="block">Create a <code>KafkaStreams</code> instance.
<p>
Note: even if you never call <a href="../../../../org/apache/kafka/streams/KafkaStreams.html#start--"><code>start()</code></a> on a <code>KafkaStreams</code> instance,
you still must <a href="../../../../org/apache/kafka/streams/KafkaStreams.html#close--"><code>close()</code></a> it to avoid resource leaks.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>topology</code> - the topology specifying the computational logic</dd>
<dd><code>props</code> - properties for <a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams"><code>StreamsConfig</code></a></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/kafka/streams/errors/StreamsException.html" title="class in org.apache.kafka.streams.errors">StreamsException</a></code> - if any fatal error occurs</dd>
</dl>
</li>
</ul>
<a name="KafkaStreams-org.apache.kafka.streams.Topology-org.apache.kafka.streams.StreamsConfig-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>KafkaStreams</h4>
<pre>public&nbsp;KafkaStreams&#8203;(<a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a>&nbsp;topology,
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams">StreamsConfig</a>&nbsp;config)</pre>
<div class="block">Create a <code>KafkaStreams</code> instance.
<p>
Note: even if you never call <a href="../../../../org/apache/kafka/streams/KafkaStreams.html#start--"><code>start()</code></a> on a <code>KafkaStreams</code> instance,
you still must <a href="../../../../org/apache/kafka/streams/KafkaStreams.html#close--"><code>close()</code></a> it to avoid resource leaks.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>topology</code> - the topology specifying the computational logic</dd>
<dd><code>config</code> - the Kafka Streams configuration</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/kafka/streams/errors/StreamsException.html" title="class in org.apache.kafka.streams.errors">StreamsException</a></code> - if any fatal error occurs</dd>
</dl>
</li>
</ul>
<a name="KafkaStreams-org.apache.kafka.streams.Topology-org.apache.kafka.streams.StreamsConfig-org.apache.kafka.streams.KafkaClientSupplier-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>KafkaStreams</h4>
<pre>public&nbsp;KafkaStreams&#8203;(<a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a>&nbsp;topology,
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams">StreamsConfig</a>&nbsp;config,
<a href="../../../../org/apache/kafka/streams/KafkaClientSupplier.html" title="interface in org.apache.kafka.streams">KafkaClientSupplier</a>&nbsp;clientSupplier)</pre>
<div class="block">Create a <code>KafkaStreams</code> instance.
<p>
Note: even if you never call <a href="../../../../org/apache/kafka/streams/KafkaStreams.html#start--"><code>start()</code></a> on a <code>KafkaStreams</code> instance,
you still must <a href="../../../../org/apache/kafka/streams/KafkaStreams.html#close--"><code>close()</code></a> it to avoid resource leaks.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>topology</code> - the topology specifying the computational logic</dd>
<dd><code>config</code> - the Kafka Streams configuration</dd>
<dd><code>clientSupplier</code> - the Kafka clients supplier which provides underlying producer and consumer clients
for the new <code>KafkaStreams</code> instance</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/kafka/streams/errors/StreamsException.html" title="class in org.apache.kafka.streams.errors">StreamsException</a></code> - if any fatal error occurs</dd>
</dl>
</li>
</ul>
<a name="KafkaStreams-org.apache.kafka.streams.Topology-org.apache.kafka.streams.StreamsConfig-org.apache.kafka.common.utils.Time-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>KafkaStreams</h4>
<pre>public&nbsp;KafkaStreams&#8203;(<a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams">Topology</a>&nbsp;topology,
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html" title="class in org.apache.kafka.streams">StreamsConfig</a>&nbsp;config,
org.apache.kafka.common.utils.Time&nbsp;time)</pre>
<div class="block">Create a <code>KafkaStreams</code> instance.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>topology</code> - the topology specifying the computational logic</dd>
<dd><code>config</code> - the Kafka Streams configuration</dd>
<dd><code>time</code> - <code>Time</code> implementation; cannot be null</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/kafka/streams/errors/StreamsException.html" title="class in org.apache.kafka.streams.errors">StreamsException</a></code> - if any fatal error occurs</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="state--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>state</h4>
<pre>public&nbsp;<a href="../../../../org/apache/kafka/streams/KafkaStreams.State.html" title="enum in org.apache.kafka.streams">KafkaStreams.State</a>&nbsp;state&#8203;()</pre>
<div class="block">Return the current <a href="../../../../org/apache/kafka/streams/KafkaStreams.State.html" title="enum in org.apache.kafka.streams"><code>KafkaStreams.State</code></a> of this <code>KafkaStreams</code> instance.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current state of this Kafka Streams instance</dd>
</dl>
</li>
</ul>
<a name="setStateListener-org.apache.kafka.streams.KafkaStreams.StateListener-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setStateListener</h4>
<pre>public&nbsp;void&nbsp;setStateListener&#8203;(<a href="../../../../org/apache/kafka/streams/KafkaStreams.StateListener.html" title="interface in org.apache.kafka.streams">KafkaStreams.StateListener</a>&nbsp;listener)</pre>
<div class="block">An app can set a single <a href="../../../../org/apache/kafka/streams/KafkaStreams.StateListener.html" title="interface in org.apache.kafka.streams"><code>KafkaStreams.StateListener</code></a> so that the app is notified when state changes.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>listener</code> - a new state listener</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalStateException</code> - if this <code>KafkaStreams</code> instance is not in state <a href="../../../../org/apache/kafka/streams/KafkaStreams.State.html#CREATED"><code>CREATED</code></a>.</dd>
</dl>
</li>
</ul>
<a name="setUncaughtExceptionHandler-java.lang.Thread.UncaughtExceptionHandler-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setUncaughtExceptionHandler</h4>
<pre>public&nbsp;void&nbsp;setUncaughtExceptionHandler&#8203;(java.lang.Thread.UncaughtExceptionHandler&nbsp;eh)</pre>
<div class="block">Set the handler invoked when a <a href="../../../../org/apache/kafka/streams/StreamsConfig.html#NUM_STREAM_THREADS_CONFIG"><code>internal thread</code></a> abruptly
terminates due to an uncaught exception.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>eh</code> - the uncaught exception handler for all internal threads; <code>null</code> deletes the current handler</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalStateException</code> - if this <code>KafkaStreams</code> instance is not in state <a href="../../../../org/apache/kafka/streams/KafkaStreams.State.html#CREATED"><code>CREATED</code></a>.</dd>
</dl>
</li>
</ul>
<a name="setGlobalStateRestoreListener-org.apache.kafka.streams.processor.StateRestoreListener-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setGlobalStateRestoreListener</h4>
<pre>public&nbsp;void&nbsp;setGlobalStateRestoreListener&#8203;(<a href="../../../../org/apache/kafka/streams/processor/StateRestoreListener.html" title="interface in org.apache.kafka.streams.processor">StateRestoreListener</a>&nbsp;globalStateRestoreListener)</pre>
<div class="block">Set the listener which is triggered whenever a <a href="../../../../org/apache/kafka/streams/processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> is being restored in order to resume
processing.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>globalStateRestoreListener</code> - The listener triggered when <a href="../../../../org/apache/kafka/streams/processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> is being restored.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalStateException</code> - if this <code>KafkaStreams</code> instance is not in state <a href="../../../../org/apache/kafka/streams/KafkaStreams.State.html#CREATED"><code>CREATED</code></a>.</dd>
</dl>
</li>
</ul>
<a name="metrics--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>metrics</h4>
<pre>public&nbsp;java.util.Map&lt;<a href="../../../../org/apache/kafka/common/MetricName.html" title="class in org.apache.kafka.common">MetricName</a>,? extends <a href="../../../../org/apache/kafka/common/Metric.html" title="interface in org.apache.kafka.common">Metric</a>&gt;&nbsp;metrics&#8203;()</pre>
<div class="block">Get read-only handle on global metrics registry.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Map of all metrics.</dd>
</dl>
</li>
</ul>
<a name="start--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>start</h4>
<pre>public&nbsp;void&nbsp;start&#8203;()
throws java.lang.IllegalStateException,
<a href="../../../../org/apache/kafka/streams/errors/StreamsException.html" title="class in org.apache.kafka.streams.errors">StreamsException</a></pre>
<div class="block">Start the <code>KafkaStreams</code> instance by starting all its threads.
This function is expected to be called only once during the life cycle of the client.
<p>
Because threads are started in the background, this method does not block.
As a consequence, any fatal exception that happens during processing is by default only logged.
If you want to be notified about dying threads, you can
<a href="../../../../org/apache/kafka/streams/KafkaStreams.html#setUncaughtExceptionHandler-java.lang.Thread.UncaughtExceptionHandler-"><code>register an uncaught exception handler</code></a>
before starting the <code>KafkaStreams</code> instance.
<p>
Note, for brokers with version <code>0.9.x</code> or lower, the broker version cannot be checked.
There will be no error and the client will hang and retry to verify the broker version until it
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html#REQUEST_TIMEOUT_MS_CONFIG"><code>times out</code></a>.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalStateException</code> - if process was already started</dd>
<dd><code><a href="../../../../org/apache/kafka/streams/errors/StreamsException.html" title="class in org.apache.kafka.streams.errors">StreamsException</a></code> - if the Kafka brokers have version 0.10.0.x or
if <a href="../../../../org/apache/kafka/streams/StreamsConfig.html#PROCESSING_GUARANTEE_CONFIG"><code>exactly-once</code></a> is enabled for pre 0.11.0.x brokers</dd>
</dl>
</li>
</ul>
<a name="close--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre>public&nbsp;void&nbsp;close&#8203;()</pre>
<div class="block">Shutdown this <code>KafkaStreams</code> instance by signaling all the threads to stop, and then wait for them to join.
This will block until all threads have stopped.</div>
</li>
</ul>
<a name="close-long-java.util.concurrent.TimeUnit-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre>public&nbsp;boolean&nbsp;close&#8203;(long&nbsp;timeout,
java.util.concurrent.TimeUnit&nbsp;timeUnit)</pre>
<div class="block">Shutdown this <code>KafkaStreams</code> by signaling all the threads to stop, and then wait up to the timeout for the
threads to join.
A <code>timeout</code> of 0 means to wait forever.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>timeout</code> - how long to wait for the threads to shutdown</dd>
<dd><code>timeUnit</code> - unit of time used for timeout</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if all threads were successfully stopped&mdash;<code>false</code> if the timeout was reached
before all threads stopped
Note that this method must not be called in the <code>onChange</code> callback of <a href="../../../../org/apache/kafka/streams/KafkaStreams.StateListener.html" title="interface in org.apache.kafka.streams"><code>KafkaStreams.StateListener</code></a>.</dd>
</dl>
</li>
</ul>
<a name="toString--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>@Deprecated
public&nbsp;java.lang.String&nbsp;toString&#8203;()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Use <a href="../../../../org/apache/kafka/streams/KafkaStreams.html#localThreadsMetadata--"><code>localThreadsMetadata()</code></a> to retrieve runtime information.</span></div>
<div class="block">Produce a string representation containing useful information about this <code>KafkaStream</code> instance such as
thread IDs, task IDs, and a representation of the topology DAG including <a href="../../../../org/apache/kafka/streams/processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a>s (cf.
<a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams"><code>Topology</code></a> and <a href="../../../../org/apache/kafka/streams/StreamsBuilder.html" title="class in org.apache.kafka.streams"><code>StreamsBuilder</code></a>).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A string representation of the Kafka Streams instance.</dd>
</dl>
</li>
</ul>
<a name="toString-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>@Deprecated
public&nbsp;java.lang.String&nbsp;toString&#8203;(java.lang.String&nbsp;indent)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Use <a href="../../../../org/apache/kafka/streams/KafkaStreams.html#localThreadsMetadata--"><code>localThreadsMetadata()</code></a> to retrieve runtime information.</span></div>
<div class="block">Produce a string representation containing useful information about this <code>KafkaStream</code> instance such as
thread IDs, task IDs, and a representation of the topology DAG including <a href="../../../../org/apache/kafka/streams/processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a>s (cf.
<a href="../../../../org/apache/kafka/streams/Topology.html" title="class in org.apache.kafka.streams"><code>Topology</code></a> and <a href="../../../../org/apache/kafka/streams/StreamsBuilder.html" title="class in org.apache.kafka.streams"><code>StreamsBuilder</code></a>).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>indent</code> - the top-level indent for each line</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A string representation of the Kafka Streams instance.</dd>
</dl>
</li>
</ul>
<a name="cleanUp--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cleanUp</h4>
<pre>public&nbsp;void&nbsp;cleanUp&#8203;()</pre>
<div class="block">Do a clean up of the local <a href="../../../../org/apache/kafka/streams/processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> directory (<a href="../../../../org/apache/kafka/streams/StreamsConfig.html#STATE_DIR_CONFIG"><code>StreamsConfig.STATE_DIR_CONFIG</code></a>) by deleting all
data with regard to the <a href="../../../../org/apache/kafka/streams/StreamsConfig.html#APPLICATION_ID_CONFIG"><code>application ID</code></a>.
<p>
May only be called either before this <code>KafkaStreams</code> instance is <a href="../../../../org/apache/kafka/streams/KafkaStreams.html#start--"><code>started</code></a> or after the
instance is <a href="../../../../org/apache/kafka/streams/KafkaStreams.html#close--"><code>closed</code></a>.
<p>
Calling this method triggers a restore of local <a href="../../../../org/apache/kafka/streams/processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a>s on the next <a href="../../../../org/apache/kafka/streams/KafkaStreams.html#start--"><code>application start</code></a>.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalStateException</code> - if this <code>KafkaStreams</code> instance is currently <a href="../../../../org/apache/kafka/streams/KafkaStreams.State.html#RUNNING"><code>running</code></a></dd>
<dd><code><a href="../../../../org/apache/kafka/streams/errors/StreamsException.html" title="class in org.apache.kafka.streams.errors">StreamsException</a></code> - if cleanup failed</dd>
</dl>
</li>
</ul>
<a name="allMetadata--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>allMetadata</h4>
<pre>public&nbsp;java.util.Collection&lt;<a href="../../../../org/apache/kafka/streams/state/StreamsMetadata.html" title="class in org.apache.kafka.streams.state">StreamsMetadata</a>&gt;&nbsp;allMetadata&#8203;()</pre>
<div class="block">Find all currently running <code>KafkaStreams</code> instances (potentially remotely) that use the same
<a href="../../../../org/apache/kafka/streams/StreamsConfig.html#APPLICATION_ID_CONFIG"><code>application ID</code></a> as this instance (i.e., all instances that belong to
the same Kafka Streams application) and return <a href="../../../../org/apache/kafka/streams/state/StreamsMetadata.html" title="class in org.apache.kafka.streams.state"><code>StreamsMetadata</code></a> for each discovered instance.
<p>
Note: this is a point in time view and it may change due to partition reassignment.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><a href="../../../../org/apache/kafka/streams/state/StreamsMetadata.html" title="class in org.apache.kafka.streams.state"><code>StreamsMetadata</code></a> for each <code>KafkaStreams</code> instances of this application</dd>
</dl>
</li>
</ul>
<a name="allMetadataForStore-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>allMetadataForStore</h4>
<pre>public&nbsp;java.util.Collection&lt;<a href="../../../../org/apache/kafka/streams/state/StreamsMetadata.html" title="class in org.apache.kafka.streams.state">StreamsMetadata</a>&gt;&nbsp;allMetadataForStore&#8203;(java.lang.String&nbsp;storeName)</pre>
<div class="block">Find all currently running <code>KafkaStreams</code> instances (potentially remotely) that
<ul>
<li>use the same <a href="../../../../org/apache/kafka/streams/StreamsConfig.html#APPLICATION_ID_CONFIG"><code>application ID</code></a> as this instance (i.e., all
instances that belong to the same Kafka Streams application)</li>
<li>and that contain a <a href="../../../../org/apache/kafka/streams/processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> with the given <code>storeName</code></li>
</ul>
and return <a href="../../../../org/apache/kafka/streams/state/StreamsMetadata.html" title="class in org.apache.kafka.streams.state"><code>StreamsMetadata</code></a> for each discovered instance.
<p>
Note: this is a point in time view and it may change due to partition reassignment.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>storeName</code> - the <code>storeName</code> to find metadata for</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><a href="../../../../org/apache/kafka/streams/state/StreamsMetadata.html" title="class in org.apache.kafka.streams.state"><code>StreamsMetadata</code></a> for each <code>KafkaStreams</code> instances with the provide <code>storeName</code> of
this application</dd>
</dl>
</li>
</ul>
<a name="metadataForKey-java.lang.String-java.lang.Object-org.apache.kafka.common.serialization.Serializer-">
<!-- -->
</a><a name="metadataForKey-java.lang.String-K-org.apache.kafka.common.serialization.Serializer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>metadataForKey</h4>
<pre>public&nbsp;&lt;K&gt;&nbsp;<a href="../../../../org/apache/kafka/streams/state/StreamsMetadata.html" title="class in org.apache.kafka.streams.state">StreamsMetadata</a>&nbsp;metadataForKey&#8203;(java.lang.String&nbsp;storeName,
K&nbsp;key,
<a href="../../../../org/apache/kafka/common/serialization/Serializer.html" title="interface in org.apache.kafka.common.serialization">Serializer</a>&lt;K&gt;&nbsp;keySerializer)</pre>
<div class="block">Find the currently running <code>KafkaStreams</code> instance (potentially remotely) that
<ul>
<li>use the same <a href="../../../../org/apache/kafka/streams/StreamsConfig.html#APPLICATION_ID_CONFIG"><code>application ID</code></a> as this instance (i.e., all
instances that belong to the same Kafka Streams application)</li>
<li>and that contain a <a href="../../../../org/apache/kafka/streams/processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> with the given <code>storeName</code></li>
<li>and the <a href="../../../../org/apache/kafka/streams/processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> contains the given <code>key</code></li>
</ul>
and return <a href="../../../../org/apache/kafka/streams/state/StreamsMetadata.html" title="class in org.apache.kafka.streams.state"><code>StreamsMetadata</code></a> for it.
<p>
This will use the default Kafka Streams partitioner to locate the partition.
If a <a href="../../../../org/apache/kafka/streams/processor/StreamPartitioner.html" title="interface in org.apache.kafka.streams.processor"><code>custom partitioner</code></a> has been
<a href="../../../../org/apache/kafka/clients/producer/ProducerConfig.html#PARTITIONER_CLASS_CONFIG"><code>configured</code></a> via <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/kstream/KStream.html#through-java.lang.String-org.apache.kafka.streams.kstream.Produced-"><code>KStream.through(String, Produced)</code></a>, or if the original <a href="../../../../org/apache/kafka/streams/kstream/KTable.html" title="interface in org.apache.kafka.streams.kstream"><code>KTable</code></a>'s input
<a href="../../../../org/apache/kafka/streams/StreamsBuilder.html#table-java.lang.String-"><code>topic</code></a> is partitioned differently, please use
<a href="../../../../org/apache/kafka/streams/KafkaStreams.html#metadataForKey-java.lang.String-K-org.apache.kafka.streams.processor.StreamPartitioner-"><code>metadataForKey(String, Object, StreamPartitioner)</code></a>.
<p>
Note:
<ul>
<li>this is a point in time view and it may change due to partition reassignment</li>
<li>the key may not exist in the <a href="../../../../org/apache/kafka/streams/processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a>; this method provides a way of finding which host it
<em>would</em> exist on</li>
<li>if this is for a window store the serializer should be the serializer for the record key,
not the window serializer</li>
</ul></div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>K</code> - key type</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>storeName</code> - the <code>storeName</code> to find metadata for</dd>
<dd><code>key</code> - the key to find metadata for</dd>
<dd><code>keySerializer</code> - serializer for the key</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><a href="../../../../org/apache/kafka/streams/state/StreamsMetadata.html" title="class in org.apache.kafka.streams.state"><code>StreamsMetadata</code></a> for the <code>KafkaStreams</code> instance with the provide <code>storeName</code> and
<code>key</code> of this application or <a href="../../../../org/apache/kafka/streams/state/StreamsMetadata.html#NOT_AVAILABLE"><code>StreamsMetadata.NOT_AVAILABLE</code></a> if Kafka Streams is (re-)initializing</dd>
</dl>
</li>
</ul>
<a name="metadataForKey-java.lang.String-java.lang.Object-org.apache.kafka.streams.processor.StreamPartitioner-">
<!-- -->
</a><a name="metadataForKey-java.lang.String-K-org.apache.kafka.streams.processor.StreamPartitioner-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>metadataForKey</h4>
<pre>public&nbsp;&lt;K&gt;&nbsp;<a href="../../../../org/apache/kafka/streams/state/StreamsMetadata.html" title="class in org.apache.kafka.streams.state">StreamsMetadata</a>&nbsp;metadataForKey&#8203;(java.lang.String&nbsp;storeName,
K&nbsp;key,
<a href="../../../../org/apache/kafka/streams/processor/StreamPartitioner.html" title="interface in org.apache.kafka.streams.processor">StreamPartitioner</a>&lt;? super K,?&gt;&nbsp;partitioner)</pre>
<div class="block">Find the currently running <code>KafkaStreams</code> instance (potentially remotely) that
<ul>
<li>use the same <a href="../../../../org/apache/kafka/streams/StreamsConfig.html#APPLICATION_ID_CONFIG"><code>application ID</code></a> as this instance (i.e., all
instances that belong to the same Kafka Streams application)</li>
<li>and that contain a <a href="../../../../org/apache/kafka/streams/processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> with the given <code>storeName</code></li>
<li>and the <a href="../../../../org/apache/kafka/streams/processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> contains the given <code>key</code></li>
</ul>
and return <a href="../../../../org/apache/kafka/streams/state/StreamsMetadata.html" title="class in org.apache.kafka.streams.state"><code>StreamsMetadata</code></a> for it.
<p>
Note:
<ul>
<li>this is a point in time view and it may change due to partition reassignment</li>
<li>the key may not exist in the <a href="../../../../org/apache/kafka/streams/processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a>; this method provides a way of finding which host it
<em>would</em> exist on</li>
</ul></div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>K</code> - key type</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>storeName</code> - the <code>storeName</code> to find metadata for</dd>
<dd><code>key</code> - the key to find metadata for</dd>
<dd><code>partitioner</code> - the partitioner to be use to locate the host for the key</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><a href="../../../../org/apache/kafka/streams/state/StreamsMetadata.html" title="class in org.apache.kafka.streams.state"><code>StreamsMetadata</code></a> for the <code>KafkaStreams</code> instance with the provide <code>storeName</code> and
<code>key</code> of this application or <a href="../../../../org/apache/kafka/streams/state/StreamsMetadata.html#NOT_AVAILABLE"><code>StreamsMetadata.NOT_AVAILABLE</code></a> if Kafka Streams is (re-)initializing</dd>
</dl>
</li>
</ul>
<a name="store-java.lang.String-org.apache.kafka.streams.state.QueryableStoreType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>store</h4>
<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;store&#8203;(java.lang.String&nbsp;storeName,
<a href="../../../../org/apache/kafka/streams/state/QueryableStoreType.html" title="interface in org.apache.kafka.streams.state">QueryableStoreType</a>&lt;T&gt;&nbsp;queryableStoreType)</pre>
<div class="block">Get a facade wrapping the local <a href="../../../../org/apache/kafka/streams/processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> instances with the provided <code>storeName</code> if the Store's
type is accepted by the provided <a href="../../../../org/apache/kafka/streams/state/QueryableStoreType.html#accepts-org.apache.kafka.streams.processor.StateStore-"><code>queryableStoreType</code></a>.
The returned object can be used to query the <a href="../../../../org/apache/kafka/streams/processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> instances.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - return type</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>storeName</code> - name of the store to find</dd>
<dd><code>queryableStoreType</code> - accept only stores that are accepted by <a href="../../../../org/apache/kafka/streams/state/QueryableStoreType.html#accepts-org.apache.kafka.streams.processor.StateStore-"><code>QueryableStoreType.accepts(StateStore)</code></a></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A facade wrapping the local <a href="../../../../org/apache/kafka/streams/processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> instances</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/kafka/streams/errors/InvalidStateStoreException.html" title="class in org.apache.kafka.streams.errors">InvalidStateStoreException</a></code> - if Kafka Streams is (re-)initializing or a store with <code>storeName</code> and
<code>queryableStoreType</code> doesnt' exist</dd>
</dl>
</li>
</ul>
<a name="localThreadsMetadata--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>localThreadsMetadata</h4>
<pre>public&nbsp;java.util.Set&lt;<a href="../../../../org/apache/kafka/streams/processor/ThreadMetadata.html" title="class in org.apache.kafka.streams.processor">ThreadMetadata</a>&gt;&nbsp;localThreadsMetadata&#8203;()</pre>
<div class="block">Returns runtime information about the local threads of this <a href="../../../../org/apache/kafka/streams/KafkaStreams.html" title="class in org.apache.kafka.streams"><code>KafkaStreams</code></a> instance.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the set of <a href="../../../../org/apache/kafka/streams/processor/ThreadMetadata.html" title="class in org.apache.kafka.streams.processor"><code>ThreadMetadata</code></a>.</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/KafkaClientSupplier.html" title="interface in org.apache.kafka.streams"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/kafka/streams/KafkaStreams.State.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/KafkaStreams.html" target="_top">Frames</a></li>
<li><a href="KafkaStreams.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>