blob: 6b4735eaf18faef96fd3e6f78d85b7ad9014e870 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>CsvEnumerator (Apache Calcite API)</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.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="CsvEnumerator (Apache Calcite API)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":9,"i2":10,"i3":9,"i4":9,"i5":9,"i6":10,"i7":9,"i8":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";
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="class-use/CsvEnumerator.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" 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><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 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.calcite.adapter.csv</a></div>
<h2 title="Class CsvEnumerator" class="title">Class CsvEnumerator&lt;E&gt;</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.calcite.adapter.csv.CsvEnumerator&lt;E&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>E</code> - Row type</dd>
</dl>
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code>java.lang.AutoCloseable</code>, <code><a href="../../linq4j/Enumerator.html" title="interface in org.apache.calcite.linq4j">Enumerator</a>&lt;E&gt;</code></dd>
</dl>
<hr>
<pre>class <span class="typeNameLabel">CsvEnumerator&lt;E&gt;</span>
extends java.lang.Object
implements <a href="../../linq4j/Enumerator.html" title="interface in org.apache.calcite.linq4j">Enumerator</a>&lt;E&gt;</pre>
<div class="block">Enumerator that reads from a CSV file.</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>(package private) static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="CsvEnumerator.ArrayRowConverter.html" title="class in org.apache.calcite.adapter.csv">CsvEnumerator.ArrayRowConverter</a></span></code></th>
<td class="colLast">
<div class="block">Array row converter.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>(package private) static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="CsvEnumerator.RowConverter.html" title="class in org.apache.calcite.adapter.csv">CsvEnumerator.RowConverter</a>&lt;<a href="CsvEnumerator.RowConverter.html" title="type parameter in CsvEnumerator.RowConverter">E</a>&gt;</span></code></th>
<td class="colLast">
<div class="block">Row converter.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="CsvEnumerator.SingleColumnRowConverter.html" title="class in org.apache.calcite.adapter.csv">CsvEnumerator.SingleColumnRowConverter</a></span></code></th>
<td class="colLast">
<div class="block">Single column row converter.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private java.util.concurrent.atomic.AtomicBoolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#cancelFlag">cancelFlag</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="CsvEnumerator.html" title="type parameter in CsvEnumerator">E</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#current">current</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private java.lang.String[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#filterValues">filterValues</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private au.com.bytecode.opencsv.CSVReader</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reader">reader</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="CsvEnumerator.RowConverter.html" title="class in org.apache.calcite.adapter.csv">CsvEnumerator.RowConverter</a>&lt;<a href="CsvEnumerator.html" title="type parameter in CsvEnumerator">E</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#rowConverter">rowConverter</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static org.apache.commons.lang3.time.FastDateFormat</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#TIME_FORMAT_DATE">TIME_FORMAT_DATE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static org.apache.commons.lang3.time.FastDateFormat</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#TIME_FORMAT_TIME">TIME_FORMAT_TIME</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static org.apache.commons.lang3.time.FastDateFormat</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#TIME_FORMAT_TIMESTAMP">TIME_FORMAT_TIMESTAMP</a></span></code></th>
<td class="colLast">&nbsp;</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">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.calcite.util.Source,java.util.concurrent.atomic.AtomicBoolean,boolean,java.lang.String%5B%5D,org.apache.calcite.adapter.csv.CsvEnumerator.RowConverter)">CsvEnumerator</a></span>&#8203;(<a href="../../util/Source.html" title="interface in org.apache.calcite.util">Source</a>&nbsp;source,
java.util.concurrent.atomic.AtomicBoolean&nbsp;cancelFlag,
boolean&nbsp;stream,
java.lang.String[]&nbsp;filterValues,
<a href="CsvEnumerator.RowConverter.html" title="class in org.apache.calcite.adapter.csv">CsvEnumerator.RowConverter</a>&lt;<a href="CsvEnumerator.html" title="type parameter in CsvEnumerator">E</a>&gt;&nbsp;rowConverter)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.apache.calcite.util.Source,java.util.concurrent.atomic.AtomicBoolean,java.util.List)">CsvEnumerator</a></span>&#8203;(<a href="../../util/Source.html" title="interface in org.apache.calcite.util">Source</a>&nbsp;source,
java.util.concurrent.atomic.AtomicBoolean&nbsp;cancelFlag,
java.util.List&lt;<a href="CsvFieldType.html" title="enum in org.apache.calcite.adapter.csv">CsvFieldType</a>&gt;&nbsp;fieldTypes)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.apache.calcite.util.Source,java.util.concurrent.atomic.AtomicBoolean,java.util.List,int%5B%5D)">CsvEnumerator</a></span>&#8203;(<a href="../../util/Source.html" title="interface in org.apache.calcite.util">Source</a>&nbsp;source,
java.util.concurrent.atomic.AtomicBoolean&nbsp;cancelFlag,
java.util.List&lt;<a href="CsvFieldType.html" title="enum in org.apache.calcite.adapter.csv">CsvFieldType</a>&gt;&nbsp;fieldTypes,
int[]&nbsp;fields)</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="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="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#close()">close</a></span>()</code></th>
<td class="colLast">
<div class="block">Closes this enumerable and releases resources.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>private static <a href="CsvEnumerator.RowConverter.html" title="class in org.apache.calcite.adapter.csv">CsvEnumerator.RowConverter</a>&lt;?&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#converter(java.util.List,int%5B%5D)">converter</a></span>&#8203;(java.util.List&lt;<a href="CsvFieldType.html" title="enum in org.apache.calcite.adapter.csv">CsvFieldType</a>&gt;&nbsp;fieldTypes,
int[]&nbsp;fields)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="CsvEnumerator.html" title="type parameter in CsvEnumerator">E</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#current()">current</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets the current element in the collection.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>(package private) static <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#deduceRowType(org.apache.calcite.adapter.java.JavaTypeFactory,org.apache.calcite.util.Source,java.util.List)">deduceRowType</a></span>&#8203;(<a href="../java/JavaTypeFactory.html" title="interface in org.apache.calcite.adapter.java">JavaTypeFactory</a>&nbsp;typeFactory,
<a href="../../util/Source.html" title="interface in org.apache.calcite.util">Source</a>&nbsp;source,
java.util.List&lt;<a href="CsvFieldType.html" title="enum in org.apache.calcite.adapter.csv">CsvFieldType</a>&gt;&nbsp;fieldTypes)</code></th>
<td class="colLast">
<div class="block">Deduces the names and types of a table's columns by reading the first line
of a CSV file.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>(package private) static <a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#deduceRowType(org.apache.calcite.adapter.java.JavaTypeFactory,org.apache.calcite.util.Source,java.util.List,java.lang.Boolean)">deduceRowType</a></span>&#8203;(<a href="../java/JavaTypeFactory.html" title="interface in org.apache.calcite.adapter.java">JavaTypeFactory</a>&nbsp;typeFactory,
<a href="../../util/Source.html" title="interface in org.apache.calcite.util">Source</a>&nbsp;source,
java.util.List&lt;<a href="CsvFieldType.html" title="enum in org.apache.calcite.adapter.csv">CsvFieldType</a>&gt;&nbsp;fieldTypes,
java.lang.Boolean&nbsp;stream)</code></th>
<td class="colLast">
<div class="block">Deduces the names and types of a table's columns by reading the first line
of a CSV file.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>(package private) static int[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#identityList(int)">identityList</a></span>&#8203;(int&nbsp;n)</code></th>
<td class="colLast">
<div class="block">Returns an array of integers {0, ..., n - 1}.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#moveNext()">moveNext</a></span>()</code></th>
<td class="colLast">
<div class="block">Advances the enumerator to the next element of the collection.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>static au.com.bytecode.opencsv.CSVReader</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#openCsv(org.apache.calcite.util.Source)">openCsv</a></span>&#8203;(<a href="../../util/Source.html" title="interface in org.apache.calcite.util">Source</a>&nbsp;source)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reset()">reset</a></span>()</code></th>
<td class="colLast">
<div class="block">Sets the enumerator to its initial position, which is before the first
element in the collection.</div>
</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">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="reader">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reader</h4>
<pre>private final&nbsp;au.com.bytecode.opencsv.CSVReader reader</pre>
</li>
</ul>
<a id="filterValues">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>filterValues</h4>
<pre>private final&nbsp;java.lang.String[] filterValues</pre>
</li>
</ul>
<a id="cancelFlag">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cancelFlag</h4>
<pre>private final&nbsp;java.util.concurrent.atomic.AtomicBoolean cancelFlag</pre>
</li>
</ul>
<a id="rowConverter">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rowConverter</h4>
<pre>private final&nbsp;<a href="CsvEnumerator.RowConverter.html" title="class in org.apache.calcite.adapter.csv">CsvEnumerator.RowConverter</a>&lt;<a href="CsvEnumerator.html" title="type parameter in CsvEnumerator">E</a>&gt; rowConverter</pre>
</li>
</ul>
<a id="current">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>current</h4>
<pre>private&nbsp;<a href="CsvEnumerator.html" title="type parameter in CsvEnumerator">E</a> current</pre>
</li>
</ul>
<a id="TIME_FORMAT_DATE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TIME_FORMAT_DATE</h4>
<pre>private static final&nbsp;org.apache.commons.lang3.time.FastDateFormat TIME_FORMAT_DATE</pre>
</li>
</ul>
<a id="TIME_FORMAT_TIME">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TIME_FORMAT_TIME</h4>
<pre>private static final&nbsp;org.apache.commons.lang3.time.FastDateFormat TIME_FORMAT_TIME</pre>
</li>
</ul>
<a id="TIME_FORMAT_TIMESTAMP">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>TIME_FORMAT_TIMESTAMP</h4>
<pre>private static final&nbsp;org.apache.commons.lang3.time.FastDateFormat TIME_FORMAT_TIMESTAMP</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= 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.calcite.util.Source,java.util.concurrent.atomic.AtomicBoolean,java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CsvEnumerator</h4>
<pre>CsvEnumerator&#8203;(<a href="../../util/Source.html" title="interface in org.apache.calcite.util">Source</a>&nbsp;source,
java.util.concurrent.atomic.AtomicBoolean&nbsp;cancelFlag,
java.util.List&lt;<a href="CsvFieldType.html" title="enum in org.apache.calcite.adapter.csv">CsvFieldType</a>&gt;&nbsp;fieldTypes)</pre>
</li>
</ul>
<a id="&lt;init&gt;(org.apache.calcite.util.Source,java.util.concurrent.atomic.AtomicBoolean,java.util.List,int[])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CsvEnumerator</h4>
<pre>CsvEnumerator&#8203;(<a href="../../util/Source.html" title="interface in org.apache.calcite.util">Source</a>&nbsp;source,
java.util.concurrent.atomic.AtomicBoolean&nbsp;cancelFlag,
java.util.List&lt;<a href="CsvFieldType.html" title="enum in org.apache.calcite.adapter.csv">CsvFieldType</a>&gt;&nbsp;fieldTypes,
int[]&nbsp;fields)</pre>
</li>
</ul>
<a id="&lt;init&gt;(org.apache.calcite.util.Source,java.util.concurrent.atomic.AtomicBoolean,boolean,java.lang.String[],org.apache.calcite.adapter.csv.CsvEnumerator.RowConverter)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>CsvEnumerator</h4>
<pre>CsvEnumerator&#8203;(<a href="../../util/Source.html" title="interface in org.apache.calcite.util">Source</a>&nbsp;source,
java.util.concurrent.atomic.AtomicBoolean&nbsp;cancelFlag,
boolean&nbsp;stream,
java.lang.String[]&nbsp;filterValues,
<a href="CsvEnumerator.RowConverter.html" title="class in org.apache.calcite.adapter.csv">CsvEnumerator.RowConverter</a>&lt;<a href="CsvEnumerator.html" title="type parameter in CsvEnumerator">E</a>&gt;&nbsp;rowConverter)</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="converter(java.util.List,int[])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>converter</h4>
<pre class="methodSignature">private static&nbsp;<a href="CsvEnumerator.RowConverter.html" title="class in org.apache.calcite.adapter.csv">CsvEnumerator.RowConverter</a>&lt;?&gt;&nbsp;converter&#8203;(java.util.List&lt;<a href="CsvFieldType.html" title="enum in org.apache.calcite.adapter.csv">CsvFieldType</a>&gt;&nbsp;fieldTypes,
int[]&nbsp;fields)</pre>
</li>
</ul>
<a id="deduceRowType(org.apache.calcite.adapter.java.JavaTypeFactory,org.apache.calcite.util.Source,java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deduceRowType</h4>
<pre class="methodSignature">static&nbsp;<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;deduceRowType&#8203;(<a href="../java/JavaTypeFactory.html" title="interface in org.apache.calcite.adapter.java">JavaTypeFactory</a>&nbsp;typeFactory,
<a href="../../util/Source.html" title="interface in org.apache.calcite.util">Source</a>&nbsp;source,
java.util.List&lt;<a href="CsvFieldType.html" title="enum in org.apache.calcite.adapter.csv">CsvFieldType</a>&gt;&nbsp;fieldTypes)</pre>
<div class="block">Deduces the names and types of a table's columns by reading the first line
of a CSV file.</div>
</li>
</ul>
<a id="deduceRowType(org.apache.calcite.adapter.java.JavaTypeFactory,org.apache.calcite.util.Source,java.util.List,java.lang.Boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deduceRowType</h4>
<pre class="methodSignature">static&nbsp;<a href="../../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;deduceRowType&#8203;(<a href="../java/JavaTypeFactory.html" title="interface in org.apache.calcite.adapter.java">JavaTypeFactory</a>&nbsp;typeFactory,
<a href="../../util/Source.html" title="interface in org.apache.calcite.util">Source</a>&nbsp;source,
java.util.List&lt;<a href="CsvFieldType.html" title="enum in org.apache.calcite.adapter.csv">CsvFieldType</a>&gt;&nbsp;fieldTypes,
java.lang.Boolean&nbsp;stream)</pre>
<div class="block">Deduces the names and types of a table's columns by reading the first line
of a CSV file.</div>
</li>
</ul>
<a id="openCsv(org.apache.calcite.util.Source)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>openCsv</h4>
<pre class="methodSignature">public static&nbsp;au.com.bytecode.opencsv.CSVReader&nbsp;openCsv&#8203;(<a href="../../util/Source.html" title="interface in org.apache.calcite.util">Source</a>&nbsp;source)
throws java.io.IOException</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a id="current()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>current</h4>
<pre class="methodSignature">public&nbsp;<a href="CsvEnumerator.html" title="type parameter in CsvEnumerator">E</a>&nbsp;current()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../linq4j/Enumerator.html#current()">Enumerator</a></code></span></div>
<div class="block">Gets the current element in the collection.
<p>After an enumerator is created or after the <a href="../../linq4j/Enumerator.html#reset()"><code>Enumerator.reset()</code></a> method is
called, the <a href="../../linq4j/Enumerator.html#moveNext()"><code>Enumerator.moveNext()</code></a> method must be called to advance the
enumerator to the first element of the collection before reading the
value of the <code>current</code> property; otherwise, <code>current</code> is
undefined.
<p>This method also throws <code>NoSuchElementException</code> if
the last call to <code>moveNext</code> returned <code>false</code>, which indicates
the end of the collection.
<p>This method does not move the position of the enumerator, and
consecutive calls to <code>current</code> return the same object until either
<code>moveNext</code> or <code>reset</code> is called.
<p>An enumerator remains valid as long as the collection remains
unchanged. If changes are made to the collection, such as adding,
modifying, or deleting elements, the enumerator is irrecoverably
invalidated. The next call to <code>moveNext</code> or <code>reset</code> may,
at the discretion of the implementation, throw a
<code>ConcurrentModificationException</code>. If the collection is
modified between <code>moveNext</code> and <code>current</code>, <code>current</code>
returns the element that it is set to, even if the enumerator is already
invalidated.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../linq4j/Enumerator.html#current()">current</a></code>&nbsp;in interface&nbsp;<code><a href="../../linq4j/Enumerator.html" title="interface in org.apache.calcite.linq4j">Enumerator</a>&lt;<a href="CsvEnumerator.html" title="type parameter in CsvEnumerator">E</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Current element</dd>
</dl>
</li>
</ul>
<a id="moveNext()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>moveNext</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;moveNext()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../linq4j/Enumerator.html#moveNext()">Enumerator</a></code></span></div>
<div class="block">Advances the enumerator to the next element of the collection.
<p>After an enumerator is created or after the <code>reset</code> method is
called, an enumerator is positioned before the first element of the
collection, and the first call to the <code>moveNext</code> method moves the
enumerator over the first element of the collection.
<p>If <code>moveNext</code> passes the end of the collection, the enumerator
is positioned after the last element in the collection and
<code>moveNext</code> returns <code>false</code>. When the enumerator is at this
position, subsequent calls to <code>moveNext</code> also return <code>false</code>
until <code>#reset</code> is called.
<p>An enumerator remains valid as long as the collection remains
unchanged. If changes are made to the collection, such as adding,
modifying, or deleting elements, the enumerator is irrecoverably
invalidated. The next call to <code>moveNext</code> or <a href="../../linq4j/Enumerator.html#reset()"><code>Enumerator.reset()</code></a> may,
at the discretion of the implementation, throw a
<code>ConcurrentModificationException</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../linq4j/Enumerator.html#moveNext()">moveNext</a></code>&nbsp;in interface&nbsp;<code><a href="../../linq4j/Enumerator.html" title="interface in org.apache.calcite.linq4j">Enumerator</a>&lt;<a href="CsvEnumerator.html" title="type parameter in CsvEnumerator">E</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if the enumerator was successfully advanced to the
next element; <code>false</code> if the enumerator has passed the end of
the collection</dd>
</dl>
</li>
</ul>
<a id="reset()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reset</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;reset()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../linq4j/Enumerator.html#reset()">Enumerator</a></code></span></div>
<div class="block">Sets the enumerator to its initial position, which is before the first
element in the collection.
<p>An enumerator remains valid as long as the collection remains
unchanged. If changes are made to the collection, such as adding,
modifying, or deleting elements, the enumerator is irrecoverably
invalidated. The next call to <a href="../../linq4j/Enumerator.html#moveNext()"><code>Enumerator.moveNext()</code></a> or <code>reset</code> may,
at the discretion of the implementation, throw a
<code>ConcurrentModificationException</code>.
<p>This method is optional; it may throw
<code>UnsupportedOperationException</code>.
<h3>Notes to Implementers</h3>
<p>All calls to Reset must result in the same state for the enumerator.
The preferred implementation is to move the enumerator to the beginning
of the collection, before the first element. This invalidates the
enumerator if the collection has been modified since the enumerator was
created, which is consistent with <a href="../../linq4j/Enumerator.html#moveNext()"><code>Enumerator.moveNext()</code></a> and
<a href="../../linq4j/Enumerator.html#current()"><code>Enumerator.current()</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../linq4j/Enumerator.html#reset()">reset</a></code>&nbsp;in interface&nbsp;<code><a href="../../linq4j/Enumerator.html" title="interface in org.apache.calcite.linq4j">Enumerator</a>&lt;<a href="CsvEnumerator.html" title="type parameter in CsvEnumerator">E</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a id="close()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;close()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../linq4j/Enumerator.html#close()">Enumerator</a></code></span></div>
<div class="block">Closes this enumerable and releases resources.
<p>This method is idempotent. Calling it multiple times has the same effect
as calling it once.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>close</code>&nbsp;in interface&nbsp;<code>java.lang.AutoCloseable</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../linq4j/Enumerator.html#close()">close</a></code>&nbsp;in interface&nbsp;<code><a href="../../linq4j/Enumerator.html" title="interface in org.apache.calcite.linq4j">Enumerator</a>&lt;<a href="CsvEnumerator.html" title="type parameter in CsvEnumerator">E</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a id="identityList(int)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>identityList</h4>
<pre class="methodSignature">static&nbsp;int[]&nbsp;identityList&#8203;(int&nbsp;n)</pre>
<div class="block">Returns an array of integers {0, ..., n - 1}.</div>
</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="class-use/CsvEnumerator.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" 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><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 id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2012&#x2013;2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>