<!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 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ParseFilter (Apache HBase 3.0.0-alpha-2-SNAPSHOT API)</title>
<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="ParseFilter (Apache HBase 3.0.0-alpha-2-SNAPSHOT API)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":10,"i11":9,"i12":9,"i13":9,"i14":10,"i15":10,"i16":9,"i17":9,"i18":10,"i19":10,"i20":10,"i21":9,"i22":10,"i23":9,"i24":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</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><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ParseFilter.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/hadoop/hbase/filter/ParseConstants.html" title="class in org.apache.hadoop.hbase.filter"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html" title="class in org.apache.hadoop.hbase.filter"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/hbase/filter/ParseFilter.html" target="_top">Frames</a></li>
<li><a href="ParseFilter.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>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.hadoop.hbase.filter</div>
<h2 title="Class ParseFilter" class="title">Class ParseFilter</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.hadoop.hbase.filter.ParseFilter</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>@InterfaceAudience.Public
public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ParseFilter.html#line.51">ParseFilter</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">This class allows a user to specify a filter via a string
 The string is parsed using the methods of this class and
 a filter object is constructed. This filter object is then wrapped
 in a scanner object which is then returned
 <p>
 This class addresses the HBASE-4168 JIRA. More documentation on this
 Filter Language can be found at: https://issues.apache.org/jira/browse/HBASE-4176</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ParseFilter.html#ParseFilter--">ParseFilter</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ParseFilter.html#checkForAnd-byte:A-int-">checkForAnd</a></span>(byte[]&nbsp;filterStringAsByteArray,
           int&nbsp;indexOfAnd)</code>
<div class="block">Checks if the current index of filter string we are on is the beginning of the keyword 'AND'</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ParseFilter.html#checkForOr-byte:A-int-">checkForOr</a></span>(byte[]&nbsp;filterStringAsByteArray,
          int&nbsp;indexOfOr)</code>
<div class="block">Checks if the current index of filter string we are on is the beginning of the keyword 'OR'</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ParseFilter.html#checkForSkip-byte:A-int-">checkForSkip</a></span>(byte[]&nbsp;filterStringAsByteArray,
            int&nbsp;indexOfSkip)</code>
<div class="block">Checks if the current index of filter string we are on is the beginning of the keyword 'SKIP'</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ParseFilter.html#checkForWhile-byte:A-int-">checkForWhile</a></span>(byte[]&nbsp;filterStringAsByteArray,
             int&nbsp;indexOfWhile)</code>
<div class="block">Checks if the current index of filter string we are on is the beginning of the keyword 'WHILE'</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ParseFilter.html#convertByteArrayToBoolean-byte:A-">convertByteArrayToBoolean</a></span>(byte[]&nbsp;booleanAsByteArray)</code>
<div class="block">Converts a boolean expressed in a byte array to an actual boolean</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ParseFilter.html#convertByteArrayToInt-byte:A-">convertByteArrayToInt</a></span>(byte[]&nbsp;numberAsByteArray)</code>
<div class="block">Converts an int expressed in a byte array to an actual int</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ParseFilter.html#convertByteArrayToLong-byte:A-">convertByteArrayToLong</a></span>(byte[]&nbsp;numberAsByteArray)</code>
<div class="block">Converts a long expressed in a byte array to an actual long</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ParseFilter.html#createComparator-byte:A-">createComparator</a></span>(byte[]&nbsp;comparator)</code>
<div class="block">Parses a comparator of the form comparatorType:comparatorValue form and returns a comparator</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ParseFilter.html#createCompareOperator-byte:A-">createCompareOperator</a></span>(byte[]&nbsp;compareOpAsByteArray)</code>
<div class="block">Takes a compareOperator symbol as a byte array and returns the corresponding CompareOperator</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>static byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ParseFilter.html#createUnescapdArgument-byte:A-int-int-">createUnescapdArgument</a></span>(byte[]&nbsp;filterStringAsByteArray,
                      int&nbsp;argumentStartIndex,
                      int&nbsp;argumentEndIndex)</code>
<div class="block">Removes the single quote escaping a single quote - thus it returns an unescaped argument</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ParseFilter.html#extractFilterSimpleExpression-byte:A-int-">extractFilterSimpleExpression</a></span>(byte[]&nbsp;filterStringAsByteArray,
                             int&nbsp;filterExpressionStartOffset)</code>
<div class="block">Extracts a simple filter expression from the filter string given by the user</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ParseFilter.html#getAllFilters--">getAllFilters</a></span>()</code>
<div class="block">Returns all known filters</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ParseFilter.html#getFilterArguments-byte:A-">getFilterArguments</a></span>(byte[]&nbsp;filterStringAsByteArray)</code>
<div class="block">Returns the arguments of the filter from the filter string</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>static byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ParseFilter.html#getFilterName-byte:A-">getFilterName</a></span>(byte[]&nbsp;filterStringAsByteArray)</code>
<div class="block">Returns the filter name given a simple filter expression</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ParseFilter.html#getSupportedFilters--">getSupportedFilters</a></span>()</code>
<div class="block">Return a Set of filters supported by the Filter Language</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ParseFilter.html#hasHigherPriority-java.nio.ByteBuffer-java.nio.ByteBuffer-">hasHigherPriority</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;a,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;b)</code>
<div class="block">Returns which operator has higher precedence</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ParseFilter.html#isQuoteUnescaped-byte:A-int-">isQuoteUnescaped</a></span>(byte[]&nbsp;array,
                int&nbsp;quoteIndex)</code>
<div class="block">Returns a boolean indicating whether the quote was escaped or not</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>static byte[][]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ParseFilter.html#parseComparator-byte:A-">parseComparator</a></span>(byte[]&nbsp;comparator)</code>
<div class="block">Splits a column in comparatorType:comparatorValue form into separate byte arrays</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ParseFilter.html#parseFilterString-byte:A-">parseFilterString</a></span>(byte[]&nbsp;filterStringAsByteArray)</code>
<div class="block">Parses the filterString and constructs a filter using it</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ParseFilter.html#parseFilterString-java.lang.String-">parseFilterString</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filterString)</code>
<div class="block">Parses the filterString and constructs a filter using it</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ParseFilter.html#parseSimpleFilterExpression-byte:A-">parseSimpleFilterExpression</a></span>(byte[]&nbsp;filterStringAsByteArray)</code>
<div class="block">Constructs a filter object given a simple filter expression</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ParseFilter.html#popArguments-java.util.Stack-java.util.Stack-">popArguments</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Stack.html?is-external=true" title="class or interface in java.util">Stack</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&gt;&nbsp;operatorStack,
            <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Stack.html?is-external=true" title="class or interface in java.util">Stack</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&gt;&nbsp;filterStack)</code>
<div class="block">Pops an argument from the operator stack and the number of arguments required by the operator
 from the filterStack and evaluates them</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ParseFilter.html#reduce-java.util.Stack-java.util.Stack-java.nio.ByteBuffer-">reduce</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Stack.html?is-external=true" title="class or interface in java.util">Stack</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&gt;&nbsp;operatorStack,
      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Stack.html?is-external=true" title="class or interface in java.util">Stack</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&gt;&nbsp;filterStack,
      <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;operator)</code>
<div class="block">This function is called while parsing the filterString and an operator is parsed</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ParseFilter.html#registerFilter-java.lang.String-java.lang.String-">registerFilter</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filterClass)</code>
<div class="block">Register a new filter with the parser.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>static byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ParseFilter.html#removeQuotesFromByteArray-byte:A-">removeQuotesFromByteArray</a></span>(byte[]&nbsp;quotedByteArray)</code>
<div class="block">Takes a quoted byte array and converts it into an unquoted byte array
 For example: given a byte array representing 'abc', it returns a
 byte array representing abc</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="ParseFilter--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ParseFilter</h4>
<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ParseFilter.html#line.51">ParseFilter</a>()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="parseFilterString-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parseFilterString</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ParseFilter.html#line.113">parseFilterString</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filterString)
                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/charset/CharacterCodingException.html?is-external=true" title="class or interface in java.nio.charset">CharacterCodingException</a></pre>
<div class="block">Parses the filterString and constructs a filter using it
 <p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>filterString</code> - filter string given by the user</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>filter object we constructed</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/nio/charset/CharacterCodingException.html?is-external=true" title="class or interface in java.nio.charset">CharacterCodingException</a></code></dd>
</dl>
</li>
</ul>
<a name="parseFilterString-byte:A-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parseFilterString</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ParseFilter.html#line.124">parseFilterString</a>(byte[]&nbsp;filterStringAsByteArray)
                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/charset/CharacterCodingException.html?is-external=true" title="class or interface in java.nio.charset">CharacterCodingException</a></pre>
<div class="block">Parses the filterString and constructs a filter using it
 <p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>filterStringAsByteArray</code> - filter string given by the user</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>filter object we constructed</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/nio/charset/CharacterCodingException.html?is-external=true" title="class or interface in java.nio.charset">CharacterCodingException</a></code></dd>
</dl>
</li>
</ul>
<a name="extractFilterSimpleExpression-byte:A-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>extractFilterSimpleExpression</h4>
<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ParseFilter.html#line.214">extractFilterSimpleExpression</a>(byte[]&nbsp;filterStringAsByteArray,
                                            int&nbsp;filterExpressionStartOffset)
                                     throws <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/charset/CharacterCodingException.html?is-external=true" title="class or interface in java.nio.charset">CharacterCodingException</a></pre>
<div class="block">Extracts a simple filter expression from the filter string given by the user
 <p>
 A simpleFilterExpression is of the form: FilterName('arg', 'arg', 'arg')
 The user given filter string can have many simpleFilterExpressions combined
 using operators.
 <p>
 This function extracts a simpleFilterExpression from the
 larger filterString given the start offset of the simpler expression
 <p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>filterStringAsByteArray</code> - filter string given by the user</dd>
<dd><code>filterExpressionStartOffset</code> - start index of the simple filter expression</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>byte array containing the simple filter expression</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/nio/charset/CharacterCodingException.html?is-external=true" title="class or interface in java.nio.charset">CharacterCodingException</a></code></dd>
</dl>
</li>
</ul>
<a name="parseSimpleFilterExpression-byte:A-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parseSimpleFilterExpression</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ParseFilter.html#line.243">parseSimpleFilterExpression</a>(byte[]&nbsp;filterStringAsByteArray)
                                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/charset/CharacterCodingException.html?is-external=true" title="class or interface in java.nio.charset">CharacterCodingException</a></pre>
<div class="block">Constructs a filter object given a simple filter expression
 <p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>filterStringAsByteArray</code> - filter string given by the user</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>filter object we constructed</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/nio/charset/CharacterCodingException.html?is-external=true" title="class or interface in java.nio.charset">CharacterCodingException</a></code></dd>
</dl>
</li>
</ul>
<a name="getFilterName-byte:A-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFilterName</h4>
<pre>public static&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ParseFilter.html#line.277">getFilterName</a>(byte[]&nbsp;filterStringAsByteArray)</pre>
<div class="block">Returns the filter name given a simple filter expression
 <p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>filterStringAsByteArray</code> - a simple filter expression</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>name of filter in the simple filter expression</dd>
</dl>
</li>
</ul>
<a name="getFilterArguments-byte:A-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFilterArguments</h4>
<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ParseFilter.html#line.305">getFilterArguments</a>(byte[]&nbsp;filterStringAsByteArray)</pre>
<div class="block">Returns the arguments of the filter from the filter string
 <p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>filterStringAsByteArray</code> - filter string given by the user</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an ArrayList containing the arguments of the filter in the filter string</dd>
</dl>
</li>
</ul>
<a name="reduce-java.util.Stack-java.util.Stack-java.nio.ByteBuffer-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reduce</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ParseFilter.html#line.375">reduce</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Stack.html?is-external=true" title="class or interface in java.util">Stack</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&gt;&nbsp;operatorStack,
                   <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Stack.html?is-external=true" title="class or interface in java.util">Stack</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&gt;&nbsp;filterStack,
                   <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;operator)</pre>
<div class="block">This function is called while parsing the filterString and an operator is parsed
 <p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>operatorStack</code> - the stack containing the operators and parenthesis</dd>
<dd><code>filterStack</code> - the stack containing the filters</dd>
<dd><code>operator</code> - the operator found while parsing the filterString</dd>
</dl>
</li>
</ul>
<a name="popArguments-java.util.Stack-java.util.Stack-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>popArguments</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ParseFilter.html#line.393">popArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Stack.html?is-external=true" title="class or interface in java.util">Stack</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&gt;&nbsp;operatorStack,
                                  <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Stack.html?is-external=true" title="class or interface in java.util">Stack</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&gt;&nbsp;filterStack)</pre>
<div class="block">Pops an argument from the operator stack and the number of arguments required by the operator
 from the filterStack and evaluates them
 <p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>operatorStack</code> - the stack containing the operators</dd>
<dd><code>filterStack</code> - the stack containing the filters</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the evaluated filter</dd>
</dl>
</li>
</ul>
<a name="hasHigherPriority-java.nio.ByteBuffer-java.nio.ByteBuffer-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasHigherPriority</h4>
<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ParseFilter.html#line.473">hasHigherPriority</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;a,
                                 <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;b)</pre>
<div class="block">Returns which operator has higher precedence
 <p>
 If a has higher precedence than b, it returns true
 If they have the same precedence, it returns false</div>
</li>
</ul>
<a name="createUnescapdArgument-byte:A-int-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createUnescapdArgument</h4>
<pre>public static&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ParseFilter.html#line.488">createUnescapdArgument</a>(byte[]&nbsp;filterStringAsByteArray,
                                            int&nbsp;argumentStartIndex,
                                            int&nbsp;argumentEndIndex)</pre>
<div class="block">Removes the single quote escaping a single quote - thus it returns an unescaped argument
 <p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>filterStringAsByteArray</code> - filter string given by user</dd>
<dd><code>argumentStartIndex</code> - start index of the argument</dd>
<dd><code>argumentEndIndex</code> - end index of the argument</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>returns an unescaped argument</dd>
</dl>
</li>
</ul>
<a name="checkForOr-byte:A-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkForOr</h4>
<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ParseFilter.html#line.526">checkForOr</a>(byte[]&nbsp;filterStringAsByteArray,
                                 int&nbsp;indexOfOr)
                          throws <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/charset/CharacterCodingException.html?is-external=true" title="class or interface in java.nio.charset">CharacterCodingException</a>,
                                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ArrayIndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">ArrayIndexOutOfBoundsException</a></pre>
<div class="block">Checks if the current index of filter string we are on is the beginning of the keyword 'OR'
 <p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>filterStringAsByteArray</code> - filter string given by the user</dd>
<dd><code>indexOfOr</code> - index at which an 'O' was read</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the keyword 'OR' is at the current index</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/nio/charset/CharacterCodingException.html?is-external=true" title="class or interface in java.nio.charset">CharacterCodingException</a></code></dd>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ArrayIndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang">ArrayIndexOutOfBoundsException</a></code></dd>
</dl>
</li>
</ul>
<a name="checkForAnd-byte:A-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkForAnd</h4>
<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ParseFilter.html#line.552">checkForAnd</a>(byte[]&nbsp;filterStringAsByteArray,
                                  int&nbsp;indexOfAnd)
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/charset/CharacterCodingException.html?is-external=true" title="class or interface in java.nio.charset">CharacterCodingException</a></pre>
<div class="block">Checks if the current index of filter string we are on is the beginning of the keyword 'AND'
 <p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>filterStringAsByteArray</code> - filter string given by the user</dd>
<dd><code>indexOfAnd</code> - index at which an 'A' was read</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the keyword 'AND' is at the current index</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/nio/charset/CharacterCodingException.html?is-external=true" title="class or interface in java.nio.charset">CharacterCodingException</a></code></dd>
</dl>
</li>
</ul>
<a name="checkForSkip-byte:A-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkForSkip</h4>
<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ParseFilter.html#line.579">checkForSkip</a>(byte[]&nbsp;filterStringAsByteArray,
                                   int&nbsp;indexOfSkip)
                            throws <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/charset/CharacterCodingException.html?is-external=true" title="class or interface in java.nio.charset">CharacterCodingException</a></pre>
<div class="block">Checks if the current index of filter string we are on is the beginning of the keyword 'SKIP'
 <p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>filterStringAsByteArray</code> - filter string given by the user</dd>
<dd><code>indexOfSkip</code> - index at which an 'S' was read</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the keyword 'SKIP' is at the current index</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/nio/charset/CharacterCodingException.html?is-external=true" title="class or interface in java.nio.charset">CharacterCodingException</a></code></dd>
</dl>
</li>
</ul>
<a name="checkForWhile-byte:A-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkForWhile</h4>
<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ParseFilter.html#line.609">checkForWhile</a>(byte[]&nbsp;filterStringAsByteArray,
                                    int&nbsp;indexOfWhile)
                             throws <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/charset/CharacterCodingException.html?is-external=true" title="class or interface in java.nio.charset">CharacterCodingException</a></pre>
<div class="block">Checks if the current index of filter string we are on is the beginning of the keyword 'WHILE'
 <p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>filterStringAsByteArray</code> - filter string given by the user</dd>
<dd><code>indexOfWhile</code> - index at which an 'W' was read</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the keyword 'WHILE' is at the current index</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/nio/charset/CharacterCodingException.html?is-external=true" title="class or interface in java.nio.charset">CharacterCodingException</a></code></dd>
</dl>
</li>
</ul>
<a name="isQuoteUnescaped-byte:A-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isQuoteUnescaped</h4>
<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ParseFilter.html#line.639">isQuoteUnescaped</a>(byte[]&nbsp;array,
                                       int&nbsp;quoteIndex)</pre>
<div class="block">Returns a boolean indicating whether the quote was escaped or not
 <p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>array</code> - byte array in which the quote was found</dd>
<dd><code>quoteIndex</code> - index of the single quote</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>returns true if the quote was unescaped</dd>
</dl>
</li>
</ul>
<a name="removeQuotesFromByteArray-byte:A-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeQuotesFromByteArray</h4>
<pre>public static&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ParseFilter.html#line.660">removeQuotesFromByteArray</a>(byte[]&nbsp;quotedByteArray)</pre>
<div class="block">Takes a quoted byte array and converts it into an unquoted byte array
 For example: given a byte array representing 'abc', it returns a
 byte array representing abc
 <p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>quotedByteArray</code> - the quoted byte array</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Unquoted byte array</dd>
</dl>
</li>
</ul>
<a name="convertByteArrayToInt-byte:A-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertByteArrayToInt</h4>
<pre>public static&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ParseFilter.html#line.682">convertByteArrayToInt</a>(byte[]&nbsp;numberAsByteArray)</pre>
<div class="block">Converts an int expressed in a byte array to an actual int
 <p>
 This doesn't use Bytes.toInt because that assumes
 that there will be <a href="../../../../../org/apache/hadoop/hbase/util/Bytes.html#SIZEOF_INT"><code>Bytes.SIZEOF_INT</code></a> bytes available.
 <p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>numberAsByteArray</code> - the int value expressed as a byte array</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the int value</dd>
</dl>
</li>
</ul>
<a name="convertByteArrayToLong-byte:A-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertByteArrayToLong</h4>
<pre>public static&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ParseFilter.html#line.705">convertByteArrayToLong</a>(byte[]&nbsp;numberAsByteArray)</pre>
<div class="block">Converts a long expressed in a byte array to an actual long
 <p>
 This doesn't use Bytes.toLong because that assumes
 that there will be <a href="../../../../../org/apache/hadoop/hbase/util/Bytes.html#SIZEOF_INT"><code>Bytes.SIZEOF_INT</code></a> bytes available.
 <p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>numberAsByteArray</code> - the long value expressed as a byte array</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the long value</dd>
</dl>
</li>
</ul>
<a name="convertByteArrayToBoolean-byte:A-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertByteArrayToBoolean</h4>
<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ParseFilter.html#line.748">convertByteArrayToBoolean</a>(byte[]&nbsp;booleanAsByteArray)</pre>
<div class="block">Converts a boolean expressed in a byte array to an actual boolean
<p>
 This doesn't used Bytes.toBoolean because Bytes.toBoolean(byte [])
 assumes that 1 stands for true and 0 for false.
 Here, the byte array representing "true" and "false" is parsed
 <p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>booleanAsByteArray</code> - the boolean value expressed as a byte array</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the boolean value</dd>
</dl>
</li>
</ul>
<a name="createCompareOperator-byte:A-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createCompareOperator</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ParseFilter.html#line.778">createCompareOperator</a>(byte[]&nbsp;compareOpAsByteArray)</pre>
<div class="block">Takes a compareOperator symbol as a byte array and returns the corresponding CompareOperator</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>compareOpAsByteArray</code> - the comparatorOperator symbol as a byte array</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the Compare Operator</dd>
</dl>
</li>
</ul>
<a name="createComparator-byte:A-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createComparator</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ParseFilter.html#line.802">createComparator</a>(byte[]&nbsp;comparator)</pre>
<div class="block">Parses a comparator of the form comparatorType:comparatorValue form and returns a comparator
 <p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>comparator</code> - the comparator in the form comparatorType:comparatorValue</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the parsed comparator</dd>
</dl>
</li>
</ul>
<a name="parseComparator-byte:A-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parseComparator</h4>
<pre>public static&nbsp;byte[][]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ParseFilter.html#line.831">parseComparator</a>(byte[]&nbsp;comparator)</pre>
<div class="block">Splits a column in comparatorType:comparatorValue form into separate byte arrays
 <p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>comparator</code> - the comparator</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the parsed arguments of the comparator as a 2D byte array</dd>
</dl>
</li>
</ul>
<a name="getSupportedFilters--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSupportedFilters</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ParseFilter.html#line.852">getSupportedFilters</a>()</pre>
<div class="block">Return a Set of filters supported by the Filter Language</div>
</li>
</ul>
<a name="getAllFilters--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAllFilters</h4>
<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ParseFilter.html#line.860">getAllFilters</a>()</pre>
<div class="block">Returns all known filters</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an unmodifiable map of filters</dd>
</dl>
</li>
</ul>
<a name="registerFilter-java.lang.String-java.lang.String-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>registerFilter</h4>
<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ParseFilter.html#line.871">registerFilter</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filterClass)</pre>
<div class="block">Register a new filter with the parser.  If the filter is already registered,
 an IllegalArgumentException will be thrown.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - a name for the filter</dd>
<dd><code>filterClass</code> - fully qualified class name</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ParseFilter.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/hadoop/hbase/filter/ParseConstants.html" title="class in org.apache.hadoop.hbase.filter"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html" title="class in org.apache.hadoop.hbase.filter"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/hbase/filter/ParseFilter.html" target="_top">Frames</a></li>
<li><a href="ParseFilter.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>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
