<!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_102) on Mon Oct 03 08:48:22 EDT 2016 -->
<title>S-Index</title>
<meta name="date" content="2016-10-03">
<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="S-Index";
        }
    }
    catch(err) {
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../overview-summary.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="../overview-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><a href="index-18.html">Prev Letter</a></li>
<li><a href="index-20.html">Next Letter</a></li>
</ul>
<ul class="navList">
<li><a href="../index.html?index-files/index-19.html" target="_top">Frames</a></li>
<li><a href="index-19.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="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">J</a>&nbsp;<a href="index-11.html">K</a>&nbsp;<a href="index-12.html">L</a>&nbsp;<a href="index-13.html">M</a>&nbsp;<a href="index-14.html">N</a>&nbsp;<a href="index-15.html">O</a>&nbsp;<a href="index-16.html">P</a>&nbsp;<a href="index-17.html">Q</a>&nbsp;<a href="index-18.html">R</a>&nbsp;<a href="index-19.html">S</a>&nbsp;<a href="index-20.html">T</a>&nbsp;<a href="index-21.html">U</a>&nbsp;<a href="index-22.html">V</a>&nbsp;<a href="index-23.html">W</a>&nbsp;<a name="I:S">
<!--   -->
</a>
<h2 class="title">S</h2>
<dl>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/response/QueryResponseJSON.html#SELECTOR">SELECTOR</a></span> - Static variable in class org.apache.pirk.schema.response.<a href="../org/apache/pirk/schema/response/QueryResponseJSON.html" title="class in org.apache.pirk.schema.response">QueryResponseJSON</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../org/apache/pirk/serialization/SerializationService.html" title="class in org.apache.pirk.serialization"><span class="typeNameLink">SerializationService</span></a> - Class in <a href="../org/apache/pirk/serialization/package-summary.html">org.apache.pirk.serialization</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/serialization/SerializationService.html#SerializationService--">SerializationService()</a></span> - Constructor for class org.apache.pirk.serialization.<a href="../org/apache/pirk/serialization/SerializationService.html" title="class in org.apache.pirk.serialization">SerializationService</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../org/apache/pirk/serialization/SerializationTest.html" title="class in org.apache.pirk.serialization"><span class="typeNameLink">SerializationTest</span></a> - Class in <a href="../org/apache/pirk/serialization/package-summary.html">org.apache.pirk.serialization</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/serialization/SerializationTest.html#SerializationTest--">SerializationTest()</a></span> - Constructor for class org.apache.pirk.serialization.<a href="../org/apache/pirk/serialization/SerializationTest.html" title="class in org.apache.pirk.serialization">SerializationTest</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/utils/CSVOutputUtils.html#setCSVOutput-java.lang.String-java.lang.String-java.lang.String-">setCSVOutput(String, String, String)</a></span> - Static method in class org.apache.pirk.utils.<a href="../org/apache/pirk/utils/CSVOutputUtils.html" title="class in org.apache.pirk.utils">CSVOutputUtils</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/utils/CSVOutputUtils.html#setCSVOutput-java.lang.String-java.lang.String-java.lang.String-java.lang.String-">setCSVOutput(String, String, String, String)</a></span> - Static method in class org.apache.pirk.utils.<a href="../org/apache/pirk/utils/CSVOutputUtils.html" title="class in org.apache.pirk.utils">CSVOutputUtils</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/utils/CSVOutputUtils.html#setCSVOutput-org.apache.hadoop.io.Text-java.lang.String-java.lang.String-java.lang.String-">setCSVOutput(Text, String, String, String)</a></span> - Static method in class org.apache.pirk.utils.<a href="../org/apache/pirk/utils/CSVOutputUtils.html" title="class in org.apache.pirk.utils">CSVOutputUtils</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/utils/CSVOutputUtils.html#setCSVOutput-org.apache.hadoop.io.Text-java.lang.String-java.lang.String-java.lang.String-java.lang.String-">setCSVOutput(Text, String, String, String, String)</a></span> - Static method in class org.apache.pirk.utils.<a href="../org/apache/pirk/utils/CSVOutputUtils.html" title="class in org.apache.pirk.utils">CSVOutputUtils</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/spark/BroadcastVars.html#setDataSchema-org.apache.pirk.schema.data.DataSchema-">setDataSchema(DataSchema)</a></span> - Method in class org.apache.pirk.responder.wideskies.spark.<a href="../org/apache/pirk/responder/wideskies/spark/BroadcastVars.html" title="class in org.apache.pirk.responder.wideskies.spark">BroadcastVars</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/spark/BroadcastVars.html#setExpDir-java.lang.String-">setExpDir(String)</a></span> - Method in class org.apache.pirk.responder.wideskies.spark.<a href="../org/apache/pirk/responder/wideskies/spark/BroadcastVars.html" title="class in org.apache.pirk.responder.wideskies.spark">BroadcastVars</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/query/wideskies/Query.html#setExpFileBasedLookup-java.util.Map-">setExpFileBasedLookup(Map&lt;Integer, String&gt;)</a></span> - Method in class org.apache.pirk.query.wideskies.<a href="../org/apache/pirk/query/wideskies/Query.html" title="class in org.apache.pirk.query.wideskies">Query</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/utils/CSVOutputUtils.html#setFullCSVLine-int-java.lang.String-java.lang.String-java.lang.String-">setFullCSVLine(int, String, String, String)</a></span> - Static method in class org.apache.pirk.utils.<a href="../org/apache/pirk/utils/CSVOutputUtils.html" title="class in org.apache.pirk.utils">CSVOutputUtils</a></dt>
<dd>
<div class="block">Used for testing</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/utils/CSVOutputUtils.html#setFullCSVLine-int-java.lang.String-java.lang.String-java.lang.String-java.lang.String-">setFullCSVLine(int, String, String, String, String)</a></span> - Static method in class org.apache.pirk.utils.<a href="../org/apache/pirk/utils/CSVOutputUtils.html" title="class in org.apache.pirk.utils">CSVOutputUtils</a></dt>
<dd>
<div class="block">Used for testing</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/utils/CSVOutputUtils.html#setFullCSVLine-java.lang.String-java.lang.String-java.lang.String-java.lang.String-">setFullCSVLine(String, String, String, String)</a></span> - Static method in class org.apache.pirk.utils.<a href="../org/apache/pirk/utils/CSVOutputUtils.html" title="class in org.apache.pirk.utils">CSVOutputUtils</a></dt>
<dd>
<div class="block">Used for testing</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/response/QueryResponseJSON.html#setGeneralQueryResponseFields-org.apache.pirk.query.wideskies.QueryInfo-">setGeneralQueryResponseFields(QueryInfo)</a></span> - Method in class org.apache.pirk.schema.response.<a href="../org/apache/pirk/schema/response/QueryResponseJSON.html" title="class in org.apache.pirk.schema.response">QueryResponseJSON</a></dt>
<dd>
<div class="block">Method to set the common query response fields</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/spark/BroadcastVars.html#setLimitHitsPerSelector-java.lang.Boolean-">setLimitHitsPerSelector(Boolean)</a></span> - Method in class org.apache.pirk.responder.wideskies.spark.<a href="../org/apache/pirk/responder/wideskies/spark/BroadcastVars.html" title="class in org.apache.pirk.responder.wideskies.spark">BroadcastVars</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/response/QueryResponseJSON.html#setMapping-java.lang.String-java.lang.Object-">setMapping(String, Object)</a></span> - Method in class org.apache.pirk.schema.response.<a href="../org/apache/pirk/schema/response/QueryResponseJSON.html" title="class in org.apache.pirk.schema.response">QueryResponseJSON</a></dt>
<dd>
<div class="block">Add a <key,value> pair to the response object; checks the data schema if this QueryResponseJSON object was instantiated with schema checking (with a
 QueryInfo object)</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/spark/BroadcastVars.html#setMaxBatches-java.lang.Integer-">setMaxBatches(Integer)</a></span> - Method in class org.apache.pirk.responder.wideskies.spark.<a href="../org/apache/pirk/responder/wideskies/spark/BroadcastVars.html" title="class in org.apache.pirk.responder.wideskies.spark">BroadcastVars</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/spark/BroadcastVars.html#setMaxHitsPerSelector-java.lang.Integer-">setMaxHitsPerSelector(Integer)</a></span> - Method in class org.apache.pirk.responder.wideskies.spark.<a href="../org/apache/pirk/responder/wideskies/spark/BroadcastVars.html" title="class in org.apache.pirk.responder.wideskies.spark">BroadcastVars</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/spark/BroadcastVars.html#setOutput-java.lang.String-">setOutput(String)</a></span> - Method in class org.apache.pirk.responder.wideskies.spark.<a href="../org/apache/pirk/responder/wideskies/spark/BroadcastVars.html" title="class in org.apache.pirk.responder.wideskies.spark">BroadcastVars</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/utils/SystemConfiguration.html#setProperty-java.lang.String-java.lang.String-">setProperty(String, String)</a></span> - Static method in class org.apache.pirk.utils.<a href="../org/apache/pirk/utils/SystemConfiguration.html" title="class in org.apache.pirk.utils">SystemConfiguration</a></dt>
<dd>
<div class="block">Sets the property to the given value.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/spark/BroadcastVars.html#setQuery-org.apache.pirk.query.wideskies.Query-">setQuery(Query)</a></span> - Method in class org.apache.pirk.responder.wideskies.spark.<a href="../org/apache/pirk/responder/wideskies/spark/BroadcastVars.html" title="class in org.apache.pirk.responder.wideskies.spark">BroadcastVars</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/spark/BroadcastVars.html#setQueryInfo-org.apache.pirk.query.wideskies.QueryInfo-">setQueryInfo(QueryInfo)</a></span> - Method in class org.apache.pirk.responder.wideskies.spark.<a href="../org/apache/pirk/responder/wideskies/spark/BroadcastVars.html" title="class in org.apache.pirk.responder.wideskies.spark">BroadcastVars</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/spark/BroadcastVars.html#setQuerySchema-org.apache.pirk.schema.query.QuerySchema-">setQuerySchema(QuerySchema)</a></span> - Method in class org.apache.pirk.responder.wideskies.spark.<a href="../org/apache/pirk/responder/wideskies/spark/BroadcastVars.html" title="class in org.apache.pirk.responder.wideskies.spark">BroadcastVars</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/standalone/Responder.html#setResponseElements--">setResponseElements()</a></span> - Method in class org.apache.pirk.responder.wideskies.standalone.<a href="../org/apache/pirk/responder/wideskies/standalone/Responder.html" title="class in org.apache.pirk.responder.wideskies.standalone">Responder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/response/wideskies/Response.html#setResponseElements-java.util.TreeMap-">setResponseElements(TreeMap&lt;Integer, BigInteger&gt;)</a></span> - Method in class org.apache.pirk.response.wideskies.<a href="../org/apache/pirk/response/wideskies/Response.html" title="class in org.apache.pirk.response.wideskies">Response</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/response/QueryResponseJSON.html#setSelector-java.lang.Object-">setSelector(Object)</a></span> - Method in class org.apache.pirk.schema.response.<a href="../org/apache/pirk/schema/response/QueryResponseJSON.html" title="class in org.apache.pirk.schema.response">QueryResponseJSON</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/benchmark/PaillierBenchmark.PaillierBenchmarkState.html#setUp--">setUp()</a></span> - Method in class org.apache.pirk.benchmark.<a href="../org/apache/pirk/benchmark/PaillierBenchmark.PaillierBenchmarkState.html" title="class in org.apache.pirk.benchmark">PaillierBenchmark.PaillierBenchmarkState</a></dt>
<dd>
<div class="block">This sets up the state for the two separate benchmarks</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/general/PaillierTest.html#setup--">setup()</a></span> - Static method in class org.apache.pirk.general.<a href="../org/apache/pirk/general/PaillierTest.html" title="class in org.apache.pirk.general">PaillierTest</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/general/QueryParserUtilsTest.html#setup--">setup()</a></span> - Static method in class org.apache.pirk.general.<a href="../org/apache/pirk/general/QueryParserUtilsTest.html" title="class in org.apache.pirk.general">QueryParserUtilsTest</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/mapreduce/ColumnMultMapper.html#setup-org.apache.hadoop.mapreduce.Mapper.Context-">setup(Mapper&lt;LongWritable, Text, LongWritable, Text&gt;.Context)</a></span> - Method in class org.apache.pirk.responder.wideskies.mapreduce.<a href="../org/apache/pirk/responder/wideskies/mapreduce/ColumnMultMapper.html" title="class in org.apache.pirk.responder.wideskies.mapreduce">ColumnMultMapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/mapreduce/ColumnMultReducer.html#setup-org.apache.hadoop.mapreduce.Reducer.Context-">setup(Reducer&lt;LongWritable, Text, LongWritable, Text&gt;.Context)</a></span> - Method in class org.apache.pirk.responder.wideskies.mapreduce.<a href="../org/apache/pirk/responder/wideskies/mapreduce/ColumnMultReducer.html" title="class in org.apache.pirk.responder.wideskies.mapreduce">ColumnMultReducer</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/mapreduce/ExpTableMapper.html#setup-org.apache.hadoop.mapreduce.Mapper.Context-">setup(Mapper&lt;LongWritable, Text, Text, Text&gt;.Context)</a></span> - Method in class org.apache.pirk.responder.wideskies.mapreduce.<a href="../org/apache/pirk/responder/wideskies/mapreduce/ExpTableMapper.html" title="class in org.apache.pirk.responder.wideskies.mapreduce">ExpTableMapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/mapreduce/ExpTableReducer.html#setup-org.apache.hadoop.mapreduce.Reducer.Context-">setup(Reducer&lt;Text, Text, Text, Text&gt;.Context)</a></span> - Method in class org.apache.pirk.responder.wideskies.mapreduce.<a href="../org/apache/pirk/responder/wideskies/mapreduce/ExpTableReducer.html" title="class in org.apache.pirk.responder.wideskies.mapreduce">ExpTableReducer</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/mapreduce/FinalResponseReducer.html#setup-org.apache.hadoop.mapreduce.Reducer.Context-">setup(Reducer&lt;LongWritable, Text, LongWritable, Text&gt;.Context)</a></span> - Method in class org.apache.pirk.responder.wideskies.mapreduce.<a href="../org/apache/pirk/responder/wideskies/mapreduce/FinalResponseReducer.html" title="class in org.apache.pirk.responder.wideskies.mapreduce">FinalResponseReducer</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/mapreduce/HashSelectorsAndPartitionDataMapper.html#setup-org.apache.hadoop.mapreduce.Mapper.Context-">setup(Mapper&lt;Text, MapWritable, IntWritable, BytesArrayWritable&gt;.Context)</a></span> - Method in class org.apache.pirk.responder.wideskies.mapreduce.<a href="../org/apache/pirk/responder/wideskies/mapreduce/HashSelectorsAndPartitionDataMapper.html" title="class in org.apache.pirk.responder.wideskies.mapreduce">HashSelectorsAndPartitionDataMapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/mapreduce/RowCalcReducer.html#setup-org.apache.hadoop.mapreduce.Reducer.Context-">setup(Reducer&lt;IntWritable, BytesArrayWritable, LongWritable, Text&gt;.Context)</a></span> - Method in class org.apache.pirk.responder.wideskies.mapreduce.<a href="../org/apache/pirk/responder/wideskies/mapreduce/RowCalcReducer.html" title="class in org.apache.pirk.responder.wideskies.mapreduce">RowCalcReducer</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/serialization/SerializationTest.html#setUp--">setUp()</a></span> - Static method in class org.apache.pirk.serialization.<a href="../org/apache/pirk/serialization/SerializationTest.html" title="class in org.apache.pirk.serialization">SerializationTest</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/wideskies/standalone/StandaloneTest.html#setup--">setup()</a></span> - Static method in class org.apache.pirk.wideskies.standalone.<a href="../org/apache/pirk/wideskies/standalone/StandaloneTest.html" title="class in org.apache.pirk.wideskies.standalone">StandaloneTest</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/spark/BroadcastVars.html#setUseLocalCache-java.lang.Boolean-">setUseLocalCache(Boolean)</a></span> - Method in class org.apache.pirk.responder.wideskies.spark.<a href="../org/apache/pirk/responder/wideskies/spark/BroadcastVars.html" title="class in org.apache.pirk.responder.wideskies.spark">BroadcastVars</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/data/partitioner/PrimitiveTypePartitioner.html#SHORT">SHORT</a></span> - Static variable in class org.apache.pirk.schema.data.partitioner.<a href="../org/apache/pirk/schema/data/partitioner/PrimitiveTypePartitioner.html" title="class in org.apache.pirk.schema.data.partitioner">PrimitiveTypePartitioner</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/inputformat/hadoop/BytesArrayWritable.html#size--">size()</a></span> - Method in class org.apache.pirk.inputformat.hadoop.<a href="../org/apache/pirk/inputformat/hadoop/BytesArrayWritable.html" title="class in org.apache.pirk.inputformat.hadoop">BytesArrayWritable</a></dt>
<dd>
<div class="block">Returns the number of elements in the underlying array</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/inputformat/hadoop/TextArrayWritable.html#size--">size()</a></span> - Method in class org.apache.pirk.inputformat.hadoop.<a href="../org/apache/pirk/inputformat/hadoop/TextArrayWritable.html" title="class in org.apache.pirk.inputformat.hadoop">TextArrayWritable</a></dt>
<dd>
<div class="block">Returns the number of elements in the underlying array</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/storm/SystemTime.html#sleep-long-">sleep(long)</a></span> - Method in class org.apache.pirk.storm.<a href="../org/apache/pirk/storm/SystemTime.html" title="class in org.apache.pirk.storm">SystemTime</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../org/apache/pirk/responder/wideskies/spark/SparkResponder.html" title="class in org.apache.pirk.responder.wideskies.spark"><span class="typeNameLink">SparkResponder</span></a> - Class in <a href="../org/apache/pirk/responder/wideskies/spark/package-summary.html">org.apache.pirk.responder.wideskies.spark</a></dt>
<dd>
<div class="block">Class to launch spark responder</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/spark/SparkResponder.html#SparkResponder--">SparkResponder()</a></span> - Constructor for class org.apache.pirk.responder.wideskies.spark.<a href="../org/apache/pirk/responder/wideskies/spark/SparkResponder.html" title="class in org.apache.pirk.responder.wideskies.spark">SparkResponder</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../org/apache/pirk/responder/wideskies/spark/streaming/SparkStreamingResponder.html" title="class in org.apache.pirk.responder.wideskies.spark.streaming"><span class="typeNameLink">SparkStreamingResponder</span></a> - Class in <a href="../org/apache/pirk/responder/wideskies/spark/streaming/package-summary.html">org.apache.pirk.responder.wideskies.spark.streaming</a></dt>
<dd>
<div class="block">Class to launch stand alone responder</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/spark/streaming/SparkStreamingResponder.html#SparkStreamingResponder--">SparkStreamingResponder()</a></span> - Constructor for class org.apache.pirk.responder.wideskies.spark.streaming.<a href="../org/apache/pirk/responder/wideskies/spark/streaming/SparkStreamingResponder.html" title="class in org.apache.pirk.responder.wideskies.spark.streaming">SparkStreamingResponder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/test/utils/Inputs.html#SRCIP">SRCIP</a></span> - Static variable in class org.apache.pirk.test.utils.<a href="../org/apache/pirk/test/utils/Inputs.html" title="class in org.apache.pirk.test.utils">Inputs</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../org/apache/pirk/test/utils/StandaloneQuery.html" title="class in org.apache.pirk.test.utils"><span class="typeNameLink">StandaloneQuery</span></a> - Class in <a href="../org/apache/pirk/test/utils/package-summary.html">org.apache.pirk.test.utils</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/test/utils/StandaloneQuery.html#StandaloneQuery--">StandaloneQuery()</a></span> - Constructor for class org.apache.pirk.test.utils.<a href="../org/apache/pirk/test/utils/StandaloneQuery.html" title="class in org.apache.pirk.test.utils">StandaloneQuery</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../org/apache/pirk/responder/wideskies/standalone/StandaloneResponder.html" title="class in org.apache.pirk.responder.wideskies.standalone"><span class="typeNameLink">StandaloneResponder</span></a> - Class in <a href="../org/apache/pirk/responder/wideskies/standalone/package-summary.html">org.apache.pirk.responder.wideskies.standalone</a></dt>
<dd>
<div class="block">Class to launch stand alone responder</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/standalone/StandaloneResponder.html#StandaloneResponder--">StandaloneResponder()</a></span> - Constructor for class org.apache.pirk.responder.wideskies.standalone.<a href="../org/apache/pirk/responder/wideskies/standalone/StandaloneResponder.html" title="class in org.apache.pirk.responder.wideskies.standalone">StandaloneResponder</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../org/apache/pirk/wideskies/standalone/StandaloneTest.html" title="class in org.apache.pirk.wideskies.standalone"><span class="typeNameLink">StandaloneTest</span></a> - Class in <a href="../org/apache/pirk/wideskies/standalone/package-summary.html">org.apache.pirk.wideskies.standalone</a></dt>
<dd>
<div class="block">Functional test suite for stand alone testing - non Spark applications</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/wideskies/standalone/StandaloneTest.html#StandaloneTest--">StandaloneTest()</a></span> - Constructor for class org.apache.pirk.wideskies.standalone.<a href="../org/apache/pirk/wideskies/standalone/StandaloneTest.html" title="class in org.apache.pirk.wideskies.standalone">StandaloneTest</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/spark/streaming/ComputeStreamingResponse.html#start--">start()</a></span> - Method in class org.apache.pirk.responder.wideskies.spark.streaming.<a href="../org/apache/pirk/responder/wideskies/spark/streaming/ComputeStreamingResponse.html" title="class in org.apache.pirk.responder.wideskies.spark.streaming">ComputeStreamingResponse</a></dt>
<dd>
<div class="block">Method to start the computation</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/ResponderProps.html#STOPGRACEFULLY">STOPGRACEFULLY</a></span> - Static variable in class org.apache.pirk.responder.wideskies.<a href="../org/apache/pirk/responder/wideskies/ResponderProps.html" title="class in org.apache.pirk.responder.wideskies">ResponderProps</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/ResponderProps.html#STOPLISTFILE">STOPLISTFILE</a></span> - Static variable in class org.apache.pirk.responder.wideskies.<a href="../org/apache/pirk/responder/wideskies/ResponderProps.html" title="class in org.apache.pirk.responder.wideskies">ResponderProps</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../org/apache/pirk/schema/query/filter/StopListFilter.html" title="class in org.apache.pirk.schema.query.filter"><span class="typeNameLink">StopListFilter</span></a> - Class in <a href="../org/apache/pirk/schema/query/filter/package-summary.html">org.apache.pirk.schema.query.filter</a></dt>
<dd>
<div class="block">Filter class to filter data elements based upon a stoplist applied to specified field elements</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/query/filter/StopListFilter.html#StopListFilter-java.util.Set-java.util.Set-">StopListFilter(Set&lt;String&gt;, Set&lt;String&gt;)</a></span> - Constructor for class org.apache.pirk.schema.query.filter.<a href="../org/apache/pirk/schema/query/filter/StopListFilter.html" title="class in org.apache.pirk.schema.query.filter">StopListFilter</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../org/apache/pirk/utils/StopListUtils.html" title="class in org.apache.pirk.utils"><span class="typeNameLink">StopListUtils</span></a> - Class in <a href="../org/apache/pirk/utils/package-summary.html">org.apache.pirk.utils</a></dt>
<dd>
<div class="block">Utilities for stop listing data items/elements</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/utils/StopListUtils.html#StopListUtils--">StopListUtils()</a></span> - Constructor for class org.apache.pirk.utils.<a href="../org/apache/pirk/utils/StopListUtils.html" title="class in org.apache.pirk.utils">StopListUtils</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../org/apache/pirk/serialization/Storable.html" title="interface in org.apache.pirk.serialization"><span class="typeNameLink">Storable</span></a> - Interface in <a href="../org/apache/pirk/serialization/package-summary.html">org.apache.pirk.serialization</a></dt>
<dd>
<div class="block">Marker interface for objects that can be stored in a storage service.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/serialization/HadoopFileSystemStore.html#store-java.lang.String-org.apache.pirk.serialization.Storable-">store(String, Storable)</a></span> - Method in class org.apache.pirk.serialization.<a href="../org/apache/pirk/serialization/HadoopFileSystemStore.html" title="class in org.apache.pirk.serialization">HadoopFileSystemStore</a></dt>
<dd>
<div class="block">Store the given object into the HDFS file system at the given path name.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/serialization/HadoopFileSystemStore.html#store-org.apache.hadoop.fs.Path-org.apache.pirk.serialization.Storable-">store(Path, Storable)</a></span> - Method in class org.apache.pirk.serialization.<a href="../org/apache/pirk/serialization/HadoopFileSystemStore.html" title="class in org.apache.pirk.serialization">HadoopFileSystemStore</a></dt>
<dd>
<div class="block">Store the given object at into the HDFS file system at the given path.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/serialization/LocalFileSystemStore.html#store-java.lang.String-org.apache.pirk.serialization.Storable-">store(String, Storable)</a></span> - Method in class org.apache.pirk.serialization.<a href="../org/apache/pirk/serialization/LocalFileSystemStore.html" title="class in org.apache.pirk.serialization">LocalFileSystemStore</a></dt>
<dd>
<div class="block">Stores the given object at the given path.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/serialization/LocalFileSystemStore.html#store-java.io.File-org.apache.pirk.serialization.Storable-">store(File, Storable)</a></span> - Method in class org.apache.pirk.serialization.<a href="../org/apache/pirk/serialization/LocalFileSystemStore.html" title="class in org.apache.pirk.serialization">LocalFileSystemStore</a></dt>
<dd>
<div class="block">Stores the given object at the given file location.</div>
</dd>
<dt><a href="../org/apache/pirk/responder/wideskies/storm/StormConstants.html" title="class in org.apache.pirk.responder.wideskies.storm"><span class="typeNameLink">StormConstants</span></a> - Class in <a href="../org/apache/pirk/responder/wideskies/storm/package-summary.html">org.apache.pirk.responder.wideskies.storm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/storm/StormConstants.html#StormConstants--">StormConstants()</a></span> - Constructor for class org.apache.pirk.responder.wideskies.storm.<a href="../org/apache/pirk/responder/wideskies/storm/StormConstants.html" title="class in org.apache.pirk.responder.wideskies.storm">StormConstants</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../org/apache/pirk/responder/wideskies/storm/StormResponder.html" title="class in org.apache.pirk.responder.wideskies.storm"><span class="typeNameLink">StormResponder</span></a> - Class in <a href="../org/apache/pirk/responder/wideskies/storm/package-summary.html">org.apache.pirk.responder.wideskies.storm</a></dt>
<dd>
<div class="block">Class to launch Storm responder</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/storm/StormResponder.html#StormResponder--">StormResponder()</a></span> - Constructor for class org.apache.pirk.responder.wideskies.storm.<a href="../org/apache/pirk/responder/wideskies/storm/StormResponder.html" title="class in org.apache.pirk.responder.wideskies.storm">StormResponder</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../org/apache/pirk/responder/wideskies/storm/StormUtils.html" title="class in org.apache.pirk.responder.wideskies.storm"><span class="typeNameLink">StormUtils</span></a> - Class in <a href="../org/apache/pirk/responder/wideskies/storm/package-summary.html">org.apache.pirk.responder.wideskies.storm</a></dt>
<dd>
<div class="block">Utils class for the Storm implementation of Wideskies</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/storm/StormUtils.html#StormUtils--">StormUtils()</a></span> - Constructor for class org.apache.pirk.responder.wideskies.storm.<a href="../org/apache/pirk/responder/wideskies/storm/StormUtils.html" title="class in org.apache.pirk.responder.wideskies.storm">StormUtils</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/data/partitioner/PrimitiveTypePartitioner.html#STRING">STRING</a></span> - Static variable in class org.apache.pirk.schema.data.partitioner.<a href="../org/apache/pirk/schema/data/partitioner/PrimitiveTypePartitioner.html" title="class in org.apache.pirk.schema.data.partitioner">PrimitiveTypePartitioner</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../org/apache/pirk/utils/StringUtils.html" title="class in org.apache.pirk.utils"><span class="typeNameLink">StringUtils</span></a> - Class in <a href="../org/apache/pirk/utils/package-summary.html">org.apache.pirk.utils</a></dt>
<dd>
<div class="block">Pirk-specific string utilities</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/utils/StringUtils.html#StringUtils--">StringUtils()</a></span> - Constructor for class org.apache.pirk.utils.<a href="../org/apache/pirk/utils/StringUtils.html" title="class in org.apache.pirk.utils">StringUtils</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/utils/EpochDateParser.html#stripWildcard-java.lang.String-">stripWildcard(String)</a></span> - Static method in class org.apache.pirk.utils.<a href="../org/apache/pirk/utils/EpochDateParser.html" title="class in org.apache.pirk.utils">EpochDateParser</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../org/apache/pirk/utils/SystemConfiguration.html" title="class in org.apache.pirk.utils"><span class="typeNameLink">SystemConfiguration</span></a> - Class in <a href="../org/apache/pirk/utils/package-summary.html">org.apache.pirk.utils</a></dt>
<dd>
<div class="block">Manages system properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/utils/SystemConfiguration.html#SystemConfiguration--">SystemConfiguration()</a></span> - Constructor for class org.apache.pirk.utils.<a href="../org/apache/pirk/utils/SystemConfiguration.html" title="class in org.apache.pirk.utils">SystemConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../org/apache/pirk/storm/SystemTime.html" title="class in org.apache.pirk.storm"><span class="typeNameLink">SystemTime</span></a> - Class in <a href="../org/apache/pirk/storm/package-summary.html">org.apache.pirk.storm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/storm/SystemTime.html#SystemTime--">SystemTime()</a></span> - Constructor for class org.apache.pirk.storm.<a href="../org/apache/pirk/storm/SystemTime.html" title="class in org.apache.pirk.storm">SystemTime</a></dt>
<dd>&nbsp;</dd>
</dl>
<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">J</a>&nbsp;<a href="index-11.html">K</a>&nbsp;<a href="index-12.html">L</a>&nbsp;<a href="index-13.html">M</a>&nbsp;<a href="index-14.html">N</a>&nbsp;<a href="index-15.html">O</a>&nbsp;<a href="index-16.html">P</a>&nbsp;<a href="index-17.html">Q</a>&nbsp;<a href="index-18.html">R</a>&nbsp;<a href="index-19.html">S</a>&nbsp;<a href="index-20.html">T</a>&nbsp;<a href="index-21.html">U</a>&nbsp;<a href="index-22.html">V</a>&nbsp;<a href="index-23.html">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="../overview-summary.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="../overview-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><a href="index-18.html">Prev Letter</a></li>
<li><a href="index-20.html">Next Letter</a></li>
</ul>
<ul class="navList">
<li><a href="../index.html?index-files/index-19.html" target="_top">Frames</a></li>
<li><a href="index-19.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 ======= -->
</body>
</html>
