<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.7) on Tue Jul 14 14:13:05 PDT 2020 -->
<title>VectorizedPageIterator</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2020-07-14">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../jquery/jquery-3.3.1.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jquery-migrate-3.0.1.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="VectorizedPageIterator";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</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" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</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>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 id="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.iceberg.arrow.vectorized.parquet</a></div>
<h2 title="Class VectorizedPageIterator" class="title">Class VectorizedPageIterator</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../../parquet/BasePageIterator.html" title="class in org.apache.iceberg.parquet">org.apache.iceberg.parquet.BasePageIterator</a></li>
<li>
<ul class="inheritance">
<li>org.apache.iceberg.arrow.vectorized.parquet.VectorizedPageIterator</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public class <span class="typeNameLabel">VectorizedPageIterator</span>
extends <a href="../../../parquet/BasePageIterator.html" title="class in org.apache.iceberg.parquet">BasePageIterator</a></pre>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!--   -->
</a>
<h3>Nested Class Summary</h3>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.apache.iceberg.parquet.BasePageIterator">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.iceberg.parquet.<a href="../../../parquet/BasePageIterator.html" title="class in org.apache.iceberg.parquet">BasePageIterator</a></h3>
<code><a href="../../../parquet/BasePageIterator.IntIterator.html" title="class in org.apache.iceberg.parquet">BasePageIterator.IntIterator</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.org.apache.iceberg.parquet.BasePageIterator">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.iceberg.parquet.<a href="../../../parquet/BasePageIterator.html" title="class in org.apache.iceberg.parquet">BasePageIterator</a></h3>
<code><a href="../../../parquet/BasePageIterator.html#currentDL">currentDL</a>, <a href="../../../parquet/BasePageIterator.html#currentRL">currentRL</a>, <a href="../../../parquet/BasePageIterator.html#definitionLevels">definitionLevels</a>, <a href="../../../parquet/BasePageIterator.html#desc">desc</a>, <a href="../../../parquet/BasePageIterator.html#dictionary">dictionary</a>, <a href="../../../parquet/BasePageIterator.html#hasNext">hasNext</a>, <a href="../../../parquet/BasePageIterator.html#page">page</a>, <a href="../../../parquet/BasePageIterator.html#repetitionLevels">repetitionLevels</a>, <a href="../../../parquet/BasePageIterator.html#triplesCount">triplesCount</a>, <a href="../../../parquet/BasePageIterator.html#triplesRead">triplesRead</a>, <a href="../../../parquet/BasePageIterator.html#valueEncoding">valueEncoding</a>, <a href="../../../parquet/BasePageIterator.html#values">values</a>, <a href="../../../parquet/BasePageIterator.html#writerVersion">writerVersion</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.apache.parquet.column.ColumnDescriptor,java.lang.String,boolean)">VectorizedPageIterator</a></span>&#8203;(org.apache.parquet.column.ColumnDescriptor&nbsp;desc,
                      java.lang.String&nbsp;writerVersion,
                      boolean&nbsp;setValidityVector)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<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="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="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#initDataReader(org.apache.parquet.column.Encoding,org.apache.parquet.bytes.ByteBufferInputStream,int)">initDataReader</a></span>&#8203;(org.apache.parquet.column.Encoding&nbsp;dataEncoding,
              org.apache.parquet.bytes.ByteBufferInputStream&nbsp;in,
              int&nbsp;valueCount)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#initDefinitionLevelsReader(org.apache.parquet.column.page.DataPageV1,org.apache.parquet.column.ColumnDescriptor,org.apache.parquet.bytes.ByteBufferInputStream,int)">initDefinitionLevelsReader</a></span>&#8203;(org.apache.parquet.column.page.DataPageV1&nbsp;dataPageV1,
                          org.apache.parquet.column.ColumnDescriptor&nbsp;desc,
                          org.apache.parquet.bytes.ByteBufferInputStream&nbsp;in,
                          int&nbsp;triplesCount)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#initDefinitionLevelsReader(org.apache.parquet.column.page.DataPageV2,org.apache.parquet.column.ColumnDescriptor)">initDefinitionLevelsReader</a></span>&#8203;(org.apache.parquet.column.page.DataPageV2&nbsp;dataPageV2,
                          org.apache.parquet.column.ColumnDescriptor&nbsp;desc)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#nextBatchBoolean(org.apache.arrow.vector.FieldVector,int,int,org.apache.iceberg.arrow.vectorized.NullabilityHolder)">nextBatchBoolean</a></span>&#8203;(org.apache.arrow.vector.FieldVector&nbsp;vector,
                int&nbsp;expectedBatchSize,
                int&nbsp;numValsInVector,
                <a href="../NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a>&nbsp;nullabilityHolder)</code></th>
<td class="colLast">
<div class="block">Method for reading batches of booleans.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#nextBatchDictionaryIds(org.apache.arrow.vector.IntVector,int,int,org.apache.iceberg.arrow.vectorized.NullabilityHolder)">nextBatchDictionaryIds</a></span>&#8203;(org.apache.arrow.vector.IntVector&nbsp;vector,
                      int&nbsp;expectedBatchSize,
                      int&nbsp;numValsInVector,
                      <a href="../NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a>&nbsp;holder)</code></th>
<td class="colLast">
<div class="block">Method for reading a batch of dictionary ids from the dicitonary encoded data pages.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#nextBatchDoubles(org.apache.arrow.vector.FieldVector,int,int,int,org.apache.iceberg.arrow.vectorized.NullabilityHolder)">nextBatchDoubles</a></span>&#8203;(org.apache.arrow.vector.FieldVector&nbsp;vector,
                int&nbsp;expectedBatchSize,
                int&nbsp;numValsInVector,
                int&nbsp;typeWidth,
                <a href="../NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a>&nbsp;holder)</code></th>
<td class="colLast">
<div class="block">Method for reading a batch of values of DOUBLE data type</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#nextBatchFixedLengthDecimal(org.apache.arrow.vector.FieldVector,int,int,int,org.apache.iceberg.arrow.vectorized.NullabilityHolder)">nextBatchFixedLengthDecimal</a></span>&#8203;(org.apache.arrow.vector.FieldVector&nbsp;vector,
                           int&nbsp;expectedBatchSize,
                           int&nbsp;numValsInVector,
                           int&nbsp;typeWidth,
                           <a href="../NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a>&nbsp;nullabilityHolder)</code></th>
<td class="colLast">
<div class="block">Method for reading a batch of decimals backed by fixed length byte array parquet data type.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#nextBatchFixedWidthBinary(org.apache.arrow.vector.FieldVector,int,int,int,org.apache.iceberg.arrow.vectorized.NullabilityHolder)">nextBatchFixedWidthBinary</a></span>&#8203;(org.apache.arrow.vector.FieldVector&nbsp;vector,
                         int&nbsp;expectedBatchSize,
                         int&nbsp;numValsInVector,
                         int&nbsp;typeWidth,
                         <a href="../NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a>&nbsp;nullabilityHolder)</code></th>
<td class="colLast">
<div class="block">Method for reading batches of fixed width binary type (e.g.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#nextBatchFloats(org.apache.arrow.vector.FieldVector,int,int,int,org.apache.iceberg.arrow.vectorized.NullabilityHolder)">nextBatchFloats</a></span>&#8203;(org.apache.arrow.vector.FieldVector&nbsp;vector,
               int&nbsp;expectedBatchSize,
               int&nbsp;numValsInVector,
               int&nbsp;typeWidth,
               <a href="../NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a>&nbsp;holder)</code></th>
<td class="colLast">
<div class="block">Method for reading a batch of values of FLOAT data type.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#nextBatchIntegers(org.apache.arrow.vector.FieldVector,int,int,int,org.apache.iceberg.arrow.vectorized.NullabilityHolder)">nextBatchIntegers</a></span>&#8203;(org.apache.arrow.vector.FieldVector&nbsp;vector,
                 int&nbsp;expectedBatchSize,
                 int&nbsp;numValsInVector,
                 int&nbsp;typeWidth,
                 <a href="../NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a>&nbsp;holder)</code></th>
<td class="colLast">
<div class="block">Method for reading a batch of values of INT32 data type</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#nextBatchIntLongBackedDecimal(org.apache.arrow.vector.FieldVector,int,int,int,org.apache.iceberg.arrow.vectorized.NullabilityHolder)">nextBatchIntLongBackedDecimal</a></span>&#8203;(org.apache.arrow.vector.FieldVector&nbsp;vector,
                             int&nbsp;expectedBatchSize,
                             int&nbsp;numValsInVector,
                             int&nbsp;typeWidth,
                             <a href="../NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a>&nbsp;nullabilityHolder)</code></th>
<td class="colLast">
<div class="block">Method for reading a batch of decimals backed by INT32 and INT64 parquet data types.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#nextBatchLongs(org.apache.arrow.vector.FieldVector,int,int,int,org.apache.iceberg.arrow.vectorized.NullabilityHolder)">nextBatchLongs</a></span>&#8203;(org.apache.arrow.vector.FieldVector&nbsp;vector,
              int&nbsp;expectedBatchSize,
              int&nbsp;numValsInVector,
              int&nbsp;typeWidth,
              <a href="../NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a>&nbsp;holder)</code></th>
<td class="colLast">
<div class="block">Method for reading a batch of values of INT64 data type</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#nextBatchTimestampMillis(org.apache.arrow.vector.FieldVector,int,int,int,org.apache.iceberg.arrow.vectorized.NullabilityHolder)">nextBatchTimestampMillis</a></span>&#8203;(org.apache.arrow.vector.FieldVector&nbsp;vector,
                        int&nbsp;expectedBatchSize,
                        int&nbsp;numValsInVector,
                        int&nbsp;typeWidth,
                        <a href="../NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a>&nbsp;holder)</code></th>
<td class="colLast">
<div class="block">Method for reading a batch of values of TIMESTAMP_MILLIS data type.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#nextBatchVarWidthType(org.apache.arrow.vector.FieldVector,int,int,org.apache.iceberg.arrow.vectorized.NullabilityHolder)">nextBatchVarWidthType</a></span>&#8203;(org.apache.arrow.vector.FieldVector&nbsp;vector,
                     int&nbsp;expectedBatchSize,
                     int&nbsp;numValsInVector,
                     <a href="../NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a>&nbsp;nullabilityHolder)</code></th>
<td class="colLast">
<div class="block">Method for reading a batch of variable width data type (ENUM, JSON, UTF8, BSON).</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#producesDictionaryEncodedVector()">producesDictionaryEncodedVector</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reset()">reset</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setAllPagesDictEncoded(boolean)">setAllPagesDictEncoded</a></span>&#8203;(boolean&nbsp;allDictEncoded)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.iceberg.parquet.BasePageIterator">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.iceberg.parquet.<a href="../../../parquet/BasePageIterator.html" title="class in org.apache.iceberg.parquet">BasePageIterator</a></h3>
<code><a href="../../../parquet/BasePageIterator.html#currentPageCount()">currentPageCount</a>, <a href="../../../parquet/BasePageIterator.html#hasNext()">hasNext</a>, <a href="../../../parquet/BasePageIterator.html#initFromPage(org.apache.parquet.column.page.DataPageV1)">initFromPage</a>, <a href="../../../parquet/BasePageIterator.html#initFromPage(org.apache.parquet.column.page.DataPageV2)">initFromPage</a>, <a href="../../../parquet/BasePageIterator.html#setDictionary(org.apache.parquet.column.Dictionary)">setDictionary</a>, <a href="../../../parquet/BasePageIterator.html#setPage(org.apache.parquet.column.page.DataPage)">setPage</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(org.apache.parquet.column.ColumnDescriptor,java.lang.String,boolean)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>VectorizedPageIterator</h4>
<pre>public&nbsp;VectorizedPageIterator&#8203;(org.apache.parquet.column.ColumnDescriptor&nbsp;desc,
                              java.lang.String&nbsp;writerVersion,
                              boolean&nbsp;setValidityVector)</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a id="setAllPagesDictEncoded(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAllPagesDictEncoded</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setAllPagesDictEncoded&#8203;(boolean&nbsp;allDictEncoded)</pre>
</li>
</ul>
<a id="reset()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reset</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;reset()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../parquet/BasePageIterator.html#reset()">reset</a></code>&nbsp;in class&nbsp;<code><a href="../../../parquet/BasePageIterator.html" title="class in org.apache.iceberg.parquet">BasePageIterator</a></code></dd>
</dl>
</li>
</ul>
<a id="nextBatchDictionaryIds(org.apache.arrow.vector.IntVector,int,int,org.apache.iceberg.arrow.vectorized.NullabilityHolder)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nextBatchDictionaryIds</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;nextBatchDictionaryIds&#8203;(org.apache.arrow.vector.IntVector&nbsp;vector,
                                  int&nbsp;expectedBatchSize,
                                  int&nbsp;numValsInVector,
                                  <a href="../NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a>&nbsp;holder)</pre>
<div class="block">Method for reading a batch of dictionary ids from the dicitonary encoded data pages. Like definition levels,
 dictionary ids in Parquet are RLE/bin-packed encoded as well.</div>
</li>
</ul>
<a id="nextBatchIntegers(org.apache.arrow.vector.FieldVector,int,int,int,org.apache.iceberg.arrow.vectorized.NullabilityHolder)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nextBatchIntegers</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;nextBatchIntegers&#8203;(org.apache.arrow.vector.FieldVector&nbsp;vector,
                             int&nbsp;expectedBatchSize,
                             int&nbsp;numValsInVector,
                             int&nbsp;typeWidth,
                             <a href="../NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a>&nbsp;holder)</pre>
<div class="block">Method for reading a batch of values of INT32 data type</div>
</li>
</ul>
<a id="nextBatchLongs(org.apache.arrow.vector.FieldVector,int,int,int,org.apache.iceberg.arrow.vectorized.NullabilityHolder)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nextBatchLongs</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;nextBatchLongs&#8203;(org.apache.arrow.vector.FieldVector&nbsp;vector,
                          int&nbsp;expectedBatchSize,
                          int&nbsp;numValsInVector,
                          int&nbsp;typeWidth,
                          <a href="../NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a>&nbsp;holder)</pre>
<div class="block">Method for reading a batch of values of INT64 data type</div>
</li>
</ul>
<a id="nextBatchTimestampMillis(org.apache.arrow.vector.FieldVector,int,int,int,org.apache.iceberg.arrow.vectorized.NullabilityHolder)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nextBatchTimestampMillis</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;nextBatchTimestampMillis&#8203;(org.apache.arrow.vector.FieldVector&nbsp;vector,
                                    int&nbsp;expectedBatchSize,
                                    int&nbsp;numValsInVector,
                                    int&nbsp;typeWidth,
                                    <a href="../NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a>&nbsp;holder)</pre>
<div class="block">Method for reading a batch of values of TIMESTAMP_MILLIS data type. In iceberg, TIMESTAMP
 is always represented in micro-seconds. So we multiply values stored in millis with 1000
 before writing them to the vector.</div>
</li>
</ul>
<a id="nextBatchFloats(org.apache.arrow.vector.FieldVector,int,int,int,org.apache.iceberg.arrow.vectorized.NullabilityHolder)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nextBatchFloats</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;nextBatchFloats&#8203;(org.apache.arrow.vector.FieldVector&nbsp;vector,
                           int&nbsp;expectedBatchSize,
                           int&nbsp;numValsInVector,
                           int&nbsp;typeWidth,
                           <a href="../NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a>&nbsp;holder)</pre>
<div class="block">Method for reading a batch of values of FLOAT data type.</div>
</li>
</ul>
<a id="nextBatchDoubles(org.apache.arrow.vector.FieldVector,int,int,int,org.apache.iceberg.arrow.vectorized.NullabilityHolder)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nextBatchDoubles</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;nextBatchDoubles&#8203;(org.apache.arrow.vector.FieldVector&nbsp;vector,
                            int&nbsp;expectedBatchSize,
                            int&nbsp;numValsInVector,
                            int&nbsp;typeWidth,
                            <a href="../NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a>&nbsp;holder)</pre>
<div class="block">Method for reading a batch of values of DOUBLE data type</div>
</li>
</ul>
<a id="nextBatchIntLongBackedDecimal(org.apache.arrow.vector.FieldVector,int,int,int,org.apache.iceberg.arrow.vectorized.NullabilityHolder)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nextBatchIntLongBackedDecimal</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;nextBatchIntLongBackedDecimal&#8203;(org.apache.arrow.vector.FieldVector&nbsp;vector,
                                         int&nbsp;expectedBatchSize,
                                         int&nbsp;numValsInVector,
                                         int&nbsp;typeWidth,
                                         <a href="../NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a>&nbsp;nullabilityHolder)</pre>
<div class="block">Method for reading a batch of decimals backed by INT32 and INT64 parquet data types. Since Arrow stores all
 decimals in 16 bytes, byte arrays are appropriately padded before being written to Arrow data buffers.</div>
</li>
</ul>
<a id="nextBatchFixedLengthDecimal(org.apache.arrow.vector.FieldVector,int,int,int,org.apache.iceberg.arrow.vectorized.NullabilityHolder)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nextBatchFixedLengthDecimal</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;nextBatchFixedLengthDecimal&#8203;(org.apache.arrow.vector.FieldVector&nbsp;vector,
                                       int&nbsp;expectedBatchSize,
                                       int&nbsp;numValsInVector,
                                       int&nbsp;typeWidth,
                                       <a href="../NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a>&nbsp;nullabilityHolder)</pre>
<div class="block">Method for reading a batch of decimals backed by fixed length byte array parquet data type. Arrow stores all
 decimals in 16 bytes. This method provides the necessary padding to the decimals read. Moreover, Arrow interprets
 the decimals in Arrow buffer as little endian. Parquet stores fixed length decimals as big endian. So, this method
 uses <code>DecimalVector.setBigEndian(int, byte[])</code> method so that the data in Arrow vector is indeed little
 endian.</div>
</li>
</ul>
<a id="nextBatchVarWidthType(org.apache.arrow.vector.FieldVector,int,int,org.apache.iceberg.arrow.vectorized.NullabilityHolder)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nextBatchVarWidthType</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;nextBatchVarWidthType&#8203;(org.apache.arrow.vector.FieldVector&nbsp;vector,
                                 int&nbsp;expectedBatchSize,
                                 int&nbsp;numValsInVector,
                                 <a href="../NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a>&nbsp;nullabilityHolder)</pre>
<div class="block">Method for reading a batch of variable width data type (ENUM, JSON, UTF8, BSON).</div>
</li>
</ul>
<a id="nextBatchFixedWidthBinary(org.apache.arrow.vector.FieldVector,int,int,int,org.apache.iceberg.arrow.vectorized.NullabilityHolder)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nextBatchFixedWidthBinary</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;nextBatchFixedWidthBinary&#8203;(org.apache.arrow.vector.FieldVector&nbsp;vector,
                                     int&nbsp;expectedBatchSize,
                                     int&nbsp;numValsInVector,
                                     int&nbsp;typeWidth,
                                     <a href="../NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a>&nbsp;nullabilityHolder)</pre>
<div class="block">Method for reading batches of fixed width binary type (e.g. BYTE[7]). Spark does not support fixed width binary
 data type. To work around this limitation, the data is read as fixed width binary from parquet and stored in a
 <code>VarBinaryVector</code> in Arrow.</div>
</li>
</ul>
<a id="producesDictionaryEncodedVector()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>producesDictionaryEncodedVector</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;producesDictionaryEncodedVector()</pre>
</li>
</ul>
<a id="nextBatchBoolean(org.apache.arrow.vector.FieldVector,int,int,org.apache.iceberg.arrow.vectorized.NullabilityHolder)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nextBatchBoolean</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;nextBatchBoolean&#8203;(org.apache.arrow.vector.FieldVector&nbsp;vector,
                            int&nbsp;expectedBatchSize,
                            int&nbsp;numValsInVector,
                            <a href="../NullabilityHolder.html" title="class in org.apache.iceberg.arrow.vectorized">NullabilityHolder</a>&nbsp;nullabilityHolder)</pre>
<div class="block">Method for reading batches of booleans.</div>
</li>
</ul>
<a id="initDataReader(org.apache.parquet.column.Encoding,org.apache.parquet.bytes.ByteBufferInputStream,int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initDataReader</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;initDataReader&#8203;(org.apache.parquet.column.Encoding&nbsp;dataEncoding,
                              org.apache.parquet.bytes.ByteBufferInputStream&nbsp;in,
                              int&nbsp;valueCount)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../parquet/BasePageIterator.html#initDataReader(org.apache.parquet.column.Encoding,org.apache.parquet.bytes.ByteBufferInputStream,int)">initDataReader</a></code>&nbsp;in class&nbsp;<code><a href="../../../parquet/BasePageIterator.html" title="class in org.apache.iceberg.parquet">BasePageIterator</a></code></dd>
</dl>
</li>
</ul>
<a id="initDefinitionLevelsReader(org.apache.parquet.column.page.DataPageV1,org.apache.parquet.column.ColumnDescriptor,org.apache.parquet.bytes.ByteBufferInputStream,int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initDefinitionLevelsReader</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;initDefinitionLevelsReader&#8203;(org.apache.parquet.column.page.DataPageV1&nbsp;dataPageV1,
                                          org.apache.parquet.column.ColumnDescriptor&nbsp;desc,
                                          org.apache.parquet.bytes.ByteBufferInputStream&nbsp;in,
                                          int&nbsp;triplesCount)
                                   throws java.io.IOException</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../parquet/BasePageIterator.html#initDefinitionLevelsReader(org.apache.parquet.column.page.DataPageV1,org.apache.parquet.column.ColumnDescriptor,org.apache.parquet.bytes.ByteBufferInputStream,int)">initDefinitionLevelsReader</a></code>&nbsp;in class&nbsp;<code><a href="../../../parquet/BasePageIterator.html" title="class in org.apache.iceberg.parquet">BasePageIterator</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a id="initDefinitionLevelsReader(org.apache.parquet.column.page.DataPageV2,org.apache.parquet.column.ColumnDescriptor)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>initDefinitionLevelsReader</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;initDefinitionLevelsReader&#8203;(org.apache.parquet.column.page.DataPageV2&nbsp;dataPageV2,
                                          org.apache.parquet.column.ColumnDescriptor&nbsp;desc)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../parquet/BasePageIterator.html#initDefinitionLevelsReader(org.apache.parquet.column.page.DataPageV2,org.apache.parquet.column.ColumnDescriptor)">initDefinitionLevelsReader</a></code>&nbsp;in class&nbsp;<code><a href="../../../parquet/BasePageIterator.html" title="class in org.apache.iceberg.parquet">BasePageIterator</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</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" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses.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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</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>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 id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>
