blob: 45166f9d0283876b6e6cc9d675387659cbd005fd [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>Linq4j (Apache Calcite API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: org.apache.calcite.linq4j, class: Linq4j">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<div class="about-language"><b>Apache Calcite</b></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">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#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li><a href="#field-detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.calcite.linq4j</a></div>
<h1 title="Class Linq4j" class="title">Class Linq4j</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance">org.apache.calcite.linq4j.Linq4j</div>
</div>
<section class="class-description" id="class-description">
<hr>
<div class="type-signature"><span class="modifiers">public abstract class </span><span class="element-name type-name-label">Linq4j</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
<div class="block">Utility and factory methods for Linq4j.</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>static final <a href="QueryProvider.html" title="interface in org.apache.calcite.linq4j">QueryProvider</a></code></div>
<div class="col-second even-row-color"><code><a href="#DEFAULT_PROVIDER" class="member-name-link">DEFAULT_PROVIDER</a></code></div>
<div class="col-last even-row-color">
<div class="block">Query provider that simply executes a <a href="Queryable.html" title="interface in org.apache.calcite.linq4j"><code>Queryable</code></a> by calling its
enumerator method; does not attempt optimization.</div>
</div>
<div class="col-first odd-row-color"><code>static final <a href="Enumerable.html" title="interface in org.apache.calcite.linq4j">Enumerable</a>&lt;?&gt;</code></div>
<div class="col-second odd-row-color"><code><a href="#EMPTY_ENUMERABLE" class="member-name-link">EMPTY_ENUMERABLE</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button><button id="method-summary-table-tab6" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab6', 3)" class="table-tab">Deprecated Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static &lt;T&gt;&nbsp;<a href="Enumerable.html" title="interface in org.apache.calcite.linq4j">Enumerable</a>&lt;T&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#asEnumerable(java.lang.Iterable)" class="member-name-link">asEnumerable</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;T&gt;&nbsp;iterable)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Adapter that converts an <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link"><code>Iterable</code></a> into an <a href="Enumerable.html" title="interface in org.apache.calcite.linq4j"><code>Enumerable</code></a>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static &lt;T&gt;&nbsp;<a href="Enumerable.html" title="interface in org.apache.calcite.linq4j">Enumerable</a>&lt;T&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#asEnumerable(java.util.Collection)" class="member-name-link">asEnumerable</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;T&gt;&nbsp;collection)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Adapter that converts an <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link"><code>Collection</code></a> into an <a href="Enumerable.html" title="interface in org.apache.calcite.linq4j"><code>Enumerable</code></a>.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static &lt;T&gt;&nbsp;<a href="Enumerable.html" title="interface in org.apache.calcite.linq4j">Enumerable</a>&lt;T&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#asEnumerable(java.util.List)" class="member-name-link">asEnumerable</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;T&gt;&nbsp;list)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Adapter that converts an <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link"><code>List</code></a> into an <a href="Enumerable.html" title="interface in org.apache.calcite.linq4j"><code>Enumerable</code></a>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static &lt;T&gt;&nbsp;<a href="Enumerable.html" title="interface in org.apache.calcite.linq4j">Enumerable</a>&lt;T&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#asEnumerable(T%5B%5D)" class="member-name-link">asEnumerable</a><wbr>(T[]&nbsp;ts)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Adapter that converts an array into an enumerable.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static &lt;TSource,<wbr>
TResult&gt;<br><a href="Enumerable.html" title="interface in org.apache.calcite.linq4j">Enumerable</a>&lt;TResult&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#cast(java.lang.Iterable,java.lang.Class)" class="member-name-link">cast</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;TSource&gt;&nbsp;source,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;TResult&gt;&nbsp;clazz)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Converts the elements of a given Iterable to the specified type.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static &lt;E&gt;&nbsp;<a href="Enumerable.html" title="interface in org.apache.calcite.linq4j">Enumerable</a>&lt;E&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#concat(java.util.List)" class="member-name-link">concat</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="Enumerable.html" title="interface in org.apache.calcite.linq4j">Enumerable</a>&lt;E&gt;&gt;&nbsp;enumerableList)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Concatenates two or more <a href="Enumerable.html" title="interface in org.apache.calcite.linq4j"><code>Enumerable</code></a>s to form a composite
enumerable that contains the union of their elements.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static &lt;T&gt;&nbsp;<a href="Enumerable.html" title="interface in org.apache.calcite.linq4j">Enumerable</a>&lt;T&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#emptyEnumerable()" class="member-name-link">emptyEnumerable</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Returns an <a href="Enumerable.html" title="interface in org.apache.calcite.linq4j"><code>Enumerable</code></a> that has no elements.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static &lt;T&gt;&nbsp;<a href="Enumerator.html" title="interface in org.apache.calcite.linq4j">Enumerator</a>&lt;T&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#emptyEnumerator()" class="member-name-link">emptyEnumerator</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Returns an <a href="Enumerator.html" title="interface in org.apache.calcite.linq4j"><code>Enumerator</code></a> that has no elements.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static &lt;V&gt;&nbsp;<a href="Enumerator.html" title="interface in org.apache.calcite.linq4j">Enumerator</a>&lt;V&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#enumerator(java.util.Collection)" class="member-name-link">enumerator</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;? extends V&gt;&nbsp;values)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Adapter that converts a collection into an enumerator.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static &lt;T&gt;&nbsp;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link">Iterator</a>&lt;T&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#enumeratorIterator(org.apache.calcite.linq4j.Enumerator)" class="member-name-link">enumeratorIterator</a><wbr>(<a href="Enumerator.html" title="interface in org.apache.calcite.linq4j">Enumerator</a>&lt;T&gt;&nbsp;enumerator)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Adapter that converts an enumerator into an iterator.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"><code>static &lt;T&gt;&nbsp;boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#equals(T,T)" class="member-name-link">equals</a><wbr>(T&nbsp;t0,
T&nbsp;t1)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6">
<div class="block"><span class="deprecated-label">Deprecated.</span></div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static @Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/reflect/Method.html" title="class or interface in java.lang.reflect" class="external-link">Method</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getMethod(java.lang.String,java.lang.String,java.lang.Class...)" class="member-name-link">getMethod</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;className,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;methodName,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>...&nbsp;parameterTypes)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static &lt;T&gt;&nbsp;<a href="Enumerator.html" title="interface in org.apache.calcite.linq4j">Enumerator</a>&lt;T&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#iterableEnumerator(java.lang.Iterable)" class="member-name-link">iterableEnumerator</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends T&gt;&nbsp;iterable)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Adapter that converts an iterable into an enumerator.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static &lt;TSource,<wbr>
TResult&gt;<br><a href="Enumerable.html" title="interface in org.apache.calcite.linq4j">Enumerable</a>&lt;TResult&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#ofType(java.lang.Iterable,java.lang.Class)" class="member-name-link">ofType</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;TSource&gt;&nbsp;source,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;TResult&gt;&nbsp;clazz)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Returns elements of a given <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link"><code>Iterable</code></a> that are of the specified
type.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static &lt;T&gt;&nbsp;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;T&gt;&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#product(java.lang.Iterable)" class="member-name-link">product</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;T&gt;&gt;&nbsp;iterables)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Returns the cartesian product of an iterable of iterables.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static &lt;T&gt;&nbsp;<a href="Enumerator.html" title="interface in org.apache.calcite.linq4j">Enumerator</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;T&gt;&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#product(java.util.List)" class="member-name-link">product</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="Enumerator.html" title="interface in org.apache.calcite.linq4j">Enumerator</a>&lt;T&gt;&gt;&nbsp;enumerators)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Returns an enumerator that is the cartesian product of the given
enumerators.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"><code>static &lt;T&gt;&nbsp;T</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#requireNonNull(T)" class="member-name-link">requireNonNull</a><wbr>(T&nbsp;o)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6">
<div class="block"><span class="deprecated-label">Deprecated.</span></div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static &lt;T&gt;&nbsp;<a href="Enumerable.html" title="interface in org.apache.calcite.linq4j">Enumerable</a>&lt;T&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#singletonEnumerable(T)" class="member-name-link">singletonEnumerable</a><wbr>(T&nbsp;element)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Returns an <a href="Enumerable.html" title="interface in org.apache.calcite.linq4j"><code>Enumerable</code></a> that has one element.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static &lt;T&gt;&nbsp;<a href="Enumerator.html" title="interface in org.apache.calcite.linq4j">Enumerator</a>&lt;T&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#singletonEnumerator(T)" class="member-name-link">singletonEnumerator</a><wbr>(T&nbsp;element)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Returns an <a href="Enumerator.html" title="interface in org.apache.calcite.linq4j"><code>Enumerator</code></a> that has one element.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static &lt;T&gt;&nbsp;<a href="Enumerator.html" title="interface in org.apache.calcite.linq4j">Enumerator</a>&lt;T&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#singletonNullEnumerator()" class="member-name-link">singletonNullEnumerator</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Returns an <a href="Enumerator.html" title="interface in org.apache.calcite.linq4j"><code>Enumerator</code></a> that has one null element.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static &lt;F,<wbr>
E&gt;&nbsp;<a href="Enumerator.html" title="interface in org.apache.calcite.linq4j">Enumerator</a>&lt;E&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#transform(org.apache.calcite.linq4j.Enumerator,org.apache.calcite.linq4j.function.Function1)" class="member-name-link">transform</a><wbr>(<a href="Enumerator.html" title="interface in org.apache.calcite.linq4j">Enumerator</a>&lt;? extends F&gt;&nbsp;enumerator,
<a href="function/Function1.html" title="interface in org.apache.calcite.linq4j.function">Function1</a>&lt;? super F,<wbr>? extends E&gt;&nbsp;func)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Applies a function to each element of an Enumerator.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="DEFAULT_PROVIDER">
<h3>DEFAULT_PROVIDER</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="QueryProvider.html" title="interface in org.apache.calcite.linq4j">QueryProvider</a></span>&nbsp;<span class="element-name">DEFAULT_PROVIDER</span></div>
<div class="block">Query provider that simply executes a <a href="Queryable.html" title="interface in org.apache.calcite.linq4j"><code>Queryable</code></a> by calling its
enumerator method; does not attempt optimization.</div>
</section>
</li>
<li>
<section class="detail" id="EMPTY_ENUMERABLE">
<h3>EMPTY_ENUMERABLE</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="Enumerable.html" title="interface in org.apache.calcite.linq4j">Enumerable</a>&lt;?&gt;</span>&nbsp;<span class="element-name">EMPTY_ENUMERABLE</span></div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getMethod(java.lang.String,java.lang.String,java.lang.Class...)">
<h3>getMethod</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">@Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/reflect/Method.html" title="class or interface in java.lang.reflect" class="external-link">Method</a></span>&nbsp;<span class="element-name">getMethod</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;className,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;methodName,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>...&nbsp;parameterTypes)</span></div>
</section>
</li>
<li>
<section class="detail" id="enumeratorIterator(org.apache.calcite.linq4j.Enumerator)">
<h3>enumeratorIterator</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="type-parameters">&lt;T&gt;</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link">Iterator</a>&lt;T&gt;</span>&nbsp;<span class="element-name">enumeratorIterator</span><wbr><span class="parameters">(<a href="Enumerator.html" title="interface in org.apache.calcite.linq4j">Enumerator</a>&lt;T&gt;&nbsp;enumerator)</span></div>
<div class="block">Adapter that converts an enumerator into an iterator.
<p><b>WARNING</b>: The iterator returned by this method does not call
<a href="Enumerator.html#close()"><code>Enumerator.close()</code></a>, so it is not safe to
use with an enumerator that allocates resources.</p></div>
<dl class="notes">
<dt>Type Parameters:</dt>
<dd><code>T</code> - Element type</dd>
<dt>Parameters:</dt>
<dd><code>enumerator</code> - Enumerator</dd>
<dt>Returns:</dt>
<dd>Iterator</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="iterableEnumerator(java.lang.Iterable)">
<h3>iterableEnumerator</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="type-parameters">&lt;T&gt;</span>&nbsp;<span class="return-type"><a href="Enumerator.html" title="interface in org.apache.calcite.linq4j">Enumerator</a>&lt;T&gt;</span>&nbsp;<span class="element-name">iterableEnumerator</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends T&gt;&nbsp;iterable)</span></div>
<div class="block">Adapter that converts an iterable into an enumerator.</div>
<dl class="notes">
<dt>Type Parameters:</dt>
<dd><code>T</code> - Element type</dd>
<dt>Parameters:</dt>
<dd><code>iterable</code> - Iterable</dd>
<dt>Returns:</dt>
<dd>enumerator</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="asEnumerable(java.util.List)">
<h3>asEnumerable</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="type-parameters">&lt;T&gt;</span>&nbsp;<span class="return-type"><a href="Enumerable.html" title="interface in org.apache.calcite.linq4j">Enumerable</a>&lt;T&gt;</span>&nbsp;<span class="element-name">asEnumerable</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;T&gt;&nbsp;list)</span></div>
<div class="block">Adapter that converts an <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link"><code>List</code></a> into an <a href="Enumerable.html" title="interface in org.apache.calcite.linq4j"><code>Enumerable</code></a>.</div>
<dl class="notes">
<dt>Type Parameters:</dt>
<dd><code>T</code> - Element type</dd>
<dt>Parameters:</dt>
<dd><code>list</code> - List</dd>
<dt>Returns:</dt>
<dd>enumerable</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="asEnumerable(java.util.Collection)">
<h3>asEnumerable</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="type-parameters">&lt;T&gt;</span>&nbsp;<span class="return-type"><a href="Enumerable.html" title="interface in org.apache.calcite.linq4j">Enumerable</a>&lt;T&gt;</span>&nbsp;<span class="element-name">asEnumerable</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;T&gt;&nbsp;collection)</span></div>
<div class="block">Adapter that converts an <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link"><code>Collection</code></a> into an <a href="Enumerable.html" title="interface in org.apache.calcite.linq4j"><code>Enumerable</code></a>.
<p>It uses more efficient implementations if the iterable happens to
be a <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link"><code>List</code></a>.</p></div>
<dl class="notes">
<dt>Type Parameters:</dt>
<dd><code>T</code> - Element type</dd>
<dt>Parameters:</dt>
<dd><code>collection</code> - Collection</dd>
<dt>Returns:</dt>
<dd>enumerable</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="asEnumerable(java.lang.Iterable)">
<h3>asEnumerable</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="type-parameters">&lt;T&gt;</span>&nbsp;<span class="return-type"><a href="Enumerable.html" title="interface in org.apache.calcite.linq4j">Enumerable</a>&lt;T&gt;</span>&nbsp;<span class="element-name">asEnumerable</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;T&gt;&nbsp;iterable)</span></div>
<div class="block">Adapter that converts an <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link"><code>Iterable</code></a> into an <a href="Enumerable.html" title="interface in org.apache.calcite.linq4j"><code>Enumerable</code></a>.
<p>It uses more efficient implementations if the iterable happens to
be a <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link"><code>Collection</code></a> or a <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link"><code>List</code></a>.</p></div>
<dl class="notes">
<dt>Type Parameters:</dt>
<dd><code>T</code> - Element type</dd>
<dt>Parameters:</dt>
<dd><code>iterable</code> - Iterable</dd>
<dt>Returns:</dt>
<dd>enumerable</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="asEnumerable(T[])">
<h3 id="asEnumerable(java.lang.Object[])">asEnumerable</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="type-parameters">&lt;T&gt;</span>&nbsp;<span class="return-type"><a href="Enumerable.html" title="interface in org.apache.calcite.linq4j">Enumerable</a>&lt;T&gt;</span>&nbsp;<span class="element-name">asEnumerable</span><wbr><span class="parameters">(T[]&nbsp;ts)</span></div>
<div class="block">Adapter that converts an array into an enumerable.</div>
<dl class="notes">
<dt>Type Parameters:</dt>
<dd><code>T</code> - Element type</dd>
<dt>Parameters:</dt>
<dd><code>ts</code> - Array</dd>
<dt>Returns:</dt>
<dd>enumerable</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="enumerator(java.util.Collection)">
<h3>enumerator</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="type-parameters">&lt;V&gt;</span>&nbsp;<span class="return-type"><a href="Enumerator.html" title="interface in org.apache.calcite.linq4j">Enumerator</a>&lt;V&gt;</span>&nbsp;<span class="element-name">enumerator</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;? extends V&gt;&nbsp;values)</span></div>
<div class="block">Adapter that converts a collection into an enumerator.</div>
<dl class="notes">
<dt>Type Parameters:</dt>
<dd><code>V</code> - Element type</dd>
<dt>Parameters:</dt>
<dd><code>values</code> - Collection</dd>
<dt>Returns:</dt>
<dd>Enumerator over the collection</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="transform(org.apache.calcite.linq4j.Enumerator,org.apache.calcite.linq4j.function.Function1)">
<h3>transform</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="type-parameters">&lt;F,<wbr>
E&gt;</span>&nbsp;<span class="return-type"><a href="Enumerator.html" title="interface in org.apache.calcite.linq4j">Enumerator</a>&lt;E&gt;</span>&nbsp;<span class="element-name">transform</span><wbr><span class="parameters">(<a href="Enumerator.html" title="interface in org.apache.calcite.linq4j">Enumerator</a>&lt;? extends F&gt;&nbsp;enumerator,
<a href="function/Function1.html" title="interface in org.apache.calcite.linq4j.function">Function1</a>&lt;? super F,<wbr>? extends E&gt;&nbsp;func)</span></div>
<div class="block">Applies a function to each element of an Enumerator.</div>
<dl class="notes">
<dt>Type Parameters:</dt>
<dd><code>F</code> - Backing element type</dd>
<dd><code>E</code> - Element type</dd>
<dt>Parameters:</dt>
<dd><code>enumerator</code> - Backing enumerator</dd>
<dd><code>func</code> - Transform function</dd>
<dt>Returns:</dt>
<dd>Enumerator</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="cast(java.lang.Iterable,java.lang.Class)">
<h3>cast</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="type-parameters">&lt;TSource,<wbr>
TResult&gt;</span>&nbsp;<span class="return-type"><a href="Enumerable.html" title="interface in org.apache.calcite.linq4j">Enumerable</a>&lt;TResult&gt;</span>&nbsp;<span class="element-name">cast</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;TSource&gt;&nbsp;source,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;TResult&gt;&nbsp;clazz)</span></div>
<div class="block">Converts the elements of a given Iterable to the specified type.
<p>This method is implemented by using deferred execution. The immediate
return value is an object that stores all the information that is
required to perform the action. The query represented by this method is
not executed until the object is enumerated either by calling its
<a href="RawEnumerable.html#enumerator()"><code>RawEnumerable.enumerator()</code></a> method directly or by using
<code>for (... in ...)</code>.
<p>Since standard Java <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link"><code>Collection</code></a> objects implement the
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link"><code>Iterable</code></a> interface, the <code>cast</code> method enables the standard
query operators to be invoked on collections
(including <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link"><code>List</code></a> and <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link"><code>Set</code></a>) by supplying
the necessary type information. For example, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link"><code>ArrayList</code></a> does not
implement <a href="Enumerable.html" title="interface in org.apache.calcite.linq4j"><code>Enumerable</code></a>&lt;F&gt;, but you can invoke
<blockquote><code>Linq4j.cast(list, Integer.class)</code></blockquote>
<p>to convert the list of an enumerable that can be queried using the
standard query operators.
<p>If an element cannot be cast to type &lt;TResult&gt;, this method will
throw a <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/ClassCastException.html" title="class or interface in java.lang" class="external-link"><code>ClassCastException</code></a>. To obtain only those elements that
can be cast to type TResult, use the <a href="#ofType(java.lang.Iterable,java.lang.Class)"><code>ofType(java.lang.Iterable&lt;TSource&gt;, java.lang.Class&lt;TResult&gt;)</code></a> method instead.</div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list-long">
<li><a href="ExtendedEnumerable.html#cast(java.lang.Class)"><code>ExtendedEnumerable.cast(Class)</code></a></li>
<li><a href="#ofType(java.lang.Iterable,java.lang.Class)"><code>ofType(java.lang.Iterable&lt;TSource&gt;, java.lang.Class&lt;TResult&gt;)</code></a></li>
<li><a href="#asEnumerable(java.lang.Iterable)"><code>asEnumerable(Iterable)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="ofType(java.lang.Iterable,java.lang.Class)">
<h3>ofType</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="type-parameters">&lt;TSource,<wbr>
TResult&gt;</span>&nbsp;<span class="return-type"><a href="Enumerable.html" title="interface in org.apache.calcite.linq4j">Enumerable</a>&lt;TResult&gt;</span>&nbsp;<span class="element-name">ofType</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;TSource&gt;&nbsp;source,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;TResult&gt;&nbsp;clazz)</span></div>
<div class="block">Returns elements of a given <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link"><code>Iterable</code></a> that are of the specified
type.
<p>This method is implemented by using deferred execution. The immediate
return value is an object that stores all the information that is
required to perform the action. The query represented by this method is
not executed until the object is enumerated either by calling its
<a href="RawEnumerable.html#enumerator()"><code>RawEnumerable.enumerator()</code></a> method directly or by using
<code>for (... in ...)</code>.
<p>The <code>ofType</code> method returns only those elements in source that
can be cast to type TResult. To instead receive an exception if an
element cannot be cast to type TResult, use
<a href="#cast(java.lang.Iterable,java.lang.Class)"><code>cast(Iterable, Class)</code></a>.</p>
<p>Since standard Java <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link"><code>Collection</code></a> objects implement the
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link"><code>Iterable</code></a> interface, the <code>cast</code> method enables the standard
query operators to be invoked on collections
(including <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link"><code>List</code></a> and <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link"><code>Set</code></a>) by supplying
the necessary type information. For example, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ArrayList.html" title="class or interface in java.util" class="external-link"><code>ArrayList</code></a> does not
implement <a href="Enumerable.html" title="interface in org.apache.calcite.linq4j"><code>Enumerable</code></a>&lt;F&gt;, but you can invoke
<blockquote><code>Linq4j.ofType(list, Integer.class)</code></blockquote>
<p>to convert the list of an enumerable that can be queried using the
standard query operators.</div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list-long">
<li><a href="ExtendedEnumerable.html#cast(java.lang.Class)"><code>ExtendedEnumerable.cast(Class)</code></a></li>
<li><a href="#cast(java.lang.Iterable,java.lang.Class)"><code>cast(java.lang.Iterable&lt;TSource&gt;, java.lang.Class&lt;TResult&gt;)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="singletonEnumerable(T)">
<h3 id="singletonEnumerable(java.lang.Object)">singletonEnumerable</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="type-parameters">&lt;T&gt;</span>&nbsp;<span class="return-type"><a href="Enumerable.html" title="interface in org.apache.calcite.linq4j">Enumerable</a>&lt;T&gt;</span>&nbsp;<span class="element-name">singletonEnumerable</span><wbr><span class="parameters">(T&nbsp;element)</span></div>
<div class="block">Returns an <a href="Enumerable.html" title="interface in org.apache.calcite.linq4j"><code>Enumerable</code></a> that has one element.</div>
<dl class="notes">
<dt>Type Parameters:</dt>
<dd><code>T</code> - Element type</dd>
<dt>Returns:</dt>
<dd>Singleton enumerable</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="singletonEnumerator(T)">
<h3 id="singletonEnumerator(java.lang.Object)">singletonEnumerator</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="type-parameters">&lt;T&gt;</span>&nbsp;<span class="return-type"><a href="Enumerator.html" title="interface in org.apache.calcite.linq4j">Enumerator</a>&lt;T&gt;</span>&nbsp;<span class="element-name">singletonEnumerator</span><wbr><span class="parameters">(T&nbsp;element)</span></div>
<div class="block">Returns an <a href="Enumerator.html" title="interface in org.apache.calcite.linq4j"><code>Enumerator</code></a> that has one element.</div>
<dl class="notes">
<dt>Type Parameters:</dt>
<dd><code>T</code> - Element type</dd>
<dt>Returns:</dt>
<dd>Singleton enumerator</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="singletonNullEnumerator()">
<h3>singletonNullEnumerator</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="type-parameters">&lt;T&gt;</span>&nbsp;<span class="return-type"><a href="Enumerator.html" title="interface in org.apache.calcite.linq4j">Enumerator</a>&lt;T&gt;</span>&nbsp;<span class="element-name">singletonNullEnumerator</span>()</div>
<div class="block">Returns an <a href="Enumerator.html" title="interface in org.apache.calcite.linq4j"><code>Enumerator</code></a> that has one null element.</div>
<dl class="notes">
<dt>Type Parameters:</dt>
<dd><code>T</code> - Element type</dd>
<dt>Returns:</dt>
<dd>Singleton enumerator</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="emptyEnumerable()">
<h3>emptyEnumerable</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="type-parameters">&lt;T&gt;</span>&nbsp;<span class="return-type"><a href="Enumerable.html" title="interface in org.apache.calcite.linq4j">Enumerable</a>&lt;T&gt;</span>&nbsp;<span class="element-name">emptyEnumerable</span>()</div>
<div class="block">Returns an <a href="Enumerable.html" title="interface in org.apache.calcite.linq4j"><code>Enumerable</code></a> that has no elements.</div>
<dl class="notes">
<dt>Type Parameters:</dt>
<dd><code>T</code> - Element type</dd>
<dt>Returns:</dt>
<dd>Empty enumerable</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="emptyEnumerator()">
<h3>emptyEnumerator</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="type-parameters">&lt;T&gt;</span>&nbsp;<span class="return-type"><a href="Enumerator.html" title="interface in org.apache.calcite.linq4j">Enumerator</a>&lt;T&gt;</span>&nbsp;<span class="element-name">emptyEnumerator</span>()</div>
<div class="block">Returns an <a href="Enumerator.html" title="interface in org.apache.calcite.linq4j"><code>Enumerator</code></a> that has no elements.</div>
<dl class="notes">
<dt>Type Parameters:</dt>
<dd><code>T</code> - Element type</dd>
<dt>Returns:</dt>
<dd>Empty enumerator</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="concat(java.util.List)">
<h3>concat</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="type-parameters">&lt;E&gt;</span>&nbsp;<span class="return-type"><a href="Enumerable.html" title="interface in org.apache.calcite.linq4j">Enumerable</a>&lt;E&gt;</span>&nbsp;<span class="element-name">concat</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="Enumerable.html" title="interface in org.apache.calcite.linq4j">Enumerable</a>&lt;E&gt;&gt;&nbsp;enumerableList)</span></div>
<div class="block">Concatenates two or more <a href="Enumerable.html" title="interface in org.apache.calcite.linq4j"><code>Enumerable</code></a>s to form a composite
enumerable that contains the union of their elements.</div>
<dl class="notes">
<dt>Type Parameters:</dt>
<dd><code>E</code> - Element type</dd>
<dt>Parameters:</dt>
<dd><code>enumerableList</code> - List of enumerable objects</dd>
<dt>Returns:</dt>
<dd>Composite enumerator</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="product(java.util.List)">
<h3>product</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="type-parameters">&lt;T&gt;</span>&nbsp;<span class="return-type"><a href="Enumerator.html" title="interface in org.apache.calcite.linq4j">Enumerator</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;T&gt;&gt;</span>&nbsp;<span class="element-name">product</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="Enumerator.html" title="interface in org.apache.calcite.linq4j">Enumerator</a>&lt;T&gt;&gt;&nbsp;enumerators)</span></div>
<div class="block">Returns an enumerator that is the cartesian product of the given
enumerators.
<p>For example, given enumerator A that returns {"a", "b", "c"} and
enumerator B that returns {"x", "y"}, product(List(A, B)) will return
{List("a", "x"), List("a", "y"),
List("b", "x"), List("b", "y"),
List("c", "x"), List("c", "y")}.</p>
<p>Notice that the cardinality of the result is the product of the
cardinality of the inputs. The enumerators A and B have 3 and 2
elements respectively, and the result has 3 * 2 = 6 elements.
This is always the case. In
particular, if any of the enumerators is empty, the result is empty.</p></div>
<dl class="notes">
<dt>Type Parameters:</dt>
<dd><code>T</code> - Element type</dd>
<dt>Parameters:</dt>
<dd><code>enumerators</code> - List of enumerators</dd>
<dt>Returns:</dt>
<dd>Enumerator over the cartesian product</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="product(java.lang.Iterable)">
<h3>product</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="type-parameters">&lt;T&gt;</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;T&gt;&gt;</span>&nbsp;<span class="element-name">product</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;? extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;T&gt;&gt;&nbsp;iterables)</span></div>
<div class="block">Returns the cartesian product of an iterable of iterables.</div>
</section>
</li>
<li>
<section class="detail" id="equals(T,T)">
<h3 id="equals(java.lang.Object,java.lang.Object)">equals</h3>
<div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a>
</span><span class="modifiers">public static</span>&nbsp;<span class="type-parameters">&lt;T&gt;</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">equals</span><wbr><span class="parameters">(T&nbsp;t0,
T&nbsp;t1)</span></div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>
<div class="block">Returns whether the arguments are equal to each other.
<p>Equivalent to <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Objects.html#equals(java.lang.Object,java.lang.Object)" title="class or interface in java.util" class="external-link"><code>Objects.equals(java.lang.Object, java.lang.Object)</code></a> in JDK 1.7 and above.</div>
</section>
</li>
<li>
<section class="detail" id="requireNonNull(T)">
<h3 id="requireNonNull(java.lang.Object)">requireNonNull</h3>
<div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a>
</span><span class="modifiers">public static</span>&nbsp;<span class="type-parameters">&lt;T&gt;</span>&nbsp;<span class="return-type">T</span>&nbsp;<span class="element-name">requireNonNull</span><wbr><span class="parameters">(T&nbsp;o)</span></div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>
<div class="block">Throws <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/NullPointerException.html" title="class or interface in java.lang" class="external-link"><code>NullPointerException</code></a> if argument is null, otherwise
returns argument.
<p>Equivalent to <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Objects.html#requireNonNull(T)" title="class or interface in java.util" class="external-link"><code>Objects.requireNonNull(T)</code></a> in JDK 1.7 and
above.</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Copyright &copy; 2012-2023 Apache Software Foundation. All Rights Reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>