blob: 51f2a01f366d97972f194e1bc8cde95b188b1dd2 [file] [log] [blame]
<!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>MultiRowRangeFilter (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="MultiRowRangeFilter (Apache HBase 3.0.0-alpha-2-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":9,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":9,"i10":9,"i11":9,"i12":10};
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/MultiRowRangeFilter.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/MultipleColumnPrefixFilter.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/MultiRowRangeFilter.BasicRowRange.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/MultiRowRangeFilter.html" target="_top">Frames</a></li>
<li><a href="MultiRowRangeFilter.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><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&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><a href="#field.detail">Field</a>&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 MultiRowRangeFilter" class="title">Class MultiRowRangeFilter</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><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">org.apache.hadoop.hbase.filter.Filter</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html" title="class in org.apache.hadoop.hbase.filter">org.apache.hadoop.hbase.filter.FilterBase</a></li>
<li>
<ul class="inheritance">
<li>org.apache.hadoop.hbase.filter.MultiRowRangeFilter</li>
</ul>
</li>
</ul>
</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/MultiRowRangeFilter.html#line.53">MultiRowRangeFilter</a>
extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html" title="class in org.apache.hadoop.hbase.filter">FilterBase</a></pre>
<div class="block">Filter to support scan multiple row key ranges. It can construct the row key ranges from the
passed list which can be accessed by each region server.
HBase is quite efficient when scanning only one small row key range. If user needs to specify
multiple row key ranges in one scan, the typical solutions are: 1. through FilterList which is a
list of row key Filters, 2. using the SQL layer over HBase to join with two table, such as hive,
phoenix etc. However, both solutions are inefficient. Both of them can't utilize the range info
to perform fast forwarding during scan which is quite time consuming. If the number of ranges
are quite big (e.g. millions), join is a proper solution though it is slow. However, there are
cases that user wants to specify a small number of ranges to scan (e.g. &lt;1000 ranges). Both
solutions can't provide satisfactory performance in such case. MultiRowRangeFilter is to support
such usec ase (scan multiple row key ranges), which can construct the row key ranges from user
specified list and perform fast-forwarding during scan. Thus, the scan will be quite efficient.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.BasicRowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.BasicRowRange</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RangeIteration.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RangeIteration</a></span></code>
<div class="block">Abstraction over the ranges of rows to return from this filter, regardless of forward or
reverse scans being used.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.ReversedRowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.ReversedRowRange</a></span></code>
<div class="block">Internal RowRange that reverses the sort-order to handle reverse scans.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a></span></code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.hadoop.hbase.filter.Filter">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a></h3>
<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></li>
</ul>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#currentReturnCode">currentReturnCode</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#done">done</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#index">index</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.BasicRowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.BasicRowRange</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#range">range</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#rangeList">rangeList</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RangeIteration.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RangeIteration</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#ranges">ranges</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#ROW_BEFORE_FIRST_RANGE">ROW_BEFORE_FIRST_RANGE</a></span></code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.filter.Filter">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a></h3>
<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#reversed">reversed</a></code></li>
</ul>
</li>
</ul>
<!-- ======== 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/MultiRowRangeFilter.html#MultiRowRangeFilter-byte:A:A-">MultiRowRangeFilter</a></span>(byte[][]&nbsp;rowKeyPrefixes)</code>
<div class="block">Constructor for creating a <code>MultiRowRangeFilter</code> from multiple rowkey prefixes.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#MultiRowRangeFilter-java.util.List-">MultiRowRangeFilter</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;&nbsp;list)</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>(package private) boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#areSerializedFieldsEqual-org.apache.hadoop.hbase.filter.Filter-">areSerializedFieldsEqual</a></span>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</code>
<div class="block">Default implementation so that writers of custom filters aren't forced to implement.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#createRangeListFromRowKeyPrefixes-byte:A:A-">createRangeListFromRowKeyPrefixes</a></span>(byte[][]&nbsp;rowKeyPrefixes)</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#filterAllRemaining--">filterAllRemaining</a></span>()</code>
<div class="block">Filters that never filter all remaining can inherit this implementation that
never stops the filter early.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)</code>
<div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</code>
<div class="block">Filters a row based on the row key.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentKV)</code>
<div class="block">Filters that are not sure which key must be next seeked to, can inherit
this implementation that, by default, returns a null Cell.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#getRowRanges--">getRowRanges</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#sortAndMerge-java.util.List-">sortAndMerge</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;&nbsp;ranges)</code>
<div class="block">sort the ranges and if the ranges with overlap, then merge them.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>private static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#throwExceptionForInvalidRanges-java.util.List-boolean-">throwExceptionForInvalidRanges</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;&nbsp;invalidRanges,
boolean&nbsp;details)</code>&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#toByteArray--">toByteArray</a></span>()</code>
<div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.filter.FilterBase">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html" title="class in org.apache.hadoop.hbase.filter">FilterBase</a></h3>
<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#filterRow--">filterRow</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#filterRowCells-java.util.List-">filterRowCells</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#hasFilterRow--">hasFilterRow</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#isFamilyEssential-byte:A-">isFamilyEssential</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#reset--">reset</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toString--">toString</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#transformCell-org.apache.hadoop.hbase.Cell-">transformCell</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.filter.Filter">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a></h3>
<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#isReversed--">isReversed</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#setReversed-boolean-">setReversed</a></code></li>
</ul>
<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#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#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#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">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="ROW_BEFORE_FIRST_RANGE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ROW_BEFORE_FIRST_RANGE</h4>
<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.55">ROW_BEFORE_FIRST_RANGE</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.filter.MultiRowRangeFilter.ROW_BEFORE_FIRST_RANGE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="rangeList">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rangeList</h4>
<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.57">rangeList</a></pre>
</li>
</ul>
<a name="ranges">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ranges</h4>
<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RangeIteration.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RangeIteration</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.58">ranges</a></pre>
</li>
</ul>
<a name="done">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>done</h4>
<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.60">done</a></pre>
</li>
</ul>
<a name="index">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>index</h4>
<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.61">index</a></pre>
</li>
</ul>
<a name="range">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>range</h4>
<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.BasicRowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.BasicRowRange</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.62">range</a></pre>
</li>
</ul>
<a name="currentReturnCode">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>currentReturnCode</h4>
<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.63">currentReturnCode</a></pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="MultiRowRangeFilter-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MultiRowRangeFilter</h4>
<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.68">MultiRowRangeFilter</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;&nbsp;list)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>list</code> - A list of <code>RowRange</code></dd>
</dl>
</li>
</ul>
<a name="MultiRowRangeFilter-byte:A:A-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>MultiRowRangeFilter</h4>
<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.85">MultiRowRangeFilter</a>(byte[][]&nbsp;rowKeyPrefixes)</pre>
<div class="block">Constructor for creating a <code>MultiRowRangeFilter</code> from multiple rowkey prefixes.
As <code>MultiRowRangeFilter</code> javadoc says (See the solution 1 of the first statement),
if you try to create a filter list that scans row keys corresponding to given prefixes (e.g.,
<code>FilterList</code> composed of multiple <code>PrefixFilter</code>s), this constructor
provides a way to avoid creating an inefficient one.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rowKeyPrefixes</code> - the array of byte array</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="createRangeListFromRowKeyPrefixes-byte:A:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createRangeListFromRowKeyPrefixes</h4>
<pre>private static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.89">createRangeListFromRowKeyPrefixes</a>(byte[][]&nbsp;rowKeyPrefixes)</pre>
</li>
</ul>
<a name="getRowRanges--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRowRanges</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.102">getRowRanges</a>()</pre>
</li>
</ul>
<a name="filterAllRemaining--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>filterAllRemaining</h4>
<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.108">filterAllRemaining</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#filterAllRemaining--">FilterBase</a></code></span></div>
<div class="block">Filters that never filter all remaining can inherit this implementation that
never stops the filter early.
If this returns true, the scan will terminate.
Concrete implementers can signal a failure condition in their code by throwing an
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io"><code>IOException</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#filterAllRemaining--">filterAllRemaining</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html" title="class in org.apache.hadoop.hbase.filter">FilterBase</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true to end scan, false to continue.</dd>
</dl>
</li>
</ul>
<a name="filterRowKey-org.apache.hadoop.hbase.Cell-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>filterRowKey</h4>
<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.113">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
<div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
false, each KeyValue in the row will be passed to <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-"><code>Filter.filterCell(Cell)</code></a> below.
If <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterAllRemaining--"><code>Filter.filterAllRemaining()</code></a> returns true, then <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-"><code>Filter.filterRowKey(Cell)</code></a> should
also return true.
Concrete implementers can signal a failure condition in their code by throwing an
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io"><code>IOException</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html" title="class in org.apache.hadoop.hbase.filter">FilterBase</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>firstRowCell</code> - The first cell coming in the new row</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true, remove entire row, false, include the row (maybe).</dd>
</dl>
</li>
</ul>
<a name="filterCell-org.apache.hadoop.hbase.Cell-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>filterCell</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.169">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
<div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
code is described below. This allows filters to filter only certain number of columns, then
terminate without matching ever column.
If filterRowKey returns true, filterCell needs to be consistent with it.
filterCell can assume that filterRowKey has already been called for the row.
If your filter returns <code>ReturnCode.NEXT_ROW</code>, it should return
<code>ReturnCode.NEXT_ROW</code> until <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#reset--"><code>Filter.reset()</code></a> is called just in case the caller calls
for the next row.
Concrete implementers can signal a failure condition in their code by throwing an
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io"><code>IOException</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ignored</code> - the Cell in question</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>code as described below</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter"><code>Filter.ReturnCode</code></a></dd>
</dl>
</li>
</ul>
<a name="getNextCellHint-org.apache.hadoop.hbase.Cell-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNextCellHint</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.174">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentKV)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">FilterBase</a></code></span></div>
<div class="block">Filters that are not sure which key must be next seeked to, can inherit
this implementation that, by default, returns a null Cell.
If the filter returns the match code SEEK_NEXT_USING_HINT, then it should also tell which is
the next key it must seek to. After receiving the match code SEEK_NEXT_USING_HINT, the
QueryMatcher would call this function to find out which key it must next seek to.
Concrete implementers can signal a failure condition in their code by throwing an
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io"><code>IOException</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html" title="class in org.apache.hadoop.hbase.filter">FilterBase</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>KeyValue which must be next seeked. return null if the filter is not sure which key to
seek to next.</dd>
</dl>
</li>
</ul>
<a name="toByteArray--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toByteArray</h4>
<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.185">toByteArray</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toByteArray--">FilterBase</a></code></span></div>
<div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toByteArray--">toByteArray</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html" title="class in org.apache.hadoop.hbase.filter">FilterBase</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The filter serialized using pb</dd>
</dl>
</li>
</ul>
<a name="parseFrom-byte:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parseFrom</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.208">parseFrom</a>(byte[]&nbsp;pbBytes)
throws <a href="../../../../../org/apache/hadoop/hbase/exceptions/DeserializationException.html" title="class in org.apache.hadoop.hbase.exceptions">DeserializationException</a></pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>pbBytes</code> - A pb serialized instance</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>An instance of MultiRowRangeFilter</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/exceptions/DeserializationException.html" title="class in org.apache.hadoop.hbase.exceptions">DeserializationException</a></code></dd>
</dl>
</li>
</ul>
<a name="areSerializedFieldsEqual-org.apache.hadoop.hbase.filter.Filter-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>areSerializedFieldsEqual</h4>
<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.234">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#areSerializedFieldsEqual-org.apache.hadoop.hbase.filter.Filter-">FilterBase</a></code></span></div>
<div class="block">Default implementation so that writers of custom filters aren't forced to implement.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#areSerializedFieldsEqual-org.apache.hadoop.hbase.filter.Filter-">areSerializedFieldsEqual</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html" title="class in org.apache.hadoop.hbase.filter">FilterBase</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>o</code> - the filter to compare</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if and only if the fields of the filter that are serialized are equal to the
corresponding fields in other. Used for testing.</dd>
</dl>
</li>
</ul>
<a name="sortAndMerge-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sortAndMerge</h4>
<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.262">sortAndMerge</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;&nbsp;ranges)</pre>
<div class="block">sort the ranges and if the ranges with overlap, then merge them.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ranges</code> - the list of ranges to sort and merge.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the ranges after sort and merge.</dd>
</dl>
</li>
</ul>
<a name="throwExceptionForInvalidRanges-java.util.List-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>throwExceptionForInvalidRanges</h4>
<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.412">throwExceptionForInvalidRanges</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;&nbsp;invalidRanges,
boolean&nbsp;details)</pre>
</li>
</ul>
<a name="equals-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>equals</h4>
<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.766">equals</a>(<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>&nbsp;obj)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
</dl>
</li>
</ul>
<a name="hashCode--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>hashCode</h4>
<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.771">hashCode</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></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/MultiRowRangeFilter.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/MultipleColumnPrefixFilter.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/MultiRowRangeFilter.BasicRowRange.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/MultiRowRangeFilter.html" target="_top">Frames</a></li>
<li><a href="MultiRowRangeFilter.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><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&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><a href="#field.detail">Field</a>&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>