| <!DOCTYPE HTML> |
| <!-- NewPage --> |
| <html lang="en"> |
| <head> |
| <!-- Generated by javadoc --> |
| <title>RelTraitSet (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="RelTraitSet (Apache Calcite API)"; |
| } |
| } |
| catch(err) { |
| } |
| //--> |
| var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":9,"i7":9,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":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/RelTraitSet.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 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: </li> |
| <li><a href="#nested.class.summary">Nested</a> | </li> |
| <li><a href="#field.summary">Field</a> | </li> |
| <li><a href="#constructor.summary">Constr</a> | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li><a href="#field.detail">Field</a> | </li> |
| <li><a href="#constructor.detail">Constr</a> | </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"> </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> <a href="package-summary.html">org.apache.calcite.plan</a></div> |
| <h2 title="Class RelTraitSet" class="title">Class RelTraitSet</h2> |
| </div> |
| <div class="contentContainer"> |
| <ul class="inheritance"> |
| <li>java.lang.Object</li> |
| <li> |
| <ul class="inheritance"> |
| <li>java.util.AbstractCollection<E></li> |
| <li> |
| <ul class="inheritance"> |
| <li>java.util.AbstractList<<a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>></li> |
| <li> |
| <ul class="inheritance"> |
| <li>org.apache.calcite.plan.RelTraitSet</li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| <div class="description"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <dl> |
| <dt>All Implemented Interfaces:</dt> |
| <dd><code>java.lang.Iterable<<a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>></code>, <code>java.util.Collection<<a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>></code>, <code>java.util.List<<a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>></code></dd> |
| </dl> |
| <hr> |
| <pre>public final class <span class="typeNameLabel">RelTraitSet</span> |
| extends java.util.AbstractList<<a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>></pre> |
| <div class="block">RelTraitSet represents an ordered set of <a href="RelTrait.html" title="interface in org.apache.calcite.plan"><code>RelTrait</code></a>s.</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"> </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>private static class </code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="RelTraitSet.Cache.html" title="class in org.apache.calcite.plan">RelTraitSet.Cache</a></span></code></th> |
| <td class="colLast"> |
| <div class="block">Cache of trait sets.</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"> </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 <a href="RelTraitSet.Cache.html" title="class in org.apache.calcite.plan">RelTraitSet.Cache</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#cache">cache</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>private static <a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>[]</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#EMPTY_TRAITS">EMPTY_TRAITS</a></span></code></th> |
| <td class="colLast"> </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="#string">string</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>private <a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>[]</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#traits">traits</a></span></code></th> |
| <td class="colLast"> </td> |
| </tr> |
| </table> |
| <ul class="blockList"> |
| <li class="blockList"><a id="fields.inherited.from.class.java.util.AbstractList"> |
| <!-- --> |
| </a> |
| <h3>Fields inherited from class java.util.AbstractList</h3> |
| <code>modCount</code></li> |
| </ul> |
| </li> |
| </ul> |
| </section> |
| <!-- ======== CONSTRUCTOR SUMMARY ======== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="constructor.summary"> |
| <!-- --> |
| </a> |
| <h3>Constructor Summary</h3> |
| <table class="memberSummary"> |
| <caption><span>Constructors</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier</th> |
| <th class="colSecond" scope="col">Constructor</th> |
| <th class="colLast" scope="col">Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>private </code></td> |
| <th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.apache.calcite.plan.RelTraitSet.Cache,org.apache.calcite.plan.RelTrait%5B%5D)">RelTraitSet</a></span>​(<a href="RelTraitSet.Cache.html" title="class in org.apache.calcite.plan">RelTraitSet.Cache</a> cache, |
| <a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>[] traits)</code></th> |
| <td class="colLast"> |
| <div class="block">Constructs a RelTraitSet with the given set of RelTraits.</div> |
| </td> |
| </tr> |
| </table> |
| </li> |
| </ul> |
| </section> |
| <!-- ========== METHOD SUMMARY =========== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="method.summary"> |
| <!-- --> |
| </a> |
| <h3>Method Summary</h3> |
| <table class="memberSummary"> |
| <caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </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>boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#allSimple()">allSimple</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Returns whether there are any composite traits in this set.</div> |
| </td> |
| </tr> |
| <tr id="i1" class="rowColor"> |
| <td class="colFirst"><code><T extends <a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>><br>T</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#canonize(T)">canonize</a></span>​(T trait)</code></th> |
| <td class="colLast"> |
| <div class="block">Converts a trait to canonical form.</div> |
| </td> |
| </tr> |
| <tr id="i2" class="altColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#comprises(org.apache.calcite.plan.RelTrait...)">comprises</a></span>​(<a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>... relTraits)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns whether this trait set comprises precisely the list of given |
| traits.</div> |
| </td> |
| </tr> |
| <tr id="i3" class="rowColor"> |
| <td class="colFirst"><code>protected java.lang.String</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#computeString()">computeString</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Outputs the traits of this set as a String.</div> |
| </td> |
| </tr> |
| <tr id="i4" class="altColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#contains(org.apache.calcite.plan.RelTrait)">contains</a></span>​(<a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a> trait)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns whether this trait set contains a given trait.</div> |
| </td> |
| </tr> |
| <tr id="i5" class="rowColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#containsIfApplicable(org.apache.calcite.plan.RelTrait)">containsIfApplicable</a></span>​(<a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a> trait)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns whether this trait set contains the given trait, or whether the |
| trait is not present because its <a href="RelTraitDef.html" title="class in org.apache.calcite.plan"><code>RelTraitDef</code></a> is not enabled.</div> |
| </td> |
| </tr> |
| <tr id="i6" class="altColor"> |
| <td class="colFirst"><code>private static <T> boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#containsShallow(T%5B%5D,org.apache.calcite.plan.RelTrait)">containsShallow</a></span>​(T[] ts, |
| <a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a> seek)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns whether an element occurs within an array.</div> |
| </td> |
| </tr> |
| <tr id="i7" class="rowColor"> |
| <td class="colFirst"><code>static <a href="RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createEmpty()">createEmpty</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Creates an empty trait set.</div> |
| </td> |
| </tr> |
| <tr id="i8" class="altColor"> |
| <td class="colFirst"><code>com.google.common.collect.ImmutableList<<a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#difference(org.apache.calcite.plan.RelTraitSet)">difference</a></span>​(<a href="RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a> traitSet)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns a list of traits that are in <code>traitSet</code> but not in this |
| RelTraitSet.</div> |
| </td> |
| </tr> |
| <tr id="i9" class="rowColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#equals(java.lang.Object)">equals</a></span>​(java.lang.Object obj)</code></th> |
| <td class="colLast"> |
| <div class="block">Compares two RelTraitSet objects for equality.</div> |
| </td> |
| </tr> |
| <tr id="i10" class="altColor"> |
| <td class="colFirst"><code>private int</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#findIndex(org.apache.calcite.plan.RelTraitDef)">findIndex</a></span>​(<a href="RelTraitDef.html" title="class in org.apache.calcite.plan">RelTraitDef</a> traitDef)</code></th> |
| <td class="colLast"> |
| <div class="block">Finds the index of a trait of a given type in this set.</div> |
| </td> |
| </tr> |
| <tr id="i11" class="rowColor"> |
| <td class="colFirst"><code><a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#get(int)">get</a></span>​(int index)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i12" class="altColor"> |
| <td class="colFirst"><code><a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTrait(int)">getTrait</a></span>​(int index)</code></th> |
| <td class="colLast"> |
| <div class="block">Retrieves a RelTrait from the set.</div> |
| </td> |
| </tr> |
| <tr id="i13" class="rowColor"> |
| <td class="colFirst"><code><T extends <a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>><br>T</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTrait(org.apache.calcite.plan.RelTraitDef)">getTrait</a></span>​(<a href="RelTraitDef.html" title="class in org.apache.calcite.plan">RelTraitDef</a><T> traitDef)</code></th> |
| <td class="colLast"> |
| <div class="block">Retrieves a RelTrait of the given type from the set.</div> |
| </td> |
| </tr> |
| <tr id="i14" class="altColor"> |
| <td class="colFirst"><code><E extends <a href="RelMultipleTrait.html" title="interface in org.apache.calcite.plan">RelMultipleTrait</a>><br>java.util.List<E></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTraits(int)">getTraits</a></span>​(int index)</code></th> |
| <td class="colLast"> |
| <div class="block">Retrieves a list of traits from the set.</div> |
| </td> |
| </tr> |
| <tr id="i15" class="rowColor"> |
| <td class="colFirst"><code><T extends <a href="RelMultipleTrait.html" title="interface in org.apache.calcite.plan">RelMultipleTrait</a>><br>java.util.List<T></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTraits(org.apache.calcite.plan.RelTraitDef)">getTraits</a></span>​(<a href="RelTraitDef.html" title="class in org.apache.calcite.plan">RelTraitDef</a><T> traitDef)</code></th> |
| <td class="colLast"> |
| <div class="block">Retrieves a list of traits of the given type from the set.</div> |
| </td> |
| </tr> |
| <tr id="i16" class="altColor"> |
| <td class="colFirst"><code>int</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hashCode()">hashCode</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i17" class="rowColor"> |
| <td class="colFirst"><code><T extends <a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>><br>boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isEnabled(org.apache.calcite.plan.RelTraitDef)">isEnabled</a></span>​(<a href="RelTraitDef.html" title="class in org.apache.calcite.plan">RelTraitDef</a><T> traitDef)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns whether a given kind of trait is enabled.</div> |
| </td> |
| </tr> |
| <tr id="i18" class="altColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#matches(org.apache.calcite.plan.RelTraitSet)">matches</a></span>​(<a href="RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a> that)</code></th> |
| <td class="colLast"> |
| <div class="block">Compares two RelTraitSet objects to see if they match for the purposes of |
| firing a rule.</div> |
| </td> |
| </tr> |
| <tr id="i19" class="rowColor"> |
| <td class="colFirst"><code><a href="RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#merge(org.apache.calcite.plan.RelTraitSet)">merge</a></span>​(<a href="RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a> additionalTraits)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i20" class="altColor"> |
| <td class="colFirst"><code><a href="RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#plus(org.apache.calcite.plan.RelTrait)">plus</a></span>​(<a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a> trait)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns this trait set with a given trait added or overridden.</div> |
| </td> |
| </tr> |
| <tr id="i21" class="rowColor"> |
| <td class="colFirst"><code><a href="RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#plusAll(org.apache.calcite.plan.RelTrait%5B%5D)">plusAll</a></span>​(<a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>[] traits)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i22" class="altColor"> |
| <td class="colFirst"><code><a href="RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#replace(int,org.apache.calcite.plan.RelTrait)">replace</a></span>​(int index, |
| <a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a> trait)</code></th> |
| <td class="colLast"> |
| <div class="block">Replaces an existing RelTrait in the set.</div> |
| </td> |
| </tr> |
| <tr id="i23" class="rowColor"> |
| <td class="colFirst"><code><T extends <a href="RelMultipleTrait.html" title="interface in org.apache.calcite.plan">RelMultipleTrait</a>><br><a href="RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#replace(java.util.List)">replace</a></span>​(java.util.List<T> traits)</code></th> |
| <td class="colLast"> |
| <div class="block">Replaces the trait(s) of a given type with a list of traits of the same |
| type.</div> |
| </td> |
| </tr> |
| <tr id="i24" class="altColor"> |
| <td class="colFirst"><code><a href="RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#replace(org.apache.calcite.plan.RelTrait)">replace</a></span>​(<a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a> trait)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns a trait set consisting of the current set plus a new trait.</div> |
| </td> |
| </tr> |
| <tr id="i25" class="rowColor"> |
| <td class="colFirst"><code><T extends <a href="RelMultipleTrait.html" title="interface in org.apache.calcite.plan">RelMultipleTrait</a>><br><a href="RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#replace(org.apache.calcite.plan.RelTraitDef,java.util.List)">replace</a></span>​(<a href="RelTraitDef.html" title="class in org.apache.calcite.plan">RelTraitDef</a><T> def, |
| java.util.List<T> traits)</code></th> |
| <td class="colLast"> |
| <div class="block">Replaces the trait(s) of a given type with a list of traits of the same |
| type.</div> |
| </td> |
| </tr> |
| <tr id="i26" class="altColor"> |
| <td class="colFirst"><code><T extends <a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>><br><a href="RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#replaceIf(org.apache.calcite.plan.RelTraitDef,java.util.function.Supplier)">replaceIf</a></span>​(<a href="RelTraitDef.html" title="class in org.apache.calcite.plan">RelTraitDef</a><T> def, |
| java.util.function.Supplier<T> traitSupplier)</code></th> |
| <td class="colLast"> |
| <div class="block">If a given trait is enabled, replaces it by calling the given function.</div> |
| </td> |
| </tr> |
| <tr id="i27" class="rowColor"> |
| <td class="colFirst"><code><T extends <a href="RelMultipleTrait.html" title="interface in org.apache.calcite.plan">RelMultipleTrait</a>><br><a href="RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#replaceIfs(org.apache.calcite.plan.RelTraitDef,java.util.function.Supplier)">replaceIfs</a></span>​(<a href="RelTraitDef.html" title="class in org.apache.calcite.plan">RelTraitDef</a><T> def, |
| java.util.function.Supplier<java.util.List<T>> traitSupplier)</code></th> |
| <td class="colLast"> |
| <div class="block">If a given multiple trait is enabled, replaces it by calling the given |
| function.</div> |
| </td> |
| </tr> |
| <tr id="i28" class="altColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#satisfies(org.apache.calcite.plan.RelTraitSet)">satisfies</a></span>​(<a href="RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a> that)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns whether this trait set satisfies another trait set.</div> |
| </td> |
| </tr> |
| <tr id="i29" class="rowColor"> |
| <td class="colFirst"><code><a href="RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#simplify()">simplify</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Returns a trait set similar to this one but with all composite traits |
| flattened.</div> |
| </td> |
| </tr> |
| <tr id="i30" class="altColor"> |
| <td class="colFirst"><code>int</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#size()">size</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the size of the RelTraitSet.</div> |
| </td> |
| </tr> |
| <tr id="i31" class="rowColor"> |
| <td class="colFirst"><code>java.lang.String</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toString()">toString</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| </table> |
| <ul class="blockList"> |
| <li class="blockList"><a id="methods.inherited.from.class.java.util.AbstractList"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from class java.util.AbstractList</h3> |
| <code>add, add, addAll, clear, indexOf, iterator, lastIndexOf, listIterator, listIterator, remove, removeRange, set, subList</code></li> |
| </ul> |
| <ul class="blockList"> |
| <li class="blockList"><a id="methods.inherited.from.class.java.util.AbstractCollection"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from class java.util.AbstractCollection</h3> |
| <code>addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray</code></li> |
| </ul> |
| <ul class="blockList"> |
| <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from class java.lang.Object</h3> |
| <code>clone, finalize, getClass, notify, notifyAll, wait, wait, wait</code></li> |
| </ul> |
| <ul class="blockList"> |
| <li class="blockList"><a id="methods.inherited.from.class.java.util.Collection"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from interface java.util.Collection</h3> |
| <code>parallelStream, removeIf, stream, toArray</code></li> |
| </ul> |
| <ul class="blockList"> |
| <li class="blockList"><a id="methods.inherited.from.class.java.lang.Iterable"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from interface java.lang.Iterable</h3> |
| <code>forEach</code></li> |
| </ul> |
| <ul class="blockList"> |
| <li class="blockList"><a id="methods.inherited.from.class.java.util.List"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from interface java.util.List</h3> |
| <code>addAll, contains, containsAll, isEmpty, remove, removeAll, replaceAll, retainAll, sort, spliterator, toArray, toArray</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="EMPTY_TRAITS"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>EMPTY_TRAITS</h4> |
| <pre>private static final <a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>[] EMPTY_TRAITS</pre> |
| </li> |
| </ul> |
| <a id="cache"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>cache</h4> |
| <pre>private final <a href="RelTraitSet.Cache.html" title="class in org.apache.calcite.plan">RelTraitSet.Cache</a> cache</pre> |
| </li> |
| </ul> |
| <a id="traits"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>traits</h4> |
| <pre>private final <a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>[] traits</pre> |
| </li> |
| </ul> |
| <a id="string"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>string</h4> |
| <pre>private final java.lang.String string</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="<init>(org.apache.calcite.plan.RelTraitSet.Cache,org.apache.calcite.plan.RelTrait[])"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>RelTraitSet</h4> |
| <pre>private RelTraitSet​(<a href="RelTraitSet.Cache.html" title="class in org.apache.calcite.plan">RelTraitSet.Cache</a> cache, |
| <a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>[] traits)</pre> |
| <div class="block">Constructs a RelTraitSet with the given set of RelTraits.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>cache</code> - Trait set cache (and indirectly cluster) that this set |
| belongs to</dd> |
| <dd><code>traits</code> - Traits</dd> |
| </dl> |
| </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="createEmpty()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createEmpty</h4> |
| <pre class="methodSignature">public static <a href="RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a> createEmpty()</pre> |
| <div class="block">Creates an empty trait set. |
| |
| <p>It has a new cache, which will be shared by any trait set created from |
| it. Thus each empty trait set is the start of a new ancestral line.</div> |
| </li> |
| </ul> |
| <a id="getTrait(int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getTrait</h4> |
| <pre class="methodSignature">public <a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a> getTrait​(int index)</pre> |
| <div class="block">Retrieves a RelTrait from the set.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>index</code> - 0-based index into ordered RelTraitSet</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the RelTrait</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.ArrayIndexOutOfBoundsException</code> - if index greater than or equal to |
| <a href="#size()"><code>size()</code></a> or less than 0.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getTraits(int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getTraits</h4> |
| <pre class="methodSignature">public <E extends <a href="RelMultipleTrait.html" title="interface in org.apache.calcite.plan">RelMultipleTrait</a>> java.util.List<E> getTraits​(int index)</pre> |
| <div class="block">Retrieves a list of traits from the set.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>index</code> - 0-based index into ordered RelTraitSet</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the RelTrait</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.ArrayIndexOutOfBoundsException</code> - if index greater than or equal to |
| <a href="#size()"><code>size()</code></a> or less than 0.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="get(int)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>get</h4> |
| <pre class="methodSignature">public <a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a> get​(int index)</pre> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code>get</code> in interface <code>java.util.List<<a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>></code></dd> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code>get</code> in class <code>java.util.AbstractList<<a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>></code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="isEnabled(org.apache.calcite.plan.RelTraitDef)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isEnabled</h4> |
| <pre class="methodSignature">public <T extends <a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>> boolean isEnabled​(<a href="RelTraitDef.html" title="class in org.apache.calcite.plan">RelTraitDef</a><T> traitDef)</pre> |
| <div class="block">Returns whether a given kind of trait is enabled.</div> |
| </li> |
| </ul> |
| <a id="getTrait(org.apache.calcite.plan.RelTraitDef)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getTrait</h4> |
| <pre class="methodSignature">public <T extends <a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>> T getTrait​(<a href="RelTraitDef.html" title="class in org.apache.calcite.plan">RelTraitDef</a><T> traitDef)</pre> |
| <div class="block">Retrieves a RelTrait of the given type from the set.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>traitDef</code> - the type of RelTrait to retrieve</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the RelTrait, or null if not found</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getTraits(org.apache.calcite.plan.RelTraitDef)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getTraits</h4> |
| <pre class="methodSignature">public <T extends <a href="RelMultipleTrait.html" title="interface in org.apache.calcite.plan">RelMultipleTrait</a>> java.util.List<T> getTraits​(<a href="RelTraitDef.html" title="class in org.apache.calcite.plan">RelTraitDef</a><T> traitDef)</pre> |
| <div class="block">Retrieves a list of traits of the given type from the set. |
| |
| <p>Only valid for traits that support multiple entries. (E.g. collation.)</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>traitDef</code> - the type of RelTrait to retrieve</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the RelTrait, or null if not found</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="replace(int,org.apache.calcite.plan.RelTrait)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>replace</h4> |
| <pre class="methodSignature">public <a href="RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a> replace​(int index, |
| <a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a> trait)</pre> |
| <div class="block">Replaces an existing RelTrait in the set. |
| Returns a different trait set; does not modify this trait set.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>index</code> - 0-based index into ordered RelTraitSet</dd> |
| <dd><code>trait</code> - the new RelTrait</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the old RelTrait at the index</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="replace(org.apache.calcite.plan.RelTrait)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>replace</h4> |
| <pre class="methodSignature">public <a href="RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a> replace​(<a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a> trait)</pre> |
| <div class="block">Returns a trait set consisting of the current set plus a new trait. |
| |
| <p>If the set does not contain a trait of the same <a href="RelTraitDef.html" title="class in org.apache.calcite.plan"><code>RelTraitDef</code></a>, |
| the trait is ignored, and this trait set is returned.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>trait</code> - the new trait</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>New set</dd> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="#plus(org.apache.calcite.plan.RelTrait)"><code>plus(RelTrait)</code></a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="containsShallow(java.lang.Object[],org.apache.calcite.plan.RelTrait)"> |
| <!-- --> |
| </a><a id="containsShallow(T[],org.apache.calcite.plan.RelTrait)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>containsShallow</h4> |
| <pre class="methodSignature">private static <T> boolean containsShallow​(T[] ts, |
| <a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a> seek)</pre> |
| <div class="block">Returns whether an element occurs within an array. |
| |
| <p>Uses <code>==</code>, not <a href="#equals(java.lang.Object)"><code>equals(java.lang.Object)</code></a>. Nulls are allowed.</div> |
| </li> |
| </ul> |
| <a id="replace(java.util.List)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>replace</h4> |
| <pre class="methodSignature">public <T extends <a href="RelMultipleTrait.html" title="interface in org.apache.calcite.plan">RelMultipleTrait</a>> <a href="RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a> replace​(java.util.List<T> traits)</pre> |
| <div class="block">Replaces the trait(s) of a given type with a list of traits of the same |
| type. |
| |
| <p>The list must not be empty, and all traits must be of the same type.</div> |
| </li> |
| </ul> |
| <a id="replace(org.apache.calcite.plan.RelTraitDef,java.util.List)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>replace</h4> |
| <pre class="methodSignature">public <T extends <a href="RelMultipleTrait.html" title="interface in org.apache.calcite.plan">RelMultipleTrait</a>> <a href="RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a> replace​(<a href="RelTraitDef.html" title="class in org.apache.calcite.plan">RelTraitDef</a><T> def, |
| java.util.List<T> traits)</pre> |
| <div class="block">Replaces the trait(s) of a given type with a list of traits of the same |
| type. |
| |
| <p>The list must not be empty, and all traits must be of the same type.</div> |
| </li> |
| </ul> |
| <a id="replaceIfs(org.apache.calcite.plan.RelTraitDef,java.util.function.Supplier)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>replaceIfs</h4> |
| <pre class="methodSignature">public <T extends <a href="RelMultipleTrait.html" title="interface in org.apache.calcite.plan">RelMultipleTrait</a>> <a href="RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a> replaceIfs​(<a href="RelTraitDef.html" title="class in org.apache.calcite.plan">RelTraitDef</a><T> def, |
| java.util.function.Supplier<java.util.List<T>> traitSupplier)</pre> |
| <div class="block">If a given multiple trait is enabled, replaces it by calling the given |
| function.</div> |
| </li> |
| </ul> |
| <a id="replaceIf(org.apache.calcite.plan.RelTraitDef,java.util.function.Supplier)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>replaceIf</h4> |
| <pre class="methodSignature">public <T extends <a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>> <a href="RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a> replaceIf​(<a href="RelTraitDef.html" title="class in org.apache.calcite.plan">RelTraitDef</a><T> def, |
| java.util.function.Supplier<T> traitSupplier)</pre> |
| <div class="block">If a given trait is enabled, replaces it by calling the given function.</div> |
| </li> |
| </ul> |
| <a id="size()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>size</h4> |
| <pre class="methodSignature">public int size()</pre> |
| <div class="block">Returns the size of the RelTraitSet.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code>size</code> in interface <code>java.util.Collection<<a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>></code></dd> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code>size</code> in interface <code>java.util.List<<a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>></code></dd> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code>size</code> in class <code>java.util.AbstractCollection<<a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>></code></dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the size of the RelTraitSet.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="canonize(org.apache.calcite.plan.RelTrait)"> |
| <!-- --> |
| </a><a id="canonize(T)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>canonize</h4> |
| <pre class="methodSignature">public <T extends <a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>> T canonize​(T trait)</pre> |
| <div class="block">Converts a trait to canonical form. |
| |
| <p>After canonization, t1.equals(t2) if and only if t1 == t2.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>trait</code> - Trait</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Trait in canonical form</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="equals(java.lang.Object)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>equals</h4> |
| <pre class="methodSignature">public boolean equals​(java.lang.Object obj)</pre> |
| <div class="block">Compares two RelTraitSet objects for equality.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code>equals</code> in interface <code>java.util.Collection<<a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>></code></dd> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code>equals</code> in interface <code>java.util.List<<a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>></code></dd> |
| <dt><span class="overrideSpecifyLabel">Overrides:</span></dt> |
| <dd><code>equals</code> in class <code>java.util.AbstractList<<a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>></code></dd> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>obj</code> - another RelTraitSet</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>true if traits are equal and in the same order, false otherwise</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="hashCode()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>hashCode</h4> |
| <pre class="methodSignature">public int hashCode()</pre> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code>hashCode</code> in interface <code>java.util.Collection<<a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>></code></dd> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code>hashCode</code> in interface <code>java.util.List<<a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>></code></dd> |
| <dt><span class="overrideSpecifyLabel">Overrides:</span></dt> |
| <dd><code>hashCode</code> in class <code>java.util.AbstractList<<a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>></code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="satisfies(org.apache.calcite.plan.RelTraitSet)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>satisfies</h4> |
| <pre class="methodSignature">public boolean satisfies​(<a href="RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a> that)</pre> |
| <div class="block">Returns whether this trait set satisfies another trait set. |
| |
| <p>For that to happen, each trait satisfies the corresponding trait in the |
| other set. In particular, each trait set satisfies itself, because each |
| trait subsumes itself. |
| |
| <p>Intuitively, if a relational expression is needed that has trait set |
| S (A, B), and trait set S1 (A1, B1) subsumes S, then any relational |
| expression R in S1 meets that need. |
| |
| <p>For example, if we need a relational expression that has |
| trait set S = {enumerable convention, sorted on [C1 asc]}, and R |
| has {enumerable convention, sorted on [C3], [C1, C2]}. R has two |
| sort keys, but one them [C1, C2] satisfies S [C1], and that is enough.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>that</code> - another RelTraitSet</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>whether this trait set satisfies other trait set</dd> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="RelTrait.html#satisfies(org.apache.calcite.plan.RelTrait)"><code>RelTrait.satisfies(RelTrait)</code></a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="matches(org.apache.calcite.plan.RelTraitSet)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>matches</h4> |
| <pre class="methodSignature">public boolean matches​(<a href="RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a> that)</pre> |
| <div class="block">Compares two RelTraitSet objects to see if they match for the purposes of |
| firing a rule. A null RelTrait within a RelTraitSet indicates a wildcard: |
| any RelTrait in the other RelTraitSet will match. If one RelTraitSet is |
| smaller than the other, comparison stops when the last RelTrait from the |
| smaller set has been examined and the remaining RelTraits in the larger |
| set are assumed to match.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>that</code> - another RelTraitSet</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>true if the RelTraitSets match, false otherwise</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="contains(org.apache.calcite.plan.RelTrait)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>contains</h4> |
| <pre class="methodSignature">public boolean contains​(<a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a> trait)</pre> |
| <div class="block">Returns whether this trait set contains a given trait.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>trait</code> - Sought trait</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Whether set contains given trait</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="containsIfApplicable(org.apache.calcite.plan.RelTrait)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>containsIfApplicable</h4> |
| <pre class="methodSignature">public boolean containsIfApplicable​(<a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a> trait)</pre> |
| <div class="block">Returns whether this trait set contains the given trait, or whether the |
| trait is not present because its <a href="RelTraitDef.html" title="class in org.apache.calcite.plan"><code>RelTraitDef</code></a> is not enabled. |
| Returns false if another trait of the same <code>RelTraitDef</code> is |
| present.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>trait</code> - Trait</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Whether trait is present, or is absent because disabled</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="comprises(org.apache.calcite.plan.RelTrait...)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>comprises</h4> |
| <pre class="methodSignature">public boolean comprises​(<a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>... relTraits)</pre> |
| <div class="block">Returns whether this trait set comprises precisely the list of given |
| traits.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>relTraits</code> - Traits</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Whether this trait set's traits are the same as the argument</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="toString()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>toString</h4> |
| <pre class="methodSignature">public java.lang.String toString()</pre> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Overrides:</span></dt> |
| <dd><code>toString</code> in class <code>java.util.AbstractCollection<<a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>></code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="computeString()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>computeString</h4> |
| <pre class="methodSignature">protected java.lang.String computeString()</pre> |
| <div class="block">Outputs the traits of this set as a String. Traits are output in order, |
| separated by periods.</div> |
| </li> |
| </ul> |
| <a id="findIndex(org.apache.calcite.plan.RelTraitDef)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>findIndex</h4> |
| <pre class="methodSignature">private int findIndex​(<a href="RelTraitDef.html" title="class in org.apache.calcite.plan">RelTraitDef</a> traitDef)</pre> |
| <div class="block">Finds the index of a trait of a given type in this set.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>traitDef</code> - Sought trait definition</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>index of trait, or -1 if not found</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="plus(org.apache.calcite.plan.RelTrait)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>plus</h4> |
| <pre class="methodSignature">public <a href="RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a> plus​(<a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a> trait)</pre> |
| <div class="block">Returns this trait set with a given trait added or overridden. Does not |
| modify this trait set.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>trait</code> - Trait</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>Trait set with given trait</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="plusAll(org.apache.calcite.plan.RelTrait[])"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>plusAll</h4> |
| <pre class="methodSignature">public <a href="RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a> plusAll​(<a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>[] traits)</pre> |
| </li> |
| </ul> |
| <a id="merge(org.apache.calcite.plan.RelTraitSet)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>merge</h4> |
| <pre class="methodSignature">public <a href="RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a> merge​(<a href="RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a> additionalTraits)</pre> |
| </li> |
| </ul> |
| <a id="difference(org.apache.calcite.plan.RelTraitSet)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>difference</h4> |
| <pre class="methodSignature">public com.google.common.collect.ImmutableList<<a href="RelTrait.html" title="interface in org.apache.calcite.plan">RelTrait</a>> difference​(<a href="RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a> traitSet)</pre> |
| <div class="block">Returns a list of traits that are in <code>traitSet</code> but not in this |
| RelTraitSet.</div> |
| </li> |
| </ul> |
| <a id="allSimple()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>allSimple</h4> |
| <pre class="methodSignature">public boolean allSimple()</pre> |
| <div class="block">Returns whether there are any composite traits in this set.</div> |
| </li> |
| </ul> |
| <a id="simplify()"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>simplify</h4> |
| <pre class="methodSignature">public <a href="RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a> simplify()</pre> |
| <div class="block">Returns a trait set similar to this one but with all composite traits |
| flattened.</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/RelTraitSet.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 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: </li> |
| <li><a href="#nested.class.summary">Nested</a> | </li> |
| <li><a href="#field.summary">Field</a> | </li> |
| <li><a href="#constructor.summary">Constr</a> | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li><a href="#field.detail">Field</a> | </li> |
| <li><a href="#constructor.detail">Constr</a> | </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 © 2012–2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p> |
| </footer> |
| </body> |
| </html> |