<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="zh">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>org.apache.calcite.util.mapping (Apache Calcite calcite API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="org.apache.calcite.util.mapping (Apache Calcite calcite API)";
        }
    }
    catch(err) {
    }
//-->
</script>
<noscript>
<div>您的浏览器已禁用 JavaScript。</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="跳过导航链接">跳过导航链接</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="导航">
<li><a href="../../../../../overview-summary.html">概览</a></li>
<li class="navBarCell1Rev">程序包</li>
<li>类</li>
<li><a href="package-tree.html">树</a></li>
<li><a href="../../../../../deprecated-list.html">已过时</a></li>
<li><a href="../../../../../index-all.html">索引</a></li>
<li><a href="../../../../../help-doc.html">帮助</a></li>
</ul>
<div class="aboutLanguage"><b>Apache Calcite</b></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/calcite/util/javac/package-summary.html">上一个程序包</a></li>
<li><a href="../../../../../org/apache/calcite/util/trace/package-summary.html">下一个程序包</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/calcite/util/mapping/package-summary.html" target="_top">框架</a></li>
<li><a href="package-summary.html" target="_top">无框架</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">所有类</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 title="程序包" class="title">程序包&nbsp;org.apache.calcite.util.mapping</h1>
<div class="docSummary">
<div class="block">Support for algebraic maps.</div>
</div>
<p>请参阅:&nbsp;<a href="#package.description">说明</a></p>
</div>
<div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="接口概要表, 列表接口和解释">
<caption><span>接口概要</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">接口</th>
<th class="colLast" scope="col">说明</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/util/mapping/Mapping.html" title="org.apache.calcite.util.mapping中的接口">Mapping</a></td>
<td class="colLast">
<div class="block">A <dfn>Mapping</dfn> is a relationship between a source domain to target
 domain of integers.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/util/mapping/Mappings.CoreMapping.html" title="org.apache.calcite.util.mapping中的接口">Mappings.CoreMapping</a></td>
<td class="colLast">
<div class="block">Core interface of all mappings.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/util/mapping/Mappings.FunctionMapping.html" title="org.apache.calcite.util.mapping中的接口">Mappings.FunctionMapping</a></td>
<td class="colLast">
<div class="block">Mapping where every source has a target.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/util/mapping/Mappings.SourceMapping.html" title="org.apache.calcite.util.mapping中的接口">Mappings.SourceMapping</a></td>
<td class="colLast">
<div class="block">Mapping suitable for sourcing columns.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/util/mapping/Mappings.TargetMapping.html" title="org.apache.calcite.util.mapping中的接口">Mappings.TargetMapping</a></td>
<td class="colLast">
<div class="block">Mapping suitable for mapping columns to a target.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="类概要表, 列表类和解释">
<caption><span>类概要</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">类</th>
<th class="colLast" scope="col">说明</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/util/mapping/AbstractSourceMapping.html" title="org.apache.calcite.util.mapping中的类">AbstractSourceMapping</a></td>
<td class="colLast">
<div class="block">Simple implementation of
 <a href="../../../../../org/apache/calcite/util/mapping/Mappings.TargetMapping.html" title="org.apache.calcite.util.mapping中的接口"><code>Mappings.TargetMapping</code></a> where the
 number of sources and targets are specified as constructor parameters and you
 just need to implement one method,</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/util/mapping/AbstractTargetMapping.html" title="org.apache.calcite.util.mapping中的类">AbstractTargetMapping</a></td>
<td class="colLast">
<div class="block">Simple implementation of
 <a href="../../../../../org/apache/calcite/util/mapping/Mappings.TargetMapping.html" title="org.apache.calcite.util.mapping中的接口"><code>Mappings.TargetMapping</code></a> where the
 number of sources and targets are specified as constructor parameters and you
 just need to implement one method,</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/util/mapping/IntPair.html" title="org.apache.calcite.util.mapping中的类">IntPair</a></td>
<td class="colLast">
<div class="block">An immutable pair of integers.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/util/mapping/Mappings.html" title="org.apache.calcite.util.mapping中的类">Mappings</a></td>
<td class="colLast">
<div class="block">Utility functions related to mappings.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/util/mapping/Mappings.AbstractMapping.html" title="org.apache.calcite.util.mapping中的类">Mappings.AbstractMapping</a></td>
<td class="colLast">
<div class="block">Abstract implementation of <a href="../../../../../org/apache/calcite/util/mapping/Mapping.html" title="org.apache.calcite.util.mapping中的接口"><code>Mapping</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/util/mapping/Mappings.FiniteAbstractMapping.html" title="org.apache.calcite.util.mapping中的类">Mappings.FiniteAbstractMapping</a></td>
<td class="colLast">
<div class="block">Abstract implementation of mapping where both source and target
 domains are finite.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/util/mapping/Mappings.IdentityMapping.html" title="org.apache.calcite.util.mapping中的类">Mappings.IdentityMapping</a></td>
<td class="colLast">
<div class="block">The identity mapping, of a given size, or infinite.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/util/mapping/Mappings.OverridingSourceMapping.html" title="org.apache.calcite.util.mapping中的类">Mappings.OverridingSourceMapping</a></td>
<td class="colLast">
<div class="block">Source mapping that returns the same result as a parent
 <a href="../../../../../org/apache/calcite/util/mapping/Mappings.SourceMapping.html" title="org.apache.calcite.util.mapping中的接口"><code>Mappings.SourceMapping</code></a> except for specific overriding elements.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/util/mapping/Mappings.OverridingTargetMapping.html" title="org.apache.calcite.util.mapping中的类">Mappings.OverridingTargetMapping</a></td>
<td class="colLast">
<div class="block">Target mapping that returns the same result as a parent
 <a href="../../../../../org/apache/calcite/util/mapping/Mappings.TargetMapping.html" title="org.apache.calcite.util.mapping中的接口"><code>Mappings.TargetMapping</code></a> except for specific overriding elements.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/util/mapping/Mappings.PartialMapping.html" title="org.apache.calcite.util.mapping中的类">Mappings.PartialMapping</a></td>
<td class="colLast">
<div class="block">A mapping where a source has at most one target, and every target has at
 most one source.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="枚举概要表, 列表枚举和解释">
<caption><span>枚举概要</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">枚举</th>
<th class="colLast" scope="col">说明</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/util/mapping/MappingType.html" title="org.apache.calcite.util.mapping中的枚举">MappingType</a></td>
<td class="colLast">
<div class="block">Describes the type of a mapping, from the most general
 <a href="../../../../../org/apache/calcite/util/mapping/MappingType.html#MULTI_FUNCTION"><code>MappingType.MULTI_FUNCTION</code></a> (every element in the source and target domain can
 participate in many mappings) to the most retricted <a href="../../../../../org/apache/calcite/util/mapping/MappingType.html#BIJECTION"><code>MappingType.BIJECTION</code></a> (every
 element in the source and target domain must be paired with precisely one
 element in the other domain).</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="异常错误概要表, 列表异常错误和解释">
<caption><span>异常错误概要</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">异常错误</th>
<th class="colLast" scope="col">说明</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/util/mapping/Mappings.NoElementException.html" title="org.apache.calcite.util.mapping中的类">Mappings.NoElementException</a></td>
<td class="colLast">
<div class="block">Thrown when a mapping is expected to return one element but returns none.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/calcite/util/mapping/Mappings.TooManyElementsException.html" title="org.apache.calcite.util.mapping中的类">Mappings.TooManyElementsException</a></td>
<td class="colLast">
<div class="block">Thrown when a mapping is expected to return one element but returns
 several.</div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="package.description">
<!--   -->
</a>
<h2 title="程序包org.apache.calcite.util.mapping的说明">程序包org.apache.calcite.util.mapping的说明</h2>
<div class="block">Support for algebraic maps.</div>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="跳过导航链接">跳过导航链接</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="导航">
<li><a href="../../../../../overview-summary.html">概览</a></li>
<li class="navBarCell1Rev">程序包</li>
<li>类</li>
<li><a href="package-tree.html">树</a></li>
<li><a href="../../../../../deprecated-list.html">已过时</a></li>
<li><a href="../../../../../index-all.html">索引</a></li>
<li><a href="../../../../../help-doc.html">帮助</a></li>
</ul>
<div class="aboutLanguage"><b>Apache Calcite</b></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/calcite/util/javac/package-summary.html">上一个程序包</a></li>
<li><a href="../../../../../org/apache/calcite/util/trace/package-summary.html">下一个程序包</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/calcite/util/mapping/package-summary.html" target="_top">框架</a></li>
<li><a href="package-summary.html" target="_top">无框架</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">所有类</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &copy; 2012-2020 Apache Software Foundation. All Rights Reserved.</small></p>
</body>
</html>
