<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_152) on Mon Apr 02 22:48:14 UTC 2018 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Index (streams-persist-kinesis 0.5.2-SNAPSHOT API)</title>
<meta name="date" content="2018-04-02">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="Index (streams-persist-kinesis 0.5.2-SNAPSHOT API)";
        }
    }
    catch(err) {
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="org/apache/streams/amazon/kinesis/package-summary.html">Package</a></li>
<li>Class</li>
<li>Use</li>
<li><a href="org/apache/streams/amazon/kinesis/package-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?index-all.html" target="_top">Frames</a></li>
<li><a href="index-all.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="contentContainer"><a href="#I:C">C</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:K">K</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:V">V</a>&nbsp;<a href="#I:W">W</a>&nbsp;<a name="I:C">
<!--   -->
</a>
<h2 class="title">C</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisPersistReader.html#cleanUp--">cleanUp()</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisPersistReader.html" title="class in org.apache.streams.amazon.kinesis">KinesisPersistReader</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisPersistWriter.html#cleanUp--">cleanUp()</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisPersistWriter.html" title="class in org.apache.streams.amazon.kinesis">KinesisPersistWriter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisPersistReader.html#client">client</a></span> - Variable in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisPersistReader.html" title="class in org.apache.streams.amazon.kinesis">KinesisPersistReader</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisPersistWriter.html#client">client</a></span> - Variable in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisPersistWriter.html" title="class in org.apache.streams.amazon.kinesis">KinesisPersistWriter</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:E">
<!--   -->
</a>
<h2 class="title">E</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisReaderConfiguration.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisReaderConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisReaderConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisWriterConfiguration.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisWriterConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisWriterConfiguration</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:F">
<!--   -->
</a>
<h2 class="title">F</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.Protocol.html#fromValue-java.lang.String-">fromValue(String)</a></span> - Static method in enum org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.Protocol.html" title="enum in org.apache.streams.amazon.kinesis">KinesisConfiguration.Protocol</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:G">
<!--   -->
</a>
<h2 class="title">G</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html#getAdditionalProperties--">getAdditionalProperties()</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisReaderConfiguration.html#getAdditionalProperties--">getAdditionalProperties()</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisReaderConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisReaderConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisWriterConfiguration.html#getAdditionalProperties--">getAdditionalProperties()</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisWriterConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisWriterConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisPersistReader.html#getId--">getId()</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisPersistReader.html" title="class in org.apache.streams.amazon.kinesis">KinesisPersistReader</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisPersistWriter.html#getId--">getId()</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisPersistWriter.html" title="class in org.apache.streams.amazon.kinesis">KinesisPersistWriter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html#getKey--">getKey()</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisConfiguration</a></dt>
<dd>
<div class="block">Your Amazon Key
 (Required)</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html#getProtocol--">getProtocol()</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisConfiguration</a></dt>
<dd>
<div class="block">Whether you are using HTTP or HTTPS</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html#getRegion--">getRegion()</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisConfiguration</a></dt>
<dd>
<div class="block">The AWS region where your bucket resides</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html#getSecretKey--">getSecretKey()</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisConfiguration</a></dt>
<dd>
<div class="block">Your Amazon Secret Key
 (Required)</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisWriterConfiguration.html#getStream--">getStream()</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisWriterConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisWriterConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisReaderConfiguration.html#getStreams--">getStreams()</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisReaderConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisReaderConfiguration</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:H">
<!--   -->
</a>
<h2 class="title">H</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html#hashCode--">hashCode()</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisReaderConfiguration.html#hashCode--">hashCode()</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisReaderConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisReaderConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisWriterConfiguration.html#hashCode--">hashCode()</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisWriterConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisWriterConfiguration</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:I">
<!--   -->
</a>
<h2 class="title">I</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisPersistReader.html#isRunning--">isRunning()</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisPersistReader.html" title="class in org.apache.streams.amazon.kinesis">KinesisPersistReader</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:K">
<!--   -->
</a>
<h2 class="title">K</h2>
<dl>
<dt><a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html" title="class in org.apache.streams.amazon.kinesis"><span class="typeNameLink">KinesisConfiguration</span></a> - Class in <a href="org/apache/streams/amazon/kinesis/package-summary.html">org.apache.streams.amazon.kinesis</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html#KinesisConfiguration--">KinesisConfiguration()</a></span> - Constructor for class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.Protocol.html" title="enum in org.apache.streams.amazon.kinesis"><span class="typeNameLink">KinesisConfiguration.Protocol</span></a> - Enum in <a href="org/apache/streams/amazon/kinesis/package-summary.html">org.apache.streams.amazon.kinesis</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/streams/amazon/kinesis/KinesisPersistReader.html" title="class in org.apache.streams.amazon.kinesis"><span class="typeNameLink">KinesisPersistReader</span></a> - Class in <a href="org/apache/streams/amazon/kinesis/package-summary.html">org.apache.streams.amazon.kinesis</a></dt>
<dd>
<div class="block">KinesisPersistReader reads documents from kinesis.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisPersistReader.html#KinesisPersistReader--">KinesisPersistReader()</a></span> - Constructor for class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisPersistReader.html" title="class in org.apache.streams.amazon.kinesis">KinesisPersistReader</a></dt>
<dd>
<div class="block">KinesisPersistReader constructor - resolves KinesisReaderConfiguration from JVM 'kinesis'.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisPersistReader.html#KinesisPersistReader-org.apache.streams.amazon.kinesis.KinesisReaderConfiguration-">KinesisPersistReader(KinesisReaderConfiguration)</a></span> - Constructor for class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisPersistReader.html" title="class in org.apache.streams.amazon.kinesis">KinesisPersistReader</a></dt>
<dd>
<div class="block">KinesisPersistReader constructor - uses provided KinesisReaderConfiguration.</div>
</dd>
<dt><a href="org/apache/streams/amazon/kinesis/KinesisPersistReaderTask.html" title="class in org.apache.streams.amazon.kinesis"><span class="typeNameLink">KinesisPersistReaderTask</span></a> - Class in <a href="org/apache/streams/amazon/kinesis/package-summary.html">org.apache.streams.amazon.kinesis</a></dt>
<dd>
<div class="block">KinesisPersistReaderTask reads documents from kinesis on behalf of</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisPersistReaderTask.html#KinesisPersistReaderTask-org.apache.streams.amazon.kinesis.KinesisPersistReader-java.lang.String-java.lang.String-">KinesisPersistReaderTask(KinesisPersistReader, String, String)</a></span> - Constructor for class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisPersistReaderTask.html" title="class in org.apache.streams.amazon.kinesis">KinesisPersistReaderTask</a></dt>
<dd>
<div class="block">KinesisPersistReaderTask constructor.</div>
</dd>
<dt><a href="org/apache/streams/amazon/kinesis/KinesisPersistWriter.html" title="class in org.apache.streams.amazon.kinesis"><span class="typeNameLink">KinesisPersistWriter</span></a> - Class in <a href="org/apache/streams/amazon/kinesis/package-summary.html">org.apache.streams.amazon.kinesis</a></dt>
<dd>
<div class="block">KinesisPersistWriter writes documents to kinesis.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisPersistWriter.html#KinesisPersistWriter--">KinesisPersistWriter()</a></span> - Constructor for class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisPersistWriter.html" title="class in org.apache.streams.amazon.kinesis">KinesisPersistWriter</a></dt>
<dd>
<div class="block">KinesisPersistWriter constructor - resolves KinesisWriterConfiguration from JVM 'kinesis'.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisPersistWriter.html#KinesisPersistWriter-org.apache.streams.amazon.kinesis.KinesisWriterConfiguration-">KinesisPersistWriter(KinesisWriterConfiguration)</a></span> - Constructor for class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisPersistWriter.html" title="class in org.apache.streams.amazon.kinesis">KinesisPersistWriter</a></dt>
<dd>
<div class="block">KinesisPersistWriter constructor - uses provided KinesisWriterConfiguration.</div>
</dd>
<dt><a href="org/apache/streams/amazon/kinesis/KinesisReaderConfiguration.html" title="class in org.apache.streams.amazon.kinesis"><span class="typeNameLink">KinesisReaderConfiguration</span></a> - Class in <a href="org/apache/streams/amazon/kinesis/package-summary.html">org.apache.streams.amazon.kinesis</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisReaderConfiguration.html#KinesisReaderConfiguration--">KinesisReaderConfiguration()</a></span> - Constructor for class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisReaderConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisReaderConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/streams/amazon/kinesis/KinesisWriterConfiguration.html" title="class in org.apache.streams.amazon.kinesis"><span class="typeNameLink">KinesisWriterConfiguration</span></a> - Class in <a href="org/apache/streams/amazon/kinesis/package-summary.html">org.apache.streams.amazon.kinesis</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisWriterConfiguration.html#KinesisWriterConfiguration--">KinesisWriterConfiguration()</a></span> - Constructor for class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisWriterConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisWriterConfiguration</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:O">
<!--   -->
</a>
<h2 class="title">O</h2>
<dl>
<dt><a href="org/apache/streams/amazon/kinesis/package-summary.html">org.apache.streams.amazon.kinesis</a> - package org.apache.streams.amazon.kinesis</dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:P">
<!--   -->
</a>
<h2 class="title">P</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisPersistReader.html#persistQueue">persistQueue</a></span> - Variable in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisPersistReader.html" title="class in org.apache.streams.amazon.kinesis">KinesisPersistReader</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisPersistWriter.html#persistQueue">persistQueue</a></span> - Variable in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisPersistWriter.html" title="class in org.apache.streams.amazon.kinesis">KinesisPersistWriter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisPersistReader.html#pollInterval">pollInterval</a></span> - Variable in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisPersistReader.html" title="class in org.apache.streams.amazon.kinesis">KinesisPersistReader</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisPersistReader.html#prepare-java.lang.Object-">prepare(Object)</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisPersistReader.html" title="class in org.apache.streams.amazon.kinesis">KinesisPersistReader</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisPersistWriter.html#prepare-java.lang.Object-">prepare(Object)</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisPersistWriter.html" title="class in org.apache.streams.amazon.kinesis">KinesisPersistWriter</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:R">
<!--   -->
</a>
<h2 class="title">R</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisPersistReader.html#readAll--">readAll()</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisPersistReader.html" title="class in org.apache.streams.amazon.kinesis">KinesisPersistReader</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisPersistReader.html#readCurrent--">readCurrent()</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisPersistReader.html" title="class in org.apache.streams.amazon.kinesis">KinesisPersistReader</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisPersistReader.html#readNew-java.math.BigInteger-">readNew(BigInteger)</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisPersistReader.html" title="class in org.apache.streams.amazon.kinesis">KinesisPersistReader</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisPersistReader.html#readRange-org.joda.time.DateTime-org.joda.time.DateTime-">readRange(DateTime, DateTime)</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisPersistReader.html" title="class in org.apache.streams.amazon.kinesis">KinesisPersistReader</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisPersistReaderTask.html#run--">run()</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisPersistReaderTask.html" title="class in org.apache.streams.amazon.kinesis">KinesisPersistReaderTask</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:S">
<!--   -->
</a>
<h2 class="title">S</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html#setAdditionalProperty-java.lang.String-java.lang.Object-">setAdditionalProperty(String, Object)</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisReaderConfiguration.html#setAdditionalProperty-java.lang.String-java.lang.Object-">setAdditionalProperty(String, Object)</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisReaderConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisReaderConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisWriterConfiguration.html#setAdditionalProperty-java.lang.String-java.lang.Object-">setAdditionalProperty(String, Object)</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisWriterConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisWriterConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisPersistReader.html#setConfig-org.apache.streams.amazon.kinesis.KinesisReaderConfiguration-">setConfig(KinesisReaderConfiguration)</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisPersistReader.html" title="class in org.apache.streams.amazon.kinesis">KinesisPersistReader</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisPersistWriter.html#setConfig-org.apache.streams.amazon.kinesis.KinesisWriterConfiguration-">setConfig(KinesisWriterConfiguration)</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisPersistWriter.html" title="class in org.apache.streams.amazon.kinesis">KinesisPersistWriter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html#setKey-java.lang.String-">setKey(String)</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisConfiguration</a></dt>
<dd>
<div class="block">Your Amazon Key
 (Required)</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html#setProtocol-org.apache.streams.amazon.kinesis.KinesisConfiguration.Protocol-">setProtocol(KinesisConfiguration.Protocol)</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisConfiguration</a></dt>
<dd>
<div class="block">Whether you are using HTTP or HTTPS</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html#setRegion-java.lang.String-">setRegion(String)</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisConfiguration</a></dt>
<dd>
<div class="block">The AWS region where your bucket resides</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html#setSecretKey-java.lang.String-">setSecretKey(String)</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisConfiguration</a></dt>
<dd>
<div class="block">Your Amazon Secret Key
 (Required)</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisWriterConfiguration.html#setStream-java.lang.String-">setStream(String)</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisWriterConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisWriterConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisReaderConfiguration.html#setStreams-java.util.List-">setStreams(List&lt;String&gt;)</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisReaderConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisReaderConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisPersistReader.html#startStream--">startStream()</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisPersistReader.html" title="class in org.apache.streams.amazon.kinesis">KinesisPersistReader</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisPersistReader.html#STREAMS_ID">STREAMS_ID</a></span> - Static variable in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisPersistReader.html" title="class in org.apache.streams.amazon.kinesis">KinesisPersistReader</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisPersistWriter.html#STREAMS_ID">STREAMS_ID</a></span> - Static variable in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisPersistWriter.html" title="class in org.apache.streams.amazon.kinesis">KinesisPersistWriter</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:T">
<!--   -->
</a>
<h2 class="title">T</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.Protocol.html#toString--">toString()</a></span> - Method in enum org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.Protocol.html" title="enum in org.apache.streams.amazon.kinesis">KinesisConfiguration.Protocol</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html#toString--">toString()</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisReaderConfiguration.html#toString--">toString()</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisReaderConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisReaderConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisWriterConfiguration.html#toString--">toString()</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisWriterConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisWriterConfiguration</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:V">
<!--   -->
</a>
<h2 class="title">V</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.Protocol.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.Protocol.html" title="enum in org.apache.streams.amazon.kinesis">KinesisConfiguration.Protocol</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.Protocol.html#values--">values()</a></span> - Static method in enum org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.Protocol.html" title="enum in org.apache.streams.amazon.kinesis">KinesisConfiguration.Protocol</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
</dl>
<a name="I:W">
<!--   -->
</a>
<h2 class="title">W</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html#withAdditionalProperty-java.lang.String-java.lang.Object-">withAdditionalProperty(String, Object)</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisReaderConfiguration.html#withAdditionalProperty-java.lang.String-java.lang.Object-">withAdditionalProperty(String, Object)</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisReaderConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisReaderConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisWriterConfiguration.html#withAdditionalProperty-java.lang.String-java.lang.Object-">withAdditionalProperty(String, Object)</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisWriterConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisWriterConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html#withKey-java.lang.String-">withKey(String)</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html#withProtocol-org.apache.streams.amazon.kinesis.KinesisConfiguration.Protocol-">withProtocol(KinesisConfiguration.Protocol)</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html#withRegion-java.lang.String-">withRegion(String)</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html#withSecretKey-java.lang.String-">withSecretKey(String)</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisWriterConfiguration.html#withStream-java.lang.String-">withStream(String)</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisWriterConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisWriterConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisReaderConfiguration.html#withStreams-java.util.List-">withStreams(List&lt;String&gt;)</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisReaderConfiguration.html" title="class in org.apache.streams.amazon.kinesis">KinesisReaderConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/streams/amazon/kinesis/KinesisPersistWriter.html#write-org.apache.streams.core.StreamsDatum-">write(StreamsDatum)</a></span> - Method in class org.apache.streams.amazon.kinesis.<a href="org/apache/streams/amazon/kinesis/KinesisPersistWriter.html" title="class in org.apache.streams.amazon.kinesis">KinesisPersistWriter</a></dt>
<dd>&nbsp;</dd>
</dl>
<a href="#I:C">C</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:K">K</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:V">V</a>&nbsp;<a href="#I:W">W</a>&nbsp;</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="org/apache/streams/amazon/kinesis/package-summary.html">Package</a></li>
<li>Class</li>
<li>Use</li>
<li><a href="org/apache/streams/amazon/kinesis/package-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?index-all.html" target="_top">Frames</a></li>
<li><a href="index-all.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>