<!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 Sat Sep 24 20:48:47 EDT 2016 -->
<title>G-Index</title>
<meta name="date" content="2016-09-24">
<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="G-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-6.html">Prev Letter</a></li>
<li><a href="index-8.html">Next Letter</a></li>
</ul>
<ul class="navList">
<li><a href="../index.html?index-files/index-7.html" target="_top">Frames</a></li>
<li><a href="index-7.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:G">
<!--   -->
</a>
<h2 class="title">G</h2>
<dl>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/query/wideskies/Query.html#generateExpTable--">generateExpTable()</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>
<div class="block">This should be called after all query elements have been added in order to generate the expTable.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/inputformat/hadoop/BytesArrayWritable.html#get-int-">get(int)</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">Return the ith element as a BytesWritable</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/data/DataSchemaRegistry.html#get-java.lang.String-">get(String)</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">Returns the data schema with the given name.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/query/QuerySchemaRegistry.html#get-java.lang.String-">get(String)</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">Returns the query schema with the given name.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/query/QuerySchema.html#getAdditionalFields--">getAdditionalFields()</a></span> - Method in class org.apache.pirk.schema.query.<a href="../org/apache/pirk/schema/query/QuerySchema.html" title="class in org.apache.pirk.schema.query">QuerySchema</a></dt>
<dd>
<div class="block">Returns the map of additional field keys and values</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/query/QuerySchema.html#getAdditionalFieldValue-java.lang.String-">getAdditionalFieldValue(String)</a></span> - Method in class org.apache.pirk.schema.query.<a href="../org/apache/pirk/schema/query/QuerySchema.html" title="class in org.apache.pirk.schema.query">QuerySchema</a></dt>
<dd>
<div class="block">Returns the value from the additionalFields mapping corresponding to the given key</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/data/DataSchema.html#getArrayElements--">getArrayElements()</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 the element names that are declared as arrays.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/inputformat/hadoop/BytesArrayWritable.html#getBigInteger-int-">getBigInteger(int)</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">Return the ith element from the underlying array</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/inputformat/hadoop/TextArrayWritable.html#getBigInteger-int-">getBigInteger(int)</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">Return the ith element from the underlying array</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/encryption/Paillier.html#getBitLength--">getBitLength()</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/schema/data/partitioner/DataPartitioner.html#getBits-java.lang.String-">getBits(String)</a></span> - Method in interface org.apache.pirk.schema.data.partitioner.<a href="../org/apache/pirk/schema/data/partitioner/DataPartitioner.html" title="interface in org.apache.pirk.schema.data.partitioner">DataPartitioner</a></dt>
<dd>
<div class="block">Returns the number of bits of an object with the given type.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/data/partitioner/IPDataPartitioner.html#getBits-java.lang.String-">getBits(String)</a></span> - Method in class org.apache.pirk.schema.data.partitioner.<a href="../org/apache/pirk/schema/data/partitioner/IPDataPartitioner.html" title="class in org.apache.pirk.schema.data.partitioner">IPDataPartitioner</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/data/partitioner/ISO8601DatePartitioner.html#getBits-java.lang.String-">getBits(String)</a></span> - Method in class org.apache.pirk.schema.data.partitioner.<a href="../org/apache/pirk/schema/data/partitioner/ISO8601DatePartitioner.html" title="class in org.apache.pirk.schema.data.partitioner">ISO8601DatePartitioner</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/data/partitioner/PrimitiveTypePartitioner.html#getBits-java.lang.String-">getBits(String)</a></span> - Method 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>
<div class="block">Get the bit size of the allowed primitive java types</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/utils/SystemConfiguration.html#getBooleanProperty-java.lang.String-boolean-">getBooleanProperty(String, boolean)</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">Gets the specified property as a <code>boolean</code>, or the default value if the property isn't defined.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/inputformat/hadoop/BytesArrayWritable.html#getByteAsInt-int-">getByteAsInt(int)</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">Return the ith element as an int</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/inputformat/hadoop/BytesArrayWritable.html#getBytes-int-">getBytes(int)</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">Return the ith element as a byte array</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/standalone/Responder.html#getColumns--">getColumns()</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/inputformat/hadoop/json/JSONRecordReader.html#getCurrentKey--">getCurrentKey()</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/inputformat/hadoop/json/JSONRecordReader.html#getCurrentValue--">getCurrentValue()</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/schema/query/QuerySchema.html#getDataElementSize--">getDataElementSize()</a></span> - Method in class org.apache.pirk.schema.query.<a href="../org/apache/pirk/schema/query/QuerySchema.html" title="class in org.apache.pirk.schema.query">QuerySchema</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/query/wideskies/QueryInfo.html#getDataPartitionBitSize--">getDataPartitionBitSize()</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/responder/wideskies/spark/BroadcastVars.html#getDataSchema--">getDataSchema()</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/query/QuerySchema.html#getDataSchemaName--">getDataSchemaName()</a></span> - Method in class org.apache.pirk.schema.query.<a href="../org/apache/pirk/schema/query/QuerySchema.html" title="class in org.apache.pirk.schema.query">QuerySchema</a></dt>
<dd>
<div class="block">Returns the name of the data schema.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/utils/ISO8601DateParser.html#getDate-java.lang.String-">getDate(String)</a></span> - Static method in class org.apache.pirk.utils.<a href="../org/apache/pirk/utils/ISO8601DateParser.html" title="class in org.apache.pirk.utils">ISO8601DateParser</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/data/DataSchema.html#getElementNames--">getElementNames()</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 the set of element names defined by this schema.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/query/QuerySchema.html#getElementNames--">getElementNames()</a></span> - Method in class org.apache.pirk.schema.query.<a href="../org/apache/pirk/schema/query/QuerySchema.html" title="class in org.apache.pirk.schema.query">QuerySchema</a></dt>
<dd>
<div class="block">Returns the element names to include in the response.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/data/DataSchema.html#getElementType-java.lang.String-">getElementType(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 the name of the Java type associated with the given element name.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/query/wideskies/QueryUtils.html#getEmbeddedSelector-java.lang.String-java.lang.String-org.apache.pirk.schema.data.partitioner.DataPartitioner-">getEmbeddedSelector(String, String, DataPartitioner)</a></span> - Static method in class org.apache.pirk.query.wideskies.<a href="../org/apache/pirk/query/wideskies/QueryUtils.html" title="class in org.apache.pirk.query.wideskies">QueryUtils</a></dt>
<dd>
<div class="block">Method get the embedded selector from a given selector</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/query/wideskies/QueryUtils.html#getEmbeddedSelectorFromPartitions-java.util.List-int-java.lang.String-java.lang.Object-">getEmbeddedSelectorFromPartitions(List&lt;BigInteger&gt;, int, String, Object)</a></span> - Static method in class org.apache.pirk.query.wideskies.<a href="../org/apache/pirk/query/wideskies/QueryUtils.html" title="class in org.apache.pirk.query.wideskies">QueryUtils</a></dt>
<dd>
<div class="block">Reconstructs the String version of the embedded selector from its partitions</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/query/wideskies/QueryInfo.html#getEmbedSelector--">getEmbedSelector()</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/querier/wideskies/Querier.html#getEmbedSelectorMap--">getEmbedSelectorMap()</a></span> - Method in class org.apache.pirk.querier.wideskies.<a href="../org/apache/pirk/querier/wideskies/Querier.html" title="class in org.apache.pirk.querier.wideskies">Querier</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/query/wideskies/Query.html#getExp-java.math.BigInteger-int-">getExp(BigInteger, int)</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/responder/wideskies/spark/BroadcastVars.html#getExpDir--">getExpDir()</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#getExpFile-int-">getExpFile(int)</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/query/wideskies/Query.html#getExpFileBasedLookup--">getExpFileBasedLookup()</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/HDFS.html#getFilesInDirectory-org.apache.hadoop.fs.FileSystem-java.lang.String-">getFilesInDirectory(FileSystem, String)</a></span> - Static method in class org.apache.pirk.utils.<a href="../org/apache/pirk/utils/HDFS.html" title="class in org.apache.pirk.utils">HDFS</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/query/filter/FilterFactory.html#getFilter-java.lang.String-java.util.Set-">getFilter(String, Set&lt;String&gt;)</a></span> - Static method in class org.apache.pirk.schema.query.filter.<a href="../org/apache/pirk/schema/query/filter/FilterFactory.html" title="class in org.apache.pirk.schema.query.filter">FilterFactory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/query/QuerySchema.html#getFilter--">getFilter()</a></span> - Method in class org.apache.pirk.schema.query.<a href="../org/apache/pirk/schema/query/QuerySchema.html" title="class in org.apache.pirk.schema.query">QuerySchema</a></dt>
<dd>
<div class="block">Returns the data element filter for this query.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/query/QuerySchema.html#getFilteredElementNames--">getFilteredElementNames()</a></span> - Method in class org.apache.pirk.schema.query.<a href="../org/apache/pirk/schema/query/QuerySchema.html" title="class in org.apache.pirk.schema.query">QuerySchema</a></dt>
<dd>
<div class="block">Returns the set of element names on which to apply the filter.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/query/QuerySchema.html#getFilterTypeName--">getFilterTypeName()</a></span> - Method in class org.apache.pirk.schema.query.<a href="../org/apache/pirk/schema/query/QuerySchema.html" title="class in org.apache.pirk.schema.query">QuerySchema</a></dt>
<dd>
<div class="block">Returns the name of the filter class for this query.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/query/wideskies/QueryInfo.html#getHashBitSize--">getHashBitSize()</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/query/wideskies/QueryInfo.html#getHashKey--">getHashKey()</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/query/wideskies/QueryInfo.html#getIdentifier--">getIdentifier()</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/responder/wideskies/ResponderService.html#getInstance--">getInstance()</a></span> - Static method in class org.apache.pirk.responder.wideskies.<a href="../org/apache/pirk/responder/wideskies/ResponderService.html" title="class in org.apache.pirk.responder.wideskies">ResponderService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/utils/SystemConfiguration.html#getIntProperty-java.lang.String-int-">getIntProperty(String, int)</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">Gets the specified property as an <code>int</code>, or the default value if the property isn't found.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/response/QueryResponseJSON.html#getJSONObject--">getJSONObject()</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/schema/response/QueryResponseJSON.html#getJSONString--">getJSONString()</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/encryption/Paillier.html#getLambdaN--">getLambdaN()</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/responder/wideskies/spark/BroadcastVars.html#getLimitHitsPerSelector--">getLimitHitsPerSelector()</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/ISO8601DateParser.html#getLongDate-java.lang.String-">getLongDate(String)</a></span> - Static method in class org.apache.pirk.utils.<a href="../org/apache/pirk/utils/ISO8601DateParser.html" title="class in org.apache.pirk.utils">ISO8601DateParser</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/utils/SystemConfiguration.html#getLongProperty-java.lang.String-long-">getLongProperty(String, long)</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">Gets the specified property as an <code>long</code>, or the default value if the property isn't found.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/spark/BroadcastVars.html#getMaxBatches--">getMaxBatches()</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#getMaxHitsPerSelector--">getMaxHitsPerSelector()</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/encryption/Paillier.html#getN--">getN()</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/Query.html#getN--">getN()</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/schema/data/DataSchemaRegistry.html#getNames--">getNames()</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">Returns the set of data schema names held in the registry.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/query/QuerySchemaRegistry.html#getNames--">getNames()</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">Returns the set of query schema names held in the registry.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/data/DataSchema.html#getNonArrayElements--">getNonArrayElements()</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 the element names that are declared to not be arrays.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/encryption/Paillier.html#getNSquared--">getNSquared()</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/Query.html#getNSquared--">getNSquared()</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/query/wideskies/QueryInfo.html#getNumBitsPerDataElement--">getNumBitsPerDataElement()</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/schema/data/partitioner/DataPartitioner.html#getNumPartitions-java.lang.String-">getNumPartitions(String)</a></span> - Method in interface org.apache.pirk.schema.data.partitioner.<a href="../org/apache/pirk/schema/data/partitioner/DataPartitioner.html" title="interface in org.apache.pirk.schema.data.partitioner">DataPartitioner</a></dt>
<dd>
<div class="block">Method to get the number of partitions of the data object given the type.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/data/partitioner/IPDataPartitioner.html#getNumPartitions-java.lang.String-">getNumPartitions(String)</a></span> - Method in class org.apache.pirk.schema.data.partitioner.<a href="../org/apache/pirk/schema/data/partitioner/IPDataPartitioner.html" title="class in org.apache.pirk.schema.data.partitioner">IPDataPartitioner</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/data/partitioner/ISO8601DatePartitioner.html#getNumPartitions-java.lang.String-">getNumPartitions(String)</a></span> - Method in class org.apache.pirk.schema.data.partitioner.<a href="../org/apache/pirk/schema/data/partitioner/ISO8601DatePartitioner.html" title="class in org.apache.pirk.schema.data.partitioner">ISO8601DatePartitioner</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/data/partitioner/PrimitiveTypePartitioner.html#getNumPartitions-java.lang.String-">getNumPartitions(String)</a></span> - Method 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>
<div class="block">Method to get the number of 8-bit partitions given the element type</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/query/wideskies/QueryInfo.html#getNumPartitionsPerDataElement--">getNumPartitionsPerDataElement()</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/query/wideskies/QueryInfo.html#getNumSelectors--">getNumSelectors()</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/querier/wideskies/QuerierCLI.html#getOptionValue-java.lang.String-">getOptionValue(String)</a></span> - Method in class org.apache.pirk.querier.wideskies.<a href="../org/apache/pirk/querier/wideskies/QuerierCLI.html" title="class in org.apache.pirk.querier.wideskies">QuerierCLI</a></dt>
<dd>
<div class="block">Obtain the argument of the option provided by the user via the CLI</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/ResponderCLI.html#getOptionValue-java.lang.String-">getOptionValue(String)</a></span> - Method in class org.apache.pirk.responder.wideskies.<a href="../org/apache/pirk/responder/wideskies/ResponderCLI.html" title="class in org.apache.pirk.responder.wideskies">ResponderCLI</a></dt>
<dd>
<div class="block">Obtain the argument of the option provided by the user via the CLI</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/test/distributed/DistributedTestCLI.html#getOptionValue-java.lang.String-">getOptionValue(String)</a></span> - Method in class org.apache.pirk.test.distributed.<a href="../org/apache/pirk/test/distributed/DistributedTestCLI.html" title="class in org.apache.pirk.test.distributed">DistributedTestCLI</a></dt>
<dd>
<div class="block">Obtain the argument of the option provided by the user via the CLI</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/spark/BroadcastVars.html#getOutput--">getOutput()</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/storm/PirkHashScheme.html#getOutputFields--">getOutputFields()</a></span> - Method in class org.apache.pirk.responder.wideskies.storm.<a href="../org/apache/pirk/responder/wideskies/storm/PirkHashScheme.html" title="class in org.apache.pirk.responder.wideskies.storm">PirkHashScheme</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/encryption/Paillier.html#getP--">getP()</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/schema/data/partitioner/DataPartitioner.html#getPaddedPartitions-java.lang.String-">getPaddedPartitions(String)</a></span> - Method in interface org.apache.pirk.schema.data.partitioner.<a href="../org/apache/pirk/schema/data/partitioner/DataPartitioner.html" title="interface in org.apache.pirk.schema.data.partitioner">DataPartitioner</a></dt>
<dd>
<div class="block">Method to get an empty set of partitions by data type - used for padding return array values.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/data/partitioner/IPDataPartitioner.html#getPaddedPartitions-java.lang.String-">getPaddedPartitions(String)</a></span> - Method in class org.apache.pirk.schema.data.partitioner.<a href="../org/apache/pirk/schema/data/partitioner/IPDataPartitioner.html" title="class in org.apache.pirk.schema.data.partitioner">IPDataPartitioner</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/data/partitioner/ISO8601DatePartitioner.html#getPaddedPartitions-java.lang.String-">getPaddedPartitions(String)</a></span> - Method in class org.apache.pirk.schema.data.partitioner.<a href="../org/apache/pirk/schema/data/partitioner/ISO8601DatePartitioner.html" title="class in org.apache.pirk.schema.data.partitioner">ISO8601DatePartitioner</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/data/partitioner/PrimitiveTypePartitioner.html#getPaddedPartitions-java.lang.String-">getPaddedPartitions(String)</a></span> - Method 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>
<div class="block">Method to get an empty set of partitions by data type - used for padding return array values</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/querier/wideskies/Querier.html#getPaillier--">getPaillier()</a></span> - Method in class org.apache.pirk.querier.wideskies.<a href="../org/apache/pirk/querier/wideskies/Querier.html" title="class in org.apache.pirk.querier.wideskies">Querier</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/data/DataSchema.html#getPartitionerForElement-java.lang.String-">getPartitionerForElement(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 the partitioner instance for the given element name.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/data/DataSchema.html#getPartitionerInstance-java.lang.String-">getPartitionerInstance(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 the partitioner corresponding to the given partitioner class name.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/data/DataSchema.html#getPartitionerTypeName-java.lang.String-">getPartitionerTypeName(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 the partitioner type name for a given element name.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/storm/PirkTopology.html#getPirkTopology-org.apache.storm.kafka.SpoutConfig-">getPirkTopology(SpoutConfig)</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>
<div class="block">Creates Pirk topology: KafkaSpout -> PartitionDataBolt -> EncRowCalcBolt -> EncColMultBolt -> OutputBolt Requires KafkaConfig to initialize KafkaSpout.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/mapreduce/MapReduceResponder.html#getPlatformName--">getPlatformName()</a></span> - Method in class org.apache.pirk.responder.wideskies.mapreduce.<a href="../org/apache/pirk/responder/wideskies/mapreduce/MapReduceResponder.html" title="class in org.apache.pirk.responder.wideskies.mapreduce">MapReduceResponder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/spark/SparkResponder.html#getPlatformName--">getPlatformName()</a></span> - Method in 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><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/spark/streaming/SparkStreamingResponder.html#getPlatformName--">getPlatformName()</a></span> - Method in 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/responder/wideskies/spi/ResponderPlugin.html#getPlatformName--">getPlatformName()</a></span> - Method in interface org.apache.pirk.responder.wideskies.spi.<a href="../org/apache/pirk/responder/wideskies/spi/ResponderPlugin.html" title="interface in org.apache.pirk.responder.wideskies.spi">ResponderPlugin</a></dt>
<dd>
<div class="block">Returns the plugin name for your framework This will be the platform argument</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/standalone/StandaloneResponder.html#getPlatformName--">getPlatformName()</a></span> - Method in 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><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/storm/StormResponder.html#getPlatformName--">getPlatformName()</a></span> - Method in 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><span class="memberNameLink"><a href="../org/apache/pirk/encryption/PrimeGenerator.html#getPrimePair-int-int-java.util.Random-">getPrimePair(int, int, Random)</a></span> - Static method in class org.apache.pirk.encryption.<a href="../org/apache/pirk/encryption/PrimeGenerator.html" title="class in org.apache.pirk.encryption">PrimeGenerator</a></dt>
<dd>
<div class="block">This method returns a two-long array containing a viable RSA p and q meeting FIPS 186-4 and SP 800-56B</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/inputformat/hadoop/json/JSONRecordReader.html#getProgress--">getProgress()</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/utils/SystemConfiguration.html#getProperty-java.lang.String-">getProperty(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">Gets the specified property; returns <code>null</code> if the property isn't found.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/utils/SystemConfiguration.html#getProperty-java.lang.String-java.lang.String-">getProperty(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">Gets the specified property as a <code>String</code>, or the default value if the property isn't found.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/encryption/Paillier.html#getQ--">getQ()</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/querier/wideskies/Querier.html#getQuery--">getQuery()</a></span> - Method in class org.apache.pirk.querier.wideskies.<a href="../org/apache/pirk/querier/wideskies/Querier.html" title="class in org.apache.pirk.querier.wideskies">Querier</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/spark/BroadcastVars.html#getQuery--">getQuery()</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/storm/StormUtils.html#getQuery-boolean-java.lang.String-java.lang.String-">getQuery(boolean, String, String)</a></span> - Static method in 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>
<div class="block">Method to read in serialized Query object from the given queryFile</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/query/wideskies/Query.html#getQueryElement-int-">getQueryElement(int)</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/query/wideskies/Query.html#getQueryElements--">getQueryElements()</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/query/wideskies/Query.html#getQueryInfo--">getQueryInfo()</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/responder/wideskies/spark/BroadcastVars.html#getQueryInfo--">getQueryInfo()</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/response/wideskies/Response.html#getQueryInfo--">getQueryInfo()</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#getQueryInfo--">getQueryInfo()</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/query/wideskies/QueryInfo.html#getQuerySchema--">getQuerySchema()</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/responder/wideskies/spark/BroadcastVars.html#getQuerySchema--">getQuerySchema()</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/QueryInfo.html#getQueryType--">getQueryType()</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/test/utils/Inputs.html#getRcode3JSONDataElements--">getRcode3JSONDataElements()</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 an ArrayList of JSONObjects with RCODE value of 3</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/ResponderService.html#getResponder-java.lang.String-">getResponder(String)</a></span> - Method in class org.apache.pirk.responder.wideskies.<a href="../org/apache/pirk/responder/wideskies/ResponderService.html" title="class in org.apache.pirk.responder.wideskies">ResponderService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/standalone/Responder.html#getResponse--">getResponse()</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#getResponseElements--">getResponseElements()</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/data/DataSchema.html#getSchemaName--">getSchemaName()</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 the name of this schema.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/query/QuerySchema.html#getSchemaName--">getSchemaName()</a></span> - Method in class org.apache.pirk.schema.query.<a href="../org/apache/pirk/schema/query/QuerySchema.html" title="class in org.apache.pirk.schema.query">QuerySchema</a></dt>
<dd>
<div class="block">Returns the name of this schema.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/encryption/PrimeGenerator.html#getSecondPrime-int-int-java.util.Random-java.math.BigInteger-">getSecondPrime(int, int, Random, BigInteger)</a></span> - Static method in class org.apache.pirk.encryption.<a href="../org/apache/pirk/encryption/PrimeGenerator.html" title="class in org.apache.pirk.encryption">PrimeGenerator</a></dt>
<dd>
<div class="block">Method to generate a second prime, q, in relation to a (p,q) RSA key pair</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/query/wideskies/QueryUtils.html#getSelectorByQueryType-org.apache.hadoop.io.MapWritable-org.apache.pirk.schema.query.QuerySchema-org.apache.pirk.schema.data.DataSchema-">getSelectorByQueryType(MapWritable, QuerySchema, DataSchema)</a></span> - Static method in class org.apache.pirk.query.wideskies.<a href="../org/apache/pirk/query/wideskies/QueryUtils.html" title="class in org.apache.pirk.query.wideskies">QueryUtils</a></dt>
<dd>
<div class="block">Pulls the correct selector from the MapWritable data element given the queryType</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/query/wideskies/QueryUtils.html#getSelectorByQueryTypeJSON-org.apache.pirk.schema.query.QuerySchema-org.json.simple.JSONObject-">getSelectorByQueryTypeJSON(QuerySchema, JSONObject)</a></span> - Static method in class org.apache.pirk.query.wideskies.<a href="../org/apache/pirk/query/wideskies/QueryUtils.html" title="class in org.apache.pirk.query.wideskies">QueryUtils</a></dt>
<dd>
<div class="block">Pulls the correct selector from the JSONObject data element given the queryType</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/schema/query/QuerySchema.html#getSelectorName--">getSelectorName()</a></span> - Method in class org.apache.pirk.schema.query.<a href="../org/apache/pirk/schema/query/QuerySchema.html" title="class in org.apache.pirk.schema.query">QuerySchema</a></dt>
<dd>
<div class="block">Returns the element name used as the selector.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/querier/wideskies/Querier.html#getSelectors--">getSelectors()</a></span> - Method in class org.apache.pirk.querier.wideskies.<a href="../org/apache/pirk/querier/wideskies/Querier.html" title="class in org.apache.pirk.querier.wideskies">Querier</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/encryption/PrimeGenerator.html#getSinglePrime-int-int-java.util.Random-">getSinglePrime(int, int, Random)</a></span> - Static method in class org.apache.pirk.encryption.<a href="../org/apache/pirk/encryption/PrimeGenerator.html" title="class in org.apache.pirk.encryption">PrimeGenerator</a></dt>
<dd>
<div class="block">Method to generate a single prime</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/inputformat/hadoop/json/JSONInputFormatBase.html#getSplits-org.apache.hadoop.mapreduce.JobContext-">getSplits(JobContext)</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/schema/data/DataSchema.html#getTextName-java.lang.String-">getTextName(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 the Hadoop text representation of a given element name.</div>
</dd>
<dt><span class="memberNameLink"><a href="../org/apache/pirk/responder/wideskies/spark/BroadcastVars.html#getUseLocalCache--">getUseLocalCache()</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#getValue-java.lang.String-">getValue(String)</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>
</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-6.html">Prev Letter</a></li>
<li><a href="index-8.html">Next Letter</a></li>
</ul>
<ul class="navList">
<li><a href="../index.html?index-files/index-7.html" target="_top">Frames</a></li>
<li><a href="index-7.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>
