<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>GenericArrowVectorAccessorFactory</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<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.5.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="GenericArrowVectorAccessorFactory";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":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>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a 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</a></div>
<h2 title="Class GenericArrowVectorAccessorFactory" class="title">Class GenericArrowVectorAccessorFactory&lt;DecimalT,&#8203;Utf8StringT,&#8203;ArrayT,&#8203;ChildVectorT extends java.lang.AutoCloseable&gt;</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.iceberg.arrow.vectorized.GenericArrowVectorAccessorFactory&lt;DecimalT,&#8203;Utf8StringT,&#8203;ArrayT,&#8203;ChildVectorT&gt;</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>DecimalT</code> - A concrete type that can represent a decimal.</dd>
<dd><code>Utf8StringT</code> - A concrete type that can represent a UTF8 string.</dd>
<dd><code>ArrayT</code> - A concrete type that can represent an array value in a list vector, e.g. Spark's ColumnarArray.</dd>
<dd><code>ChildVectorT</code> - A concrete type that can represent a child vector in a struct, e.g. Spark's ArrowColumnVector.</dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">GenericArrowVectorAccessorFactory&lt;DecimalT,&#8203;Utf8StringT,&#8203;ArrayT,&#8203;ChildVectorT extends java.lang.AutoCloseable&gt;</span>
extends java.lang.Object</pre>
<div class="block">This class is creates typed <a href="ArrowVectorAccessor.html" title="class in org.apache.iceberg.arrow.vectorized"><code>ArrowVectorAccessor</code></a> from <a href="VectorHolder.html" title="class in org.apache.iceberg.arrow.vectorized"><code>VectorHolder</code></a>.
 It provides a generic implementation for following Arrow types:
 <ul>
   <li>Decimal type can be deserialized to a type that supports decimal,
   e.g. BigDecimal or Spark's Decimal.</li>
   <li>UTF8 String type can deserialized to a Java String or Spark's UTF8String.</li>
   <li>List type: the child elements of a list can be deserialized to Spark's ColumnarArray or similar type.</li>
   <li>Struct type: the child elements of a struct can be deserialized to a Spark's ArrowColumnVector
   or similar type.</li>
 </ul></div>
</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>
<table class="memberSummary">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected static interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="GenericArrowVectorAccessorFactory.ArrayFactory.html" title="interface in org.apache.iceberg.arrow.vectorized">GenericArrowVectorAccessorFactory.ArrayFactory</a>&lt;<a href="GenericArrowVectorAccessorFactory.ArrayFactory.html" title="type parameter in GenericArrowVectorAccessorFactory.ArrayFactory">ChildVectorT</a>,&#8203;<a href="GenericArrowVectorAccessorFactory.ArrayFactory.html" title="type parameter in GenericArrowVectorAccessorFactory.ArrayFactory">ArrayT</a>&gt;</span></code></th>
<td class="colLast">
<div class="block">Create an array value of type <code>ArrayT</code> from arrow vector value.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected static interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="GenericArrowVectorAccessorFactory.DecimalFactory.html" title="interface in org.apache.iceberg.arrow.vectorized">GenericArrowVectorAccessorFactory.DecimalFactory</a>&lt;<a href="GenericArrowVectorAccessorFactory.DecimalFactory.html" title="type parameter in GenericArrowVectorAccessorFactory.DecimalFactory">DecimalT</a>&gt;</span></code></th>
<td class="colLast">
<div class="block">Create a decimal value of type <code>DecimalT</code> from arrow vector value.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected static interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="GenericArrowVectorAccessorFactory.StringFactory.html" title="interface in org.apache.iceberg.arrow.vectorized">GenericArrowVectorAccessorFactory.StringFactory</a>&lt;<a href="GenericArrowVectorAccessorFactory.StringFactory.html" title="type parameter in GenericArrowVectorAccessorFactory.StringFactory">Utf8StringT</a>&gt;</span></code></th>
<td class="colLast">
<div class="block">Create a UTF8 String value of type <code>Utf8StringT</code> from arrow vector value.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected static interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="GenericArrowVectorAccessorFactory.StructChildFactory.html" title="interface in org.apache.iceberg.arrow.vectorized">GenericArrowVectorAccessorFactory.StructChildFactory</a>&lt;<a href="GenericArrowVectorAccessorFactory.StructChildFactory.html" title="type parameter in GenericArrowVectorAccessorFactory.StructChildFactory">ChildVectorT</a>&gt;</span></code></th>
<td class="colLast">
<div class="block">Create a struct child vector of type <code>ChildVectorT</code> from arrow vector value.</div>
</td>
</tr>
</table>
</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">Modifier</th>
<th class="colSecond" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.util.function.Supplier,java.util.function.Supplier,java.util.function.Supplier,java.util.function.Supplier)">GenericArrowVectorAccessorFactory</a></span>&#8203;(java.util.function.Supplier&lt;<a href="GenericArrowVectorAccessorFactory.DecimalFactory.html" title="interface in org.apache.iceberg.arrow.vectorized">GenericArrowVectorAccessorFactory.DecimalFactory</a>&lt;<a href="GenericArrowVectorAccessorFactory.html" title="type parameter in GenericArrowVectorAccessorFactory">DecimalT</a>&gt;&gt;&nbsp;decimalFactorySupplier,
                                 java.util.function.Supplier&lt;<a href="GenericArrowVectorAccessorFactory.StringFactory.html" title="interface in org.apache.iceberg.arrow.vectorized">GenericArrowVectorAccessorFactory.StringFactory</a>&lt;<a href="GenericArrowVectorAccessorFactory.html" title="type parameter in GenericArrowVectorAccessorFactory">Utf8StringT</a>&gt;&gt;&nbsp;stringFactorySupplier,
                                 java.util.function.Supplier&lt;<a href="GenericArrowVectorAccessorFactory.StructChildFactory.html" title="interface in org.apache.iceberg.arrow.vectorized">GenericArrowVectorAccessorFactory.StructChildFactory</a>&lt;<a href="GenericArrowVectorAccessorFactory.html" title="type parameter in GenericArrowVectorAccessorFactory">ChildVectorT</a>&gt;&gt;&nbsp;structChildFactorySupplier,
                                 java.util.function.Supplier&lt;<a href="GenericArrowVectorAccessorFactory.ArrayFactory.html" title="interface in org.apache.iceberg.arrow.vectorized">GenericArrowVectorAccessorFactory.ArrayFactory</a>&lt;<a href="GenericArrowVectorAccessorFactory.html" title="type parameter in GenericArrowVectorAccessorFactory">ChildVectorT</a>,&#8203;<a href="GenericArrowVectorAccessorFactory.html" title="type parameter in GenericArrowVectorAccessorFactory">ArrayT</a>&gt;&gt;&nbsp;arrayFactorySupplier)</code></th>
<td class="colLast">
<div class="block">The constructor is parameterized using the decimal, string, struct and array factories.</div>
</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><a href="ArrowVectorAccessor.html" title="class in org.apache.iceberg.arrow.vectorized">ArrowVectorAccessor</a>&lt;<a href="GenericArrowVectorAccessorFactory.html" title="type parameter in GenericArrowVectorAccessorFactory">DecimalT</a>,&#8203;<a href="GenericArrowVectorAccessorFactory.html" title="type parameter in GenericArrowVectorAccessorFactory">Utf8StringT</a>,&#8203;<a href="GenericArrowVectorAccessorFactory.html" title="type parameter in GenericArrowVectorAccessorFactory">ArrayT</a>,&#8203;<a href="GenericArrowVectorAccessorFactory.html" title="type parameter in GenericArrowVectorAccessorFactory">ChildVectorT</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVectorAccessor(org.apache.iceberg.arrow.vectorized.VectorHolder)">getVectorAccessor</a></span>&#8203;(<a href="VectorHolder.html" title="class in org.apache.iceberg.arrow.vectorized">VectorHolder</a>&nbsp;holder)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<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;(java.util.function.Supplier,java.util.function.Supplier,java.util.function.Supplier,java.util.function.Supplier)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>GenericArrowVectorAccessorFactory</h4>
<pre>protected&nbsp;GenericArrowVectorAccessorFactory&#8203;(java.util.function.Supplier&lt;<a href="GenericArrowVectorAccessorFactory.DecimalFactory.html" title="interface in org.apache.iceberg.arrow.vectorized">GenericArrowVectorAccessorFactory.DecimalFactory</a>&lt;<a href="GenericArrowVectorAccessorFactory.html" title="type parameter in GenericArrowVectorAccessorFactory">DecimalT</a>&gt;&gt;&nbsp;decimalFactorySupplier,
                                            java.util.function.Supplier&lt;<a href="GenericArrowVectorAccessorFactory.StringFactory.html" title="interface in org.apache.iceberg.arrow.vectorized">GenericArrowVectorAccessorFactory.StringFactory</a>&lt;<a href="GenericArrowVectorAccessorFactory.html" title="type parameter in GenericArrowVectorAccessorFactory">Utf8StringT</a>&gt;&gt;&nbsp;stringFactorySupplier,
                                            java.util.function.Supplier&lt;<a href="GenericArrowVectorAccessorFactory.StructChildFactory.html" title="interface in org.apache.iceberg.arrow.vectorized">GenericArrowVectorAccessorFactory.StructChildFactory</a>&lt;<a href="GenericArrowVectorAccessorFactory.html" title="type parameter in GenericArrowVectorAccessorFactory">ChildVectorT</a>&gt;&gt;&nbsp;structChildFactorySupplier,
                                            java.util.function.Supplier&lt;<a href="GenericArrowVectorAccessorFactory.ArrayFactory.html" title="interface in org.apache.iceberg.arrow.vectorized">GenericArrowVectorAccessorFactory.ArrayFactory</a>&lt;<a href="GenericArrowVectorAccessorFactory.html" title="type parameter in GenericArrowVectorAccessorFactory">ChildVectorT</a>,&#8203;<a href="GenericArrowVectorAccessorFactory.html" title="type parameter in GenericArrowVectorAccessorFactory">ArrayT</a>&gt;&gt;&nbsp;arrayFactorySupplier)</pre>
<div class="block">The constructor is parameterized using the decimal, string, struct and array factories.
 If a specific type is not supported, the factory supplier can raise an
 <code>UnsupportedOperationException</code>.</div>
</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="getVectorAccessor(org.apache.iceberg.arrow.vectorized.VectorHolder)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getVectorAccessor</h4>
<pre class="methodSignature">public&nbsp;<a href="ArrowVectorAccessor.html" title="class in org.apache.iceberg.arrow.vectorized">ArrowVectorAccessor</a>&lt;<a href="GenericArrowVectorAccessorFactory.html" title="type parameter in GenericArrowVectorAccessorFactory">DecimalT</a>,&#8203;<a href="GenericArrowVectorAccessorFactory.html" title="type parameter in GenericArrowVectorAccessorFactory">Utf8StringT</a>,&#8203;<a href="GenericArrowVectorAccessorFactory.html" title="type parameter in GenericArrowVectorAccessorFactory">ArrayT</a>,&#8203;<a href="GenericArrowVectorAccessorFactory.html" title="type parameter in GenericArrowVectorAccessorFactory">ChildVectorT</a>&gt;&nbsp;getVectorAccessor&#8203;(<a href="VectorHolder.html" title="class in org.apache.iceberg.arrow.vectorized">VectorHolder</a>&nbsp;holder)</pre>
</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>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>
