blob: 649fcc04a21a5fc4670ad0868a7e1592d2ec7678 [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>CellScanner (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="CellScanner (Apache HBase 3.0.0-alpha-2-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract 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/CellScanner.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/CellScannable.html" title="interface in org.apache.hadoop.hbase"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/hadoop/hbase/CellUtil.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/hadoop/hbase/CellScanner.html" target="_top">Frames</a></li>
<li><a href="CellScanner.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>Constr&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>Constr&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</div>
<h2 title="Interface CellScanner" class="title">Interface CellScanner</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Subinterfaces:</dt>
<dd><a href="../../../../org/apache/hadoop/hbase/codec/Codec.Decoder.html" title="interface in org.apache.hadoop.hbase.codec">Codec.Decoder</a>, <a href="../../../../org/apache/hadoop/hbase/io/SizedCellScanner.html" title="interface in org.apache.hadoop.hbase.io">SizedCellScanner</a></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../org/apache/hadoop/hbase/codec/BaseDecoder.html" title="class in org.apache.hadoop.hbase.codec">BaseDecoder</a>, <a href="../../../../org/apache/hadoop/hbase/codec/CellCodec.CellDecoder.html" title="class in org.apache.hadoop.hbase.codec">CellCodec.CellDecoder</a>, <a href="../../../../org/apache/hadoop/hbase/codec/CellCodecWithTags.CellDecoder.html" title="class in org.apache.hadoop.hbase.codec">CellCodecWithTags.CellDecoder</a>, <a href="../../../../org/apache/hadoop/hbase/codec/KeyValueCodec.ByteBuffKeyValueDecoder.html" title="class in org.apache.hadoop.hbase.codec">KeyValueCodec.ByteBuffKeyValueDecoder</a>, <a href="../../../../org/apache/hadoop/hbase/codec/KeyValueCodec.KeyValueDecoder.html" title="class in org.apache.hadoop.hbase.codec">KeyValueCodec.KeyValueDecoder</a>, <a href="../../../../org/apache/hadoop/hbase/codec/KeyValueCodecWithTags.ByteBuffKeyValueDecoder.html" title="class in org.apache.hadoop.hbase.codec">KeyValueCodecWithTags.ByteBuffKeyValueDecoder</a>, <a href="../../../../org/apache/hadoop/hbase/codec/KeyValueCodecWithTags.KeyValueDecoder.html" title="class in org.apache.hadoop.hbase.codec">KeyValueCodecWithTags.KeyValueDecoder</a>, <a href="../../../../org/apache/hadoop/hbase/codec/MessageCodec.MessageDecoder.html" title="class in org.apache.hadoop.hbase.codec">MessageCodec.MessageDecoder</a>, <a href="../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>, <a href="../../../../org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.EncryptedKvDecoder.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SecureWALCellCodec.EncryptedKvDecoder</a>, <a href="../../../../org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.CompressedKvDecoder.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALCellCodec.CompressedKvDecoder</a></dd>
</dl>
<hr>
<br>
<pre>@InterfaceAudience.Public
public interface <a href="../../../../src-html/org/apache/hadoop/hbase/CellScanner.html#line.49">CellScanner</a></pre>
<div class="block">An interface for iterating through a sequence of cells. Similar to Java's Iterator, but without
the hasNext() or remove() methods. The hasNext() method is problematic because it may require
actually loading the next object, which in turn requires storing the previous object somewhere.
<p>The core data block decoder should be as fast as possible, so we push the complexity and
performance expense of concurrently tracking multiple cells to layers above the CellScanner.
<p>
The <a href="../../../../org/apache/hadoop/hbase/CellScanner.html#current--"><code>current()</code></a> method will return a reference to a Cell implementation. This reference
may or may not point to a reusable cell implementation, so users of the CellScanner should not,
for example, accumulate a List of Cells. All of the references may point to the same object,
which would be the latest state of the underlying Cell. In short, the Cell is mutable.
</p>
Typical usage:
<pre>
while (scanner.advance()) {
Cell cell = scanner.current();
// do something
}
</pre>
<p>Often used reading <a href="../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase"><code>Cell</code></a>s written by
<a href="../../../../org/apache/hadoop/hbase/io/CellOutputStream.html" title="interface in org.apache.hadoop.hbase.io"><code>CellOutputStream</code></a>.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== 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="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract 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>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/CellScanner.html#advance--">advance</a></span>()</code>
<div class="block">Advance the scanner 1 cell.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<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/CellScanner.html#current--">current</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="current--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>current</h4>
<pre><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/CellScanner.html#line.53">current</a>()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current Cell which may be mutable</dd>
</dl>
</li>
</ul>
<a name="advance--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>advance</h4>
<pre>boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/CellScanner.html#line.60">advance</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Advance the scanner 1 cell.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the next cell is found and <a href="../../../../org/apache/hadoop/hbase/CellScanner.html#current--"><code>current()</code></a> will return a valid Cell</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if advancing the scanner fails</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/CellScanner.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/CellScannable.html" title="interface in org.apache.hadoop.hbase"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/hadoop/hbase/CellUtil.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/hadoop/hbase/CellScanner.html" target="_top">Frames</a></li>
<li><a href="CellScanner.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>Constr&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>Constr&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>