<!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 Tue Sep 13 10:54:21 EDT 2016 -->
<title>C-Index</title>
<meta name="date" content="2016-09-13">
<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="C-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-2.html">Prev Letter</a></li>
<li><a href="index-4.html">Next Letter</a></li>
</ul>
<ul class="navList">
<li><a href="../index.html?index-files/index-3.html" target="_top">Frames</a></li>
<li><a href="index-3.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:C">
<!--   -->
</a>
<h2 class="title">C</h2>
<dl>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/spark/EncColMultGroupedMapper.html#call-scala.Tuple2-">call(Tuple2&lt;Long, Iterable&lt;BigInteger&gt;&gt;)</a></span> - Method in class org.apache.pirk.responder.wideskies.spark.<a href="../org/apache/pirk/responder/wideskies/spark/EncColMultGroupedMapper.html" title="class in org.apache.pirk.responder.wideskies.spark">EncColMultGroupedMapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/spark/EncColMultReducer.html#call-java.math.BigInteger-java.math.BigInteger-">call(BigInteger, BigInteger)</a></span> - Method in class org.apache.pirk.responder.wideskies.spark.<a href="../org/apache/pirk/responder/wideskies/spark/EncColMultReducer.html" title="class in org.apache.pirk.responder.wideskies.spark">EncColMultReducer</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/spark/EncRowCalc.html#call-scala.Tuple2-">call(Tuple2&lt;Integer, Iterable&lt;List&lt;BigInteger&gt;&gt;&gt;)</a></span> - Method in class org.apache.pirk.responder.wideskies.spark.<a href="../org/apache/pirk/responder/wideskies/spark/EncRowCalc.html" title="class in org.apache.pirk.responder.wideskies.spark">EncRowCalc</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/spark/EncRowCalcPrecomputedCache.html#call-scala.Tuple2-">call(Tuple2&lt;Integer, Tuple2&lt;Iterable&lt;Tuple2&lt;Integer, BigInteger&gt;&gt;, Iterable&lt;List&lt;BigInteger&gt;&gt;&gt;&gt;)</a></span> - Method in class org.apache.pirk.responder.wideskies.spark.<a href="../org/apache/pirk/responder/wideskies/spark/EncRowCalcPrecomputedCache.html" title="class in org.apache.pirk.responder.wideskies.spark">EncRowCalcPrecomputedCache</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/spark/ExpKeyFilenameMap.html#call-java.util.Iterator-">call(Iterator&lt;Tuple2&lt;Integer, Iterable&lt;Tuple2&lt;Integer, BigInteger&gt;&gt;&gt;&gt;)</a></span> - Method in class org.apache.pirk.responder.wideskies.spark.<a href="../org/apache/pirk/responder/wideskies/spark/ExpKeyFilenameMap.html" title="class in org.apache.pirk.responder.wideskies.spark">ExpKeyFilenameMap</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/spark/ExpTableGenerator.html#call-java.lang.Integer-">call(Integer)</a></span> - Method in class org.apache.pirk.responder.wideskies.spark.<a href="../org/apache/pirk/responder/wideskies/spark/ExpTableGenerator.html" title="class in org.apache.pirk.responder.wideskies.spark">ExpTableGenerator</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/spark/FilterData.html#call-org.apache.hadoop.io.MapWritable-">call(MapWritable)</a></span> - Method in class org.apache.pirk.responder.wideskies.spark.<a href="../org/apache/pirk/responder/wideskies/spark/FilterData.html" title="class in org.apache.pirk.responder.wideskies.spark">FilterData</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/spark/HashSelectorsAndPartitionData.html#call-org.apache.hadoop.io.MapWritable-">call(MapWritable)</a></span> - Method in class org.apache.pirk.responder.wideskies.spark.<a href="../org/apache/pirk/responder/wideskies/spark/HashSelectorsAndPartitionData.html" title="class in org.apache.pirk.responder.wideskies.spark">HashSelectorsAndPartitionData</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/spark/streaming/FinalResponseFunction.html#call-java.util.Iterator-">call(Iterator&lt;Tuple2&lt;Long, BigInteger&gt;&gt;)</a></span> - Method in class org.apache.pirk.responder.wideskies.spark.streaming.<a href="../org/apache/pirk/responder/wideskies/spark/streaming/FinalResponseFunction.html" title="class in org.apache.pirk.responder.wideskies.spark.streaming">FinalResponseFunction</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/utils/FileIOUtils.Callable.html#call-java.lang.String-">call(String)</a></span> - Method in interface org.apache.pirk.utils.<a href="../org/apache/pirk/utils/FileIOUtils.Callable.html" title="interface in org.apache.pirk.utils">FileIOUtils.Callable</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/test/utils/BaseTests.html#certainty">certainty</a></span> - Static variable in class org.apache.pirk.test.utils.<a href="../org/apache/pirk/test/utils/BaseTests.html" title="class in org.apache.pirk.test.utils">BaseTests</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/data/partitioner/PrimitiveTypePartitioner.html#CHAR">CHAR</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/test/utils/BaseTests.html#checkDNSHostnameQueryResults-java.util.List-boolean-int-boolean-java.util.List-">checkDNSHostnameQueryResults(List&lt;QueryResponseJSON&gt;, boolean, int, boolean, List&lt;JSONObject&gt;)</a></span> - Static method in class org.apache.pirk.test.utils.<a href="../org/apache/pirk/test/utils/BaseTests.html" title="class in org.apache.pirk.test.utils">BaseTests</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/utils/StopListUtils.html#checkElement-java.lang.String-java.util.Set-">checkElement(String, Set&lt;String&gt;)</a></span> - Static method in class org.apache.pirk.utils.<a href="../org/apache/pirk/utils/StopListUtils.html" title="class in org.apache.pirk.utils">StopListUtils</a></dt>
<dd>
<div class="block">Checks to see whether an element (or subdomain of the given element) is contained in the HashSet If it is not in the set, returns true (keep)</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/utils/QueryParserUtils.html#checkRangeQuery-boolean-java.lang.String-java.lang.String-java.lang.String-org.apache.pirk.schema.data.DataSchema-">checkRangeQuery(boolean, String, String, String, DataSchema)</a></span> - Static method in class org.apache.pirk.utils.<a href="../org/apache/pirk/utils/QueryParserUtils.html" title="class in org.apache.pirk.utils">QueryParserUtils</a></dt>
<dd>
<div class="block">Method to handle ranges queries</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/utils/QueryParserUtils.html#checkRecord-java.lang.String-org.apache.hadoop.io.MapWritable-org.apache.pirk.schema.data.DataSchema-">checkRecord(String, MapWritable, DataSchema)</a></span> - Static method in class org.apache.pirk.utils.<a href="../org/apache/pirk/utils/QueryParserUtils.html" title="class in org.apache.pirk.utils">QueryParserUtils</a></dt>
<dd>
<div class="block">Given a URI query string, checks to see if the given document satisfies the query</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/utils/QueryParserUtils.html#checkRecord-java.lang.String-java.util.Map-org.apache.pirk.schema.data.DataSchema-">checkRecord(String, Map&lt;String, Object&gt;, DataSchema)</a></span> - Static method in class org.apache.pirk.utils.<a href="../org/apache/pirk/utils/QueryParserUtils.html" title="class in org.apache.pirk.utils">QueryParserUtils</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/utils/QueryParserUtils.html#checkRecordWritableArrayWritable-java.lang.String-org.apache.hadoop.io.MapWritable-org.apache.pirk.schema.data.DataSchema-">checkRecordWritableArrayWritable(String, MapWritable, DataSchema)</a></span> - Static method in class org.apache.pirk.utils.<a href="../org/apache/pirk/utils/QueryParserUtils.html" title="class in org.apache.pirk.utils">QueryParserUtils</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/mapreduce/ColumnMultReducer.html#cleanup-org.apache.hadoop.mapreduce.Reducer.Context-">cleanup(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/ExpTableReducer.html#cleanup-org.apache.hadoop.mapreduce.Reducer.Context-">cleanup(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#cleanup-org.apache.hadoop.mapreduce.Reducer.Context-">cleanup(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#cleanup-org.apache.hadoop.mapreduce.Mapper.Context-">cleanup(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#cleanup-org.apache.hadoop.mapreduce.Reducer.Context-">cleanup(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/test/distributed/DistributedTestDriver.html#cleanup-org.apache.hadoop.fs.FileSystem-java.lang.String-java.lang.String-java.lang.String-">cleanup(FileSystem, String, String, String)</a></span> - Static method in class org.apache.pirk.test.distributed.<a href="../org/apache/pirk/test/distributed/DistributedTestDriver.html" title="class in org.apache.pirk.test.distributed">DistributedTestDriver</a></dt>
<dd>
<div class="block">Delete all necessary inputs, clean up</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/data/DataSchemaRegistry.html#clearRegistry--">clearRegistry()</a></span> - Static method in class org.apache.pirk.schema.data.<a href="../org/apache/pirk/schema/data/DataSchemaRegistry.html" title="class in org.apache.pirk.schema.data">DataSchemaRegistry</a></dt>
<dd>
<div class="block">Clear the registry</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/query/QuerySchemaRegistry.html#clearRegistry--">clearRegistry()</a></span> - Static method in class org.apache.pirk.schema.query.<a href="../org/apache/pirk/schema/query/QuerySchemaRegistry.html" title="class in org.apache.pirk.schema.query">QuerySchemaRegistry</a></dt>
<dd>
<div class="block">Clear the registry</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/encryption/Paillier.html#clone--">clone()</a></span> - Method in class org.apache.pirk.encryption.<a href="../org/apache/pirk/encryption/Paillier.html" title="class in org.apache.pirk.encryption">Paillier</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/query/wideskies/QueryInfo.html#clone--">clone()</a></span> - Method in class org.apache.pirk.query.wideskies.<a href="../org/apache/pirk/query/wideskies/QueryInfo.html" title="class in org.apache.pirk.query.wideskies">QueryInfo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/inputformat/hadoop/json/JSONRecordReader.html#close--">close()</a></span> - Method in class org.apache.pirk.inputformat.hadoop.json.<a href="../org/apache/pirk/inputformat/hadoop/json/JSONRecordReader.html" title="class in org.apache.pirk.inputformat.hadoop.json">JSONRecordReader</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/ResponderProps.html#COLMULTREDUCEBYKEY">COLMULTREDUCEBYKEY</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/responder/wideskies/mapreduce/ColumnMultMapper.html" title="class in org.apache.pirk.responder.wideskies.mapreduce"><span class="typeNameLink">ColumnMultMapper</span></a> - Class in <a href="../org/apache/pirk/responder/wideskies/mapreduce/package-summary.html">org.apache.pirk.responder.wideskies.mapreduce</a></dt>
<dd>
<div class="block">Pass through mapper for encrypted column multiplication</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/mapreduce/ColumnMultMapper.html#ColumnMultMapper--">ColumnMultMapper()</a></span> - Constructor for 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><a href="../org/apache/pirk/responder/wideskies/mapreduce/ColumnMultReducer.html" title="class in org.apache.pirk.responder.wideskies.mapreduce"><span class="typeNameLink">ColumnMultReducer</span></a> - Class in <a href="../org/apache/pirk/responder/wideskies/mapreduce/package-summary.html">org.apache.pirk.responder.wideskies.mapreduce</a></dt>
<dd>
<div class="block">Reducer to perform encrypted column multiplication</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/mapreduce/ColumnMultReducer.html#ColumnMultReducer--">ColumnMultReducer()</a></span> - Constructor for 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/common/ComputeEncryptedRow.html#computeEncRow-java.lang.Iterable-org.apache.pirk.query.wideskies.Query-int-boolean-int-boolean-">computeEncRow(Iterable&lt;BytesArrayWritable&gt;, Query, int, boolean, int, boolean)</a></span> - Static method in class org.apache.pirk.responder.wideskies.common.<a href="../org/apache/pirk/responder/wideskies/common/ComputeEncryptedRow.html" title="class in org.apache.pirk.responder.wideskies.common">ComputeEncryptedRow</a></dt>
<dd>
<div class="block">Method to compute the encrypted row elements for a query from extracted data partitions in the form of Iterable<BytesArrayWritable></div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/common/ComputeEncryptedRow.html#computeEncRow-org.apache.pirk.inputformat.hadoop.BytesArrayWritable-org.apache.pirk.query.wideskies.Query-int-int-">computeEncRow(BytesArrayWritable, Query, int, int)</a></span> - Static method in class org.apache.pirk.responder.wideskies.common.<a href="../org/apache/pirk/responder/wideskies/common/ComputeEncryptedRow.html" title="class in org.apache.pirk.responder.wideskies.common">ComputeEncryptedRow</a></dt>
<dd>
<div class="block">Method to compute the encrypted row elements for a query from extracted data partitions in the form of BytesArrayWritable</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/common/ComputeEncryptedRow.html#computeEncRow-java.util.List-org.apache.pirk.query.wideskies.Query-int-int-">computeEncRow(List&lt;BigInteger&gt;, Query, int, int)</a></span> - Static method in class org.apache.pirk.responder.wideskies.common.<a href="../org/apache/pirk/responder/wideskies/common/ComputeEncryptedRow.html" title="class in org.apache.pirk.responder.wideskies.common">ComputeEncryptedRow</a></dt>
<dd>
<div class="block">Method to compute the encrypted row elements for a query from extracted data partitions in the form of ArrayList<<BigInteger>></div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/common/ComputeEncryptedRow.html#computeEncRow-java.math.BigInteger-org.apache.pirk.query.wideskies.Query-int-int-">computeEncRow(BigInteger, Query, int, int)</a></span> - Static method in class org.apache.pirk.responder.wideskies.common.<a href="../org/apache/pirk/responder/wideskies/common/ComputeEncryptedRow.html" title="class in org.apache.pirk.responder.wideskies.common">ComputeEncryptedRow</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/common/ComputeEncryptedRow.html#computeEncRowBI-java.lang.Iterable-org.apache.pirk.query.wideskies.Query-int-boolean-int-boolean-">computeEncRowBI(Iterable&lt;List&lt;BigInteger&gt;&gt;, Query, int, boolean, int, boolean)</a></span> - Static method in class org.apache.pirk.responder.wideskies.common.<a href="../org/apache/pirk/responder/wideskies/common/ComputeEncryptedRow.html" title="class in org.apache.pirk.responder.wideskies.common">ComputeEncryptedRow</a></dt>
<dd>
<div class="block">Method to compute the encrypted row elements for a query from extracted data partitions in the form of Iterable<code>* * * * </code></div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/common/ComputeEncryptedRow.html#computeEncRowCacheInput-java.lang.Iterable-java.util.HashMap-int-boolean-int-">computeEncRowCacheInput(Iterable&lt;List&lt;BigInteger&gt;&gt;, HashMap&lt;Integer, BigInteger&gt;, int, boolean, int)</a></span> - Static method in class org.apache.pirk.responder.wideskies.common.<a href="../org/apache/pirk/responder/wideskies/common/ComputeEncryptedRow.html" title="class in org.apache.pirk.responder.wideskies.common">ComputeEncryptedRow</a></dt>
<dd>
<div class="block">Method to compute the encrypted row elements for a query from extracted data partitions in the form of Iterable<BytesArrayWritable> * * * *  given
 an input modular exponentiation table for the row</div>
</dd>
<dt><a href="../org/apache/pirk/responder/wideskies/common/ComputeEncryptedRow.html" title="class in org.apache.pirk.responder.wideskies.common"><span class="typeNameLink">ComputeEncryptedRow</span></a> - Class in <a href="../org/apache/pirk/responder/wideskies/common/package-summary.html">org.apache.pirk.responder.wideskies.common</a></dt>
<dd>
<div class="block">Class to compute the encrypted row elements for a query from extracted data partitions</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/common/ComputeEncryptedRow.html#ComputeEncryptedRow--">ComputeEncryptedRow()</a></span> - Constructor for class org.apache.pirk.responder.wideskies.common.<a href="../org/apache/pirk/responder/wideskies/common/ComputeEncryptedRow.html" title="class in org.apache.pirk.responder.wideskies.common">ComputeEncryptedRow</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../org/apache/pirk/responder/wideskies/spark/ComputeExpLookupTable.html" title="class in org.apache.pirk.responder.wideskies.spark"><span class="typeNameLink">ComputeExpLookupTable</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 compute the distributed lookup table for the modular exponentiations used in performing a query</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/spark/ComputeExpLookupTable.html#ComputeExpLookupTable--">ComputeExpLookupTable()</a></span> - Constructor for class org.apache.pirk.responder.wideskies.spark.<a href="../org/apache/pirk/responder/wideskies/spark/ComputeExpLookupTable.html" title="class in org.apache.pirk.responder.wideskies.spark">ComputeExpLookupTable</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/spark/ComputeExpLookupTable.html#computeExpTable-org.apache.spark.api.java.JavaSparkContext-org.apache.hadoop.fs.FileSystem-org.apache.pirk.responder.wideskies.spark.BroadcastVars-org.apache.pirk.query.wideskies.Query-java.lang.String-java.lang.String-">computeExpTable(JavaSparkContext, FileSystem, BroadcastVars, Query, String, String)</a></span> - Static method in class org.apache.pirk.responder.wideskies.spark.<a href="../org/apache/pirk/responder/wideskies/spark/ComputeExpLookupTable.html" title="class in org.apache.pirk.responder.wideskies.spark">ComputeExpLookupTable</a></dt>
<dd>
<div class="block">Method to create the distributed modular exponentiation lookup table in hdfs for a given Query</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/spark/ComputeExpLookupTable.html#computeExpTable-org.apache.spark.api.java.JavaSparkContext-org.apache.hadoop.fs.FileSystem-org.apache.pirk.responder.wideskies.spark.BroadcastVars-org.apache.pirk.query.wideskies.Query-java.lang.String-java.lang.String-boolean-">computeExpTable(JavaSparkContext, FileSystem, BroadcastVars, Query, String, String, boolean)</a></span> - Static method in class org.apache.pirk.responder.wideskies.spark.<a href="../org/apache/pirk/responder/wideskies/spark/ComputeExpLookupTable.html" title="class in org.apache.pirk.responder.wideskies.spark">ComputeExpLookupTable</a></dt>
<dd>
<div class="block">Method to create the distributed modular exponentiation lookup table in hdfs for a given Query</div>
</dd>
<dt><a href="../org/apache/pirk/responder/wideskies/spark/ComputeResponse.html" title="class in org.apache.pirk.responder.wideskies.spark"><span class="typeNameLink">ComputeResponse</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">Master class for the PIR query spark application</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/spark/ComputeResponse.html#ComputeResponse-org.apache.hadoop.fs.FileSystem-">ComputeResponse(FileSystem)</a></span> - Constructor for class org.apache.pirk.responder.wideskies.spark.<a href="../org/apache/pirk/responder/wideskies/spark/ComputeResponse.html" title="class in org.apache.pirk.responder.wideskies.spark">ComputeResponse</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../org/apache/pirk/responder/wideskies/mapreduce/ComputeResponseTool.html" title="class in org.apache.pirk.responder.wideskies.mapreduce"><span class="typeNameLink">ComputeResponseTool</span></a> - Class in <a href="../org/apache/pirk/responder/wideskies/mapreduce/package-summary.html">org.apache.pirk.responder.wideskies.mapreduce</a></dt>
<dd>
<div class="block">Tool for computing the PIR response in MapReduce</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/mapreduce/ComputeResponseTool.html#ComputeResponseTool--">ComputeResponseTool()</a></span> - Constructor for class org.apache.pirk.responder.wideskies.mapreduce.<a href="../org/apache/pirk/responder/wideskies/mapreduce/ComputeResponseTool.html" title="class in org.apache.pirk.responder.wideskies.mapreduce">ComputeResponseTool</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/standalone/Responder.html#computeStandaloneResponse--">computeStandaloneResponse()</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>
<div class="block">Method to compute the standalone response</div>
</dd>
<dt><a href="../org/apache/pirk/responder/wideskies/spark/streaming/ComputeStreamingResponse.html" title="class in org.apache.pirk.responder.wideskies.spark.streaming"><span class="typeNameLink">ComputeStreamingResponse</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">Master class for the PIR query spark streaming application</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/spark/streaming/ComputeStreamingResponse.html#ComputeStreamingResponse-org.apache.hadoop.fs.FileSystem-">ComputeStreamingResponse(FileSystem)</a></span> - Constructor for 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>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/data/DataSchema.html#containsElement-java.lang.String-">containsElement(String)</a></span> - Method in class org.apache.pirk.schema.data.<a href="../org/apache/pirk/schema/data/DataSchema.html" title="class in org.apache.pirk.schema.data">DataSchema</a></dt>
<dd>
<div class="block">Returns true if the data schema contains an element with the given name.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/utils/EpochDateParser.html#containsWildcard-java.lang.String-">containsWildcard(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><span class="memberNameLink"><a href="../org/apache/pirk/utils/EpochDateParser.html#convertSearchDate-java.lang.String-">convertSearchDate(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><span class="memberNameLink"><a href="../org/apache/pirk/utils/FileConst.html#COUNTS">COUNTS</a></span> - Static variable in class org.apache.pirk.utils.<a href="../org/apache/pirk/utils/FileConst.html" title="class in org.apache.pirk.utils">FileConst</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/test/utils/Inputs.html#createESInput--">createESInput()</a></span> - Static method 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>
<div class="block">Creates Elasticsearch input</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/test/utils/Inputs.html#createJSONDataElements--">createJSONDataElements()</a></span> - Static method 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>
<div class="block">Creates PIR JSON input</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/test/utils/Inputs.html#createJSONInput-org.apache.hadoop.fs.FileSystem-">createJSONInput(FileSystem)</a></span> - Static method 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>
<div class="block">Creates JSON input and writes to hdfs</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/test/utils/TestUtils.html#createQuerySchema-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.util.List-java.util.List-java.lang.String-">createQuerySchema(String, String, String, String, List&lt;String&gt;, List&lt;String&gt;, String)</a></span> - Static method in class org.apache.pirk.test.utils.<a href="../org/apache/pirk/test/utils/TestUtils.html" title="class in org.apache.pirk.test.utils">TestUtils</a></dt>
<dd>
<div class="block">Creates the test query schema file</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/test/utils/TestUtils.html#createQuerySchema-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.util.List-java.util.List-java.lang.String-boolean-org.apache.hadoop.fs.FileSystem-boolean-">createQuerySchema(String, String, String, String, List&lt;String&gt;, List&lt;String&gt;, String, boolean, FileSystem, boolean)</a></span> - Static method in class org.apache.pirk.test.utils.<a href="../org/apache/pirk/test/utils/TestUtils.html" title="class in org.apache.pirk.test.utils">TestUtils</a></dt>
<dd>
<div class="block">Creates the test query schema file</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/inputformat/hadoop/json/JSONInputFormat.html#createRecordReader-org.apache.hadoop.mapreduce.InputSplit-org.apache.hadoop.mapreduce.TaskAttemptContext-">createRecordReader(InputSplit, TaskAttemptContext)</a></span> - Method in class org.apache.pirk.inputformat.hadoop.json.<a href="../org/apache/pirk/inputformat/hadoop/json/JSONInputFormat.html" title="class in org.apache.pirk.inputformat.hadoop.json">JSONInputFormat</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/inputformat/hadoop/json/JSONInputFormatBase.html#createRecordReader-org.apache.hadoop.mapreduce.InputSplit-org.apache.hadoop.mapreduce.TaskAttemptContext-">createRecordReader(InputSplit, TaskAttemptContext)</a></span> - Method in class org.apache.pirk.inputformat.hadoop.json.<a href="../org/apache/pirk/inputformat/hadoop/json/JSONInputFormatBase.html" title="class in org.apache.pirk.inputformat.hadoop.json">JSONInputFormatBase</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/test/utils/Inputs.html#createSchemaFiles-java.lang.String-">createSchemaFiles(String)</a></span> - Static method 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>
<div class="block">Create and load the data and query schema files used for testing</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/test/utils/Inputs.html#createSchemaFiles-org.apache.hadoop.fs.FileSystem-boolean-java.lang.String-">createSchemaFiles(FileSystem, boolean, String)</a></span> - Static method 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>
<div class="block">Create and load the data and query schema files used for testing</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/test/utils/Inputs.html#createStopList-org.apache.hadoop.fs.FileSystem-boolean-">createStopList(FileSystem, boolean)</a></span> - Static method 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>
<div class="block">Creates stoplist file</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/storm/PirkTopology.html#createStormConf--">createStormConf()</a></span> - Static method in class org.apache.pirk.responder.wideskies.storm.<a href="../org/apache/pirk/responder/wideskies/storm/PirkTopology.html" title="class in org.apache.pirk.responder.wideskies.storm">PirkTopology</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../org/apache/pirk/utils/CSVOutputUtils.html" title="class in org.apache.pirk.utils"><span class="typeNameLink">CSVOutputUtils</span></a> - Class in <a href="../org/apache/pirk/utils/package-summary.html">org.apache.pirk.utils</a></dt>
<dd>
<div class="block">Utils class for CSV value output</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/utils/CSVOutputUtils.html#CSVOutputUtils--">CSVOutputUtils()</a></span> - Constructor for 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>
</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-2.html">Prev Letter</a></li>
<li><a href="index-4.html">Next Letter</a></li>
</ul>
<ul class="navList">
<li><a href="../index.html?index-files/index-3.html" target="_top">Frames</a></li>
<li><a href="index-3.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>
