| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
| <!-- NewPage --> |
| <html lang="en"> |
| <head> |
| <!-- Generated by javadoc --> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <title>Glossary (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="Glossary (Apache Calcite calcite API)"; |
| } |
| } |
| catch(err) { |
| } |
| //--> |
| </script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| <!-- ========= START OF TOP NAVBAR ======= --> |
| <div class="topNav"><a name="navbar.top"> |
| <!-- --> |
| </a> |
| <div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div> |
| <a name="navbar.top.firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../../overview-summary.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="navBarCell1Rev">Class</li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../../index-all.html">Index</a></li> |
| <li><a href="../../../../help-doc.html">Help</a></li> |
| </ul> |
| <div class="aboutLanguage"><b>Apache Calcite</b></div> |
| </div> |
| <div class="subNav"> |
| <ul class="navList"> |
| <li><a href="../../../../org/apache/calcite/util/Filterator.html" title="class in org.apache.calcite.util"><span class="typeNameLink">Prev Class</span></a></li> |
| <li><a href="../../../../org/apache/calcite/util/Holder.html" title="class in org.apache.calcite.util"><span class="typeNameLink">Next Class</span></a></li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../../index.html?org/apache/calcite/util/Glossary.html" target="_top">Frames</a></li> |
| <li><a href="Glossary.html" target="_top">No Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_top"> |
| <li><a href="../../../../allclasses-noframe.html">All Classes</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> |
| <div> |
| <ul class="subNavList"> |
| <li>Summary: </li> |
| <li>Nested | </li> |
| <li><a href="#field.summary">Field</a> | </li> |
| <li>Constr | </li> |
| <li>Method</li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li><a href="#field.detail">Field</a> | </li> |
| <li>Constr | </li> |
| <li>Method</li> |
| </ul> |
| </div> |
| <a name="skip.navbar.top"> |
| <!-- --> |
| </a></div> |
| <!-- ========= END OF TOP NAVBAR ========= --> |
| <!-- ======== START OF CLASS DATA ======== --> |
| <div class="header"> |
| <div class="subTitle">org.apache.calcite.util</div> |
| <h2 title="Interface Glossary" class="title">Interface Glossary</h2> |
| </div> |
| <div class="contentContainer"> |
| <div class="description"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <hr> |
| <br> |
| <pre>public interface <span class="typeNameLabel">Glossary</span></pre> |
| <div class="block">A collection of terms. |
| |
| <p>(This is not a real class. It is here so that terms which do not map to |
| classes can be referenced in Javadoc.)</p></div> |
| </li> |
| </ul> |
| </div> |
| <div class="summary"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- =========== FIELD SUMMARY =========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="field.summary"> |
| <!-- --> |
| </a> |
| <h3>Field Summary</h3> |
| <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation"> |
| <caption><span>Fields</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier and Type</th> |
| <th class="colLast" scope="col">Field and Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/Glossary.html#ABSTRACT_FACTORY_PATTERN">ABSTRACT_FACTORY_PATTERN</a></span></code> |
| <div class="block">Provide an interface for creating families of related or dependent |
| objects without specifying their concrete classes.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/Glossary.html#ADAPTER_PATTERN">ADAPTER_PATTERN</a></span></code> |
| <div class="block">Convert the interface of a class into another interface clients expect.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/Glossary.html#BRIDGE_PATTERN">BRIDGE_PATTERN</a></span></code> |
| <div class="block">Decouple an abstraction from its implementation so that the two can very |
| independently.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/Glossary.html#BUILDER_PATTERN">BUILDER_PATTERN</a></span></code> |
| <div class="block">Separate the construction of a complex object from its representation so |
| that the same construction process can create different representations.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/Glossary.html#CHAIN_OF_RESPONSIBILITY_PATTERN">CHAIN_OF_RESPONSIBILITY_PATTERN</a></span></code> |
| <div class="block">Avoid coupling the sender of a request to its receiver by giving more |
| than one object a chance to handle the request.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/Glossary.html#COMMAND_PATTERN">COMMAND_PATTERN</a></span></code> |
| <div class="block">Encapsulate a request as an object, thereby letting you parameterize |
| clients with different requests, queue or log requests, and support |
| undoable operations.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/Glossary.html#COMPOSITE_PATTERN">COMPOSITE_PATTERN</a></span></code> |
| <div class="block">Compose objects into tree structures to represent part-whole hierarchies.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/Glossary.html#DECORATOR_PATTERN">DECORATOR_PATTERN</a></span></code> |
| <div class="block">Attach additional responsibilities to an object dynamically.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/Glossary.html#FACADE_PATTERN">FACADE_PATTERN</a></span></code> |
| <div class="block">Provide a unified interface to a set of interfaces in a subsystem.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/Glossary.html#FACTORY_METHOD_PATTERN">FACTORY_METHOD_PATTERN</a></span></code> |
| <div class="block">Define an interface for creating an object, but let subclasses decide |
| which class to instantiate.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/Glossary.html#FLYWEIGHT_PATTERN">FLYWEIGHT_PATTERN</a></span></code> |
| <div class="block">Use sharing to support large numbers of fine-grained objects efficiently.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/Glossary.html#INTERPRETER_PATTERN">INTERPRETER_PATTERN</a></span></code> |
| <div class="block">Given a language, define a representation for its grammar along with an |
| interpreter that uses the representation to interpret sentences in the |
| language.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/Glossary.html#ITERATOR_PATTERN">ITERATOR_PATTERN</a></span></code> |
| <div class="block">Provide a way to access the elements of an aggregate object sequentially |
| without exposing its underlying representation.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/Glossary.html#MEDIATOR_PATTERN">MEDIATOR_PATTERN</a></span></code> |
| <div class="block">Define an object that encapsulates how a set of objects interact.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/Glossary.html#MEMENTO_PATTERN">MEMENTO_PATTERN</a></span></code> |
| <div class="block">Without violating encapsulation, capture and externalize an objects's |
| internal state so that the object can be restored to this state later.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/Glossary.html#OBSERVER_PATTERN">OBSERVER_PATTERN</a></span></code> |
| <div class="block">Define a one-to-many dependency between objects so that when one object |
| changes state, all its dependents are notified and updated automatically.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/Glossary.html#PATTERN">PATTERN</a></span></code> |
| <div class="block">This table shows how and where the Gang of Four patterns are applied.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/Glossary.html#PROTOTYPE_PATTERN">PROTOTYPE_PATTERN</a></span></code> |
| <div class="block">Specify the kinds of objects to create using a prototypical instance, and |
| create new objects by copying this prototype.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/Glossary.html#PROXY_PATTERN">PROXY_PATTERN</a></span></code> |
| <div class="block">Provide a surrogate or placeholder for another object to control access |
| to it.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/Glossary.html#SINGLETON_PATTERN">SINGLETON_PATTERN</a></span></code> |
| <div class="block">Ensure a class only has one instance, and provide a global point of |
| access to it.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/Glossary.html#SQL2003">SQL2003</a></span></code> |
| <div class="block">The official SQL:2003 standard (ISO/IEC 9075:2003), which is broken up |
| into numerous parts.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/Glossary.html#SQL92">SQL92</a></span></code> |
| <div class="block">The official SQL-92 standard (ISO/IEC 9075:1992).</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/Glossary.html#SQL99">SQL99</a></span></code> |
| <div class="block">The official SQL:1999 standard (ISO/IEC 9075:1999), which is broken up |
| into five parts.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/Glossary.html#STATE_PATTERN">STATE_PATTERN</a></span></code> |
| <div class="block">Allow an object to alter its behavior when its internal state changes.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/Glossary.html#STRATEGY_PATTERN">STRATEGY_PATTERN</a></span></code> |
| <div class="block">Define a family of algorithms, encapsulate each one, and make them |
| interchangeable.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/Glossary.html#TEMPLATE_METHOD_PATTERN">TEMPLATE_METHOD_PATTERN</a></span></code> |
| <div class="block">Define the skeleton of an algorithm in an operation, deferring some steps |
| to subclasses.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/calcite/util/Glossary.html#VISITOR_PATTERN">VISITOR_PATTERN</a></span></code> |
| <div class="block">Represent an operation to be performed on the elements of an object |
| structure.</div> |
| </td> |
| </tr> |
| </table> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </div> |
| <div class="details"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- ============ FIELD DETAIL =========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="field.detail"> |
| <!-- --> |
| </a> |
| <h3>Field Detail</h3> |
| <a name="PATTERN"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>PATTERN</h4> |
| <pre>static final <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a> PATTERN</pre> |
| <div class="block"><p>This table shows how and where the Gang of Four patterns are applied. |
| The table uses information from the GoF book and from a course on |
| advanced object design taught by Craig Larman.</p> |
| |
| <p>The patterns are in three groups depicting frequency of use. The |
| patterns in light green are used |
| <i>frequently</i>. Those in yellow have |
| <i>moderate</i> use. Patterns in red are |
| <i>infrequently</i> used. The GoF column gives the original Gang Of Four |
| category for the pattern. The Problem and Pattern columns are from |
| Craig's refinement of the type of problems they apply to and a refinement |
| of the original three pattern categories.</p> |
| |
| <table style="border-spacing:0px;padding:3px;border:1px"> |
| <caption> |
| <a href="http://www.onr.com/user/loeffler/java/references.html#gof"> |
| <b>Gang of Four Patterns</b></a> |
| </caption> |
| <tr> |
| <!-- Headers for each column --> |
| |
| <th>Pattern Name</th> |
| <th style="text-align:middle"><a href="#category">GOF Category</a></th> |
| <th style="text-align:middle">Problem</th> |
| <th style="text-align:middle">Pattern</th> |
| <th style="text-align:middle">Often Uses</th> |
| <th style="text-align:middle">Related To</th> |
| </tr> |
| |
| <!-- Frequently used patterns have a lime background --> |
| <tr> |
| <td style="background-color:lime"><a href="#AbstractFactoryPattern">Abstract Factory</a> |
| </td> |
| <td style="background-color:teal;color:white">Creational</td> |
| <td>Creating Instances</td> |
| <td>Class/Interface Definition plus Inheritance</td> |
| <td><a href="#FactoryMethodPattern">Factory Method</a><br> |
| <a href="#PrototypePattern">Prototype</a><br> |
| <a href="#SingletonPattern">Singleton</a> with <a href="#FacadePattern"> |
| Facade</a></td> |
| <td><a href="#FactoryMethodPattern">Factory Method</a><br> |
| <a href="#PrototypePattern">Prototype</a><br> |
| <a href="#SingletonPattern">Singleton</a></td> |
| </tr> |
| |
| <tr> |
| <td style="background-color:lime"><a href="#ObjectAdapterPattern">Object Adapter</a> |
| </td> |
| <td style="background-color:silver">Structural</td> |
| <td>Interface</td> |
| <td>Wrap One</td> |
| <td style="text-align:middle">-</td> |
| <td><a href="#BridgePattern">Bridge</a><br> |
| <a href="#DecoratorPattern">Decorator</a><br> |
| <a href="#ProxyPattern">Proxy</a></td> |
| </tr> |
| <tr> |
| <td style="background-color:lime"><a href="#CommandPattern">Command</a></td> |
| <td style="background-color:maroon;color:white">Behavioral</td> |
| <td>Organization or Communication of Work<br> |
| Action/Response</td> |
| <td>Behavior Objects</td> |
| <td><a href="#CompositePattern">Composite</a></td> |
| <td><a href="#CompositePattern">Composite</a><br> |
| <a href="#MementoPattern">Memento</a><br> |
| <a href="#PrototypePattern">Prototype</a></td> |
| </tr> |
| <tr> |
| <td style="background-color:lime"><a href="#CompositePattern">Composite</a></td> |
| <td style="background-color:silver">Structural</td> |
| <td>Structural Decomposition of Objects or Subsystems</td> |
| <td>Wrap Many</td> |
| <td style="text-align:middle">-</td> |
| <td><a href="#DecoratorPattern">Decorator</a><br> |
| <a href="#IteratorPattern">Iterator</a><br> |
| <a href="#VisitorPattern">Visitor</a></td> |
| </tr> |
| <tr> |
| <td style="background-color:lime"><a href="#DecoratorPattern">Decorator</a></td> |
| <td style="background-color:silver">Structural</td> |
| <td>Instance Behavior</td> |
| <td>Wrap One</td> |
| <td style="text-align:middle">-</td> |
| <td><a href="#ObjectAdapterPattern">Object Adapter</a><br> |
| <a href="#CompositePattern">Composite</a><br> |
| <a href="#StrategyPattern">Strategy</a></td> |
| </tr> |
| <tr> |
| <td style="background-color:lime"><a href="#FacadePattern">Facade</a></td> |
| <td style="background-color:silver">Structural</td> |
| <td>Access Control<br> |
| |
| <hr> |
| <p>Structural Decomposition of Objects or Subsystems</td> |
| <td>Wrap Many</td> |
| <td><a href="#SingletonPattern">Singleton</a> with <a |
| href="#AbstractFactoryPattern">Abstract Factory</a></td> |
| <td><a href="#AbstractFactoryPattern">Abstract Factory</a><br> |
| <a href="#MediatorPattern">Mediator</a></td> |
| </tr> |
| <tr> |
| <td style="background-color:lime"><a href="#FlyweightPattern">Flyweight</a></td> |
| <td style="background-color:silver">Structural</td> |
| <td>Shared Resource Handling</td> |
| <td>Object State or Values</td> |
| <td style="text-align:middle">-</td> |
| <td><a href="#SingletonPattern">Singleton</a><br> |
| <a href="#StatePattern">State</a><br> |
| <a href="#StrategyPattern">Strategy</a><br> |
| Shareable</td> |
| </tr> |
| <tr> |
| <td style="background-color:lime"><a href="#IteratorPattern">Iterator</a></td> |
| <td style="background-color:maroon;color:white">Behavioral</td> |
| <td>Traversal Algorithm<br> |
| |
| <hr> |
| <p>Access Control</td> |
| <td>Low Coupling</td> |
| <td style="text-align:middle">-</td> |
| <td><a href="#CompositePattern">Composite</a><br> |
| <a href="#FactoryMethodPattern">Factory Method</a><br> |
| <a href="#MementoPattern">Memento</a></td> |
| </tr> |
| <tr> |
| <td style="background-color:lime"><a href="#ObserverPattern">Observer</a></td> |
| <td style="background-color:maroon;color:white">Behavioral</td> |
| <td>Event Response<br> |
| |
| <hr> |
| <p>Organization or Communication of Work</td> |
| <td>Low Coupling</td> |
| <td style="text-align:middle">-</td> |
| <td><a href="#MediatorPattern">Mediator</a><br> |
| <a href="#SingletonPattern">Singleton</a></td> |
| </tr> |
| <tr> |
| <td style="background-color:lime"><a href="#ProxyPattern">Proxy</a></td> |
| <td style="background-color:silver">Structural</td> |
| <td>Access Control</td> |
| <td>Wrap One</td> |
| <td style="text-align:middle">-</td> |
| <td><a href="#ObjectAdapterPattern">Adapter</a><br> |
| <a href="#DecoratorPattern">Decorator</a></td> |
| </tr> |
| <tr> |
| <td style="background-color:lime"><a href="#SingletonPattern">Singleton</a></td> |
| <td style="background-color:teal;color:white">Creational</td> |
| <td>Access Control</td> |
| <td>Other</td> |
| <td style="text-align:middle">-</td> |
| <td><a href="#AbstractFactoryPattern">Abstract Factory</a><br> |
| <a href="#BuilderPattern">Builder</a><br> |
| <a href="#PrototypePattern">Prototype</a></td> |
| </tr> |
| <tr> |
| <td style="background-color:lime"><a href="#StatePattern">State</a></td> |
| <td style="background-color:maroon;color:white">Behavioral</td> |
| <td>Instance Behavior</td> |
| <td>Object State or Values</td> |
| <td><a href="#FlyweightPattern">Flyweight</a></td> |
| <td><a href="#FlyweightPattern">Flyweight</a><br> |
| <a href="#SingletonPattern">Singleton</a></td> |
| </tr> |
| <tr> |
| <td style="background-color:lime"><a href="#StrategyPattern">Strategy</a></td> |
| <td style="background-color:maroon;color:white">Behavioral</td> |
| <td>Single Algorithm</td> |
| <td>Behavior Objects</td> |
| <td style="text-align:middle">-</td> |
| <td><a href="#FlyweightPattern">Flyweight</a><br> |
| <a href="#StatePattern">State</a><br> |
| <a href="#TemplateMethodPattern">Template Method</a></td> |
| </tr> |
| <tr> |
| <td style="background-color:lime"><a href="#TemplateMethodPattern">Template Method</a> |
| </td> |
| <td style="background-color:maroon;color:white">Behavioral</td> |
| <td>Single Algorithm</td> |
| <td>Class or Interface Definition plus Inheritance</td> |
| <td style="text-align:middle">-</td> |
| <td><a href="#StrategyPattern">Strategy</a></td> |
| </tr> |
| <!-- Moderately use patterns have a yellow background --> |
| <tr> |
| <td style="background-color:yellow"><a href="#ClassAdapterPattern">Class Adapter</a> |
| </td> |
| <td style="background-color:silver">Structural</td> |
| <td>Interface</td> |
| <td>Class or Interface Definition plus Inheritance</td> |
| <td style="text-align:middle">-</td> |
| <td><a href="#BridgePattern">Bridge</a><br> |
| <a href="#DecoratorPattern">Decorator</a><br> |
| <a href="#ProxyPattern">Proxy</a></td> |
| </tr> |
| <tr> |
| <td style="background-color:yellow"><a href="#BridgePattern">Bridge</a></td> |
| <td style="background-color:silver">Structural</td> |
| <td>Implementation</td> |
| <td>Wrap One</td> |
| <td style="text-align:middle">-</td> |
| <td><a href="#AbstractFactoryPattern">Abstract Factory</a><br> |
| <a href="#ClassAdapterPattern">Class Adaptor</a></td> |
| </tr> |
| <tr> |
| <td style="background-color:yellow"><a href="#BuilderPattern">Builder</a></td> |
| <td style="background-color:teal;color:white">Creational</td> |
| <td>Creating Structures</td> |
| <td>Class or Interface Definition plus Inheritance</td> |
| <td style="text-align:middle">-</td> |
| <td><a href="#AbstractFactoryPattern">Abstract Factory</a><br> |
| <a href="#CompositePattern">Composite</a></td> |
| </tr> |
| <tr> |
| <td style="background-color:yellow"><a href="#ChainOfResponsibilityPattern">Chain of |
| Responsibility</a></td> |
| <td style="background-color:maroon;color:white">Behavioral</td> |
| <td>Single Algorithm<br> |
| |
| <hr> |
| <p>Organization or Communication of Work</td> |
| <td>Low Coupling</td> |
| <td style="text-align:middle">-</td> |
| <td><a href="#CompositePattern">Composite</a></td> |
| </tr> |
| <tr> |
| <td style="background-color:yellow"><a href="#FactoryMethodPattern">Factory Method</a> |
| </td> |
| <td style="background-color:teal;color:white">Creational</td> |
| <td>Creating Instances</td> |
| <td>Class or Interface Definition plus Inheritance</td> |
| <td><a href="#TemplateMethodPattern">Template Method</a></td> |
| <td><a href="#AbstractFactoryPattern">Abstract Factory</a><br> |
| <a href="#TemplateMethodPattern">Template Method</a><br> |
| <a href="#PrototypePattern">Prototype</a></td> |
| </tr> |
| <tr> |
| <td style="background-color:yellow"><a href="#MediatorPattern">Mediator</a></td> |
| <td style="background-color:maroon;color:white">Behavioral</td> |
| <td>Interaction between Objects<br> |
| |
| <hr> |
| <p>Organization or Communication of Work</td> |
| <td>Low Coupling</td> |
| <td style="text-align:middle">-</td> |
| <td><a href="#FacadePattern">Facade</a><br> |
| <a href="#ObserverPattern">Observer</a></td> |
| </tr> |
| <tr> |
| <td style="background-color:yellow"><a href="#PrototypePattern">Prototype</a></td> |
| <td style="background-color:teal;color:white">Creational</td> |
| <td>Creating Instances</td> |
| <td>Other</td> |
| <td style="text-align:middle">-</td> |
| <td><a href="#PrototypePattern">Prototype</a><br> |
| <a href="#CompositePattern">Composite</a><br> |
| <a href="#DecoratorPattern">Decorator</a></td> |
| </tr> |
| <tr> |
| <td style="background-color:yellow"><a href="#VisitorPattern">Visitor</a></td> |
| <td style="background-color:maroon;color:white">Behavioral</td> |
| <td>Single Algorithm</td> |
| <td>Behavior Objects</td> |
| <td style="text-align:middle">-</td> |
| <td><a href="#CompositePattern">Composite</a><br> |
| <a href="#VisitorPattern">Visitor</a></td> |
| </tr> |
| <!-- Seldom used patterns have a red background --> |
| <tr> |
| <td style="background-color:red;color:white"><a href="#InterpreterPattern"> |
| Interpreter</a></td> |
| <td style="background-color:maroon;color:white">Behavioral</td> |
| <td>Organization or Communication of Work</td> |
| <td>Other</td> |
| <td style="text-align:middle">-</td> |
| <td><a href="#CompositePattern">Composite</a><br> |
| <a href="#FlyweightPattern">Flyweight</a><br> |
| <a href="#IteratorPattern">Iterator</a><br> |
| <a href="#VisitorPattern">Visitor</a></td> |
| </tr> |
| <tr> |
| <td style="background-color:red;color:white"><a href="#MementoPattern"> |
| Memento</a></td> |
| <td style="background-color:maroon;color:white">Behavioral</td> |
| <td>Instance Management</td> |
| <td>Object State or Values</td> |
| <td style="text-align:middle">-</td> |
| <td><a href="#CommandPattern">Command</a><br> |
| <a href="#IteratorPattern">Iterator</a></td> |
| </tr> |
| </table></div> |
| </li> |
| </ul> |
| <a name="ABSTRACT_FACTORY_PATTERN"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>ABSTRACT_FACTORY_PATTERN</h4> |
| <pre>static final <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a> ABSTRACT_FACTORY_PATTERN</pre> |
| <div class="block">Provide an interface for creating families of related or dependent |
| objects without specifying their concrete classes. (See <a |
| href="http://c2.com/cgi/wiki?AbstractFactoryPattern">GoF</a>.)</div> |
| </li> |
| </ul> |
| <a name="BUILDER_PATTERN"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>BUILDER_PATTERN</h4> |
| <pre>static final <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a> BUILDER_PATTERN</pre> |
| <div class="block">Separate the construction of a complex object from its representation so |
| that the same construction process can create different representations. |
| (See <a href="http://c2.com/cgi/wiki?BuilderPattern">GoF</a>.)</div> |
| </li> |
| </ul> |
| <a name="FACTORY_METHOD_PATTERN"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>FACTORY_METHOD_PATTERN</h4> |
| <pre>static final <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a> FACTORY_METHOD_PATTERN</pre> |
| <div class="block">Define an interface for creating an object, but let subclasses decide |
| which class to instantiate. Lets a class defer instantiation to |
| subclasses. (See <a href="http://c2.com/cgi/wiki?FactoryMethodPattern"> |
| GoF</a>.)</div> |
| </li> |
| </ul> |
| <a name="PROTOTYPE_PATTERN"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>PROTOTYPE_PATTERN</h4> |
| <pre>static final <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a> PROTOTYPE_PATTERN</pre> |
| <div class="block">Specify the kinds of objects to create using a prototypical instance, and |
| create new objects by copying this prototype. (See <a |
| href="http://c2.com/cgi/wiki?PrototypePattern">GoF</a>.)</div> |
| </li> |
| </ul> |
| <a name="SINGLETON_PATTERN"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>SINGLETON_PATTERN</h4> |
| <pre>static final <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a> SINGLETON_PATTERN</pre> |
| <div class="block">Ensure a class only has one instance, and provide a global point of |
| access to it. (See <a href="http://c2.com/cgi/wiki?SingletonPattern"> |
| GoF</a>.) |
| |
| <p>Note that a common way of implementing a singleton, the so-called <a |
| href="http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html"> |
| double-checked locking pattern</a>, is fatally flawed in Java. Don't use |
| it!</p></div> |
| </li> |
| </ul> |
| <a name="ADAPTER_PATTERN"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>ADAPTER_PATTERN</h4> |
| <pre>static final <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a> ADAPTER_PATTERN</pre> |
| <div class="block">Convert the interface of a class into another interface clients expect. |
| Lets classes work together that couldn't otherwise because of |
| incompatible interfaces. (See <a |
| href="http://c2.com/cgi/wiki?AdapterPattern">GoF</a>.)</div> |
| </li> |
| </ul> |
| <a name="BRIDGE_PATTERN"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>BRIDGE_PATTERN</h4> |
| <pre>static final <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a> BRIDGE_PATTERN</pre> |
| <div class="block">Decouple an abstraction from its implementation so that the two can very |
| independently. (See <a href="http://c2.com/cgi/wiki?BridgePattern"> |
| GoF</a>.)</div> |
| </li> |
| </ul> |
| <a name="COMPOSITE_PATTERN"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>COMPOSITE_PATTERN</h4> |
| <pre>static final <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a> COMPOSITE_PATTERN</pre> |
| <div class="block">Compose objects into tree structures to represent part-whole hierarchies. |
| Lets clients treat individual objects and compositions of objects |
| uniformly. (See <a href="http://c2.com/cgi/wiki?CompositePattern"> |
| GoF</a>.)</div> |
| </li> |
| </ul> |
| <a name="DECORATOR_PATTERN"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>DECORATOR_PATTERN</h4> |
| <pre>static final <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a> DECORATOR_PATTERN</pre> |
| <div class="block">Attach additional responsibilities to an object dynamically. Provides a |
| flexible alternative to subclassing for extending functionality. (See <a |
| href="http://c2.com/cgi/wiki?DecoratorPattern">GoF</a>.)</div> |
| </li> |
| </ul> |
| <a name="FACADE_PATTERN"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>FACADE_PATTERN</h4> |
| <pre>static final <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a> FACADE_PATTERN</pre> |
| <div class="block">Provide a unified interface to a set of interfaces in a subsystem. |
| Defines a higher-level interface that makes the subsystem easier to use. |
| (See <a href="http://c2.com/cgi/wiki?FacadePattern">GoF</a>.)</div> |
| </li> |
| </ul> |
| <a name="FLYWEIGHT_PATTERN"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>FLYWEIGHT_PATTERN</h4> |
| <pre>static final <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a> FLYWEIGHT_PATTERN</pre> |
| <div class="block">Use sharing to support large numbers of fine-grained objects efficiently. |
| (See <a href="http://c2.com/cgi/wiki?FlyweightPattern">GoF</a>.)</div> |
| </li> |
| </ul> |
| <a name="PROXY_PATTERN"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>PROXY_PATTERN</h4> |
| <pre>static final <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a> PROXY_PATTERN</pre> |
| <div class="block">Provide a surrogate or placeholder for another object to control access |
| to it. (See <a href="http://c2.com/cgi/wiki?ProxyPattern">GoF</a>.)</div> |
| </li> |
| </ul> |
| <a name="CHAIN_OF_RESPONSIBILITY_PATTERN"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>CHAIN_OF_RESPONSIBILITY_PATTERN</h4> |
| <pre>static final <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a> CHAIN_OF_RESPONSIBILITY_PATTERN</pre> |
| <div class="block">Avoid coupling the sender of a request to its receiver by giving more |
| than one object a chance to handle the request. Chain the receiving |
| objects and pass the request along the chain until an object handles it. |
| (See <a href="http://c2.com/cgi/wiki?ChainOfResponsibilityPattern"> |
| GoF</a>.)</div> |
| </li> |
| </ul> |
| <a name="COMMAND_PATTERN"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>COMMAND_PATTERN</h4> |
| <pre>static final <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a> COMMAND_PATTERN</pre> |
| <div class="block">Encapsulate a request as an object, thereby letting you parameterize |
| clients with different requests, queue or log requests, and support |
| undoable operations. (See <a |
| href="http://c2.com/cgi/wiki?CommandPattern">GoF</a>.)</div> |
| </li> |
| </ul> |
| <a name="INTERPRETER_PATTERN"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>INTERPRETER_PATTERN</h4> |
| <pre>static final <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a> INTERPRETER_PATTERN</pre> |
| <div class="block">Given a language, define a representation for its grammar along with an |
| interpreter that uses the representation to interpret sentences in the |
| language. (See <a href="http://c2.com/cgi/wiki?InterpreterPattern"> |
| GoF</a>.)</div> |
| </li> |
| </ul> |
| <a name="ITERATOR_PATTERN"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>ITERATOR_PATTERN</h4> |
| <pre>static final <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a> ITERATOR_PATTERN</pre> |
| <div class="block">Provide a way to access the elements of an aggregate object sequentially |
| without exposing its underlying representation. (See <a |
| href="http://c2.com/cgi/wiki?IteratorPattern">GoF</a>.)</div> |
| </li> |
| </ul> |
| <a name="MEDIATOR_PATTERN"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>MEDIATOR_PATTERN</h4> |
| <pre>static final <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a> MEDIATOR_PATTERN</pre> |
| <div class="block">Define an object that encapsulates how a set of objects interact. |
| Promotes loose coupling by keeping objects from referring to each other |
| explicitly, and it lets you vary their interaction independently. (See <a |
| href="http://c2.com/cgi/wiki?MediatorPattern">GoF</a>.)</div> |
| </li> |
| </ul> |
| <a name="MEMENTO_PATTERN"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>MEMENTO_PATTERN</h4> |
| <pre>static final <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a> MEMENTO_PATTERN</pre> |
| <div class="block">Without violating encapsulation, capture and externalize an objects's |
| internal state so that the object can be restored to this state later. |
| (See <a href="http://c2.com/cgi/wiki?MementoPattern">GoF</a>.)</div> |
| </li> |
| </ul> |
| <a name="OBSERVER_PATTERN"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>OBSERVER_PATTERN</h4> |
| <pre>static final <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a> OBSERVER_PATTERN</pre> |
| <div class="block">Define a one-to-many dependency between objects so that when one object |
| changes state, all its dependents are notified and updated automatically. |
| (See <a href="http://c2.com/cgi/wiki?ObserverPattern">GoF</a>.)</div> |
| </li> |
| </ul> |
| <a name="STATE_PATTERN"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>STATE_PATTERN</h4> |
| <pre>static final <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a> STATE_PATTERN</pre> |
| <div class="block">Allow an object to alter its behavior when its internal state changes. |
| The object will appear to change its class. (See <a |
| href="http://c2.com/cgi/wiki?StatePattern">GoF</a>.)</div> |
| </li> |
| </ul> |
| <a name="STRATEGY_PATTERN"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>STRATEGY_PATTERN</h4> |
| <pre>static final <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a> STRATEGY_PATTERN</pre> |
| <div class="block">Define a family of algorithms, encapsulate each one, and make them |
| interchangeable. Lets the algorithm vary independently from clients that |
| use it. (See <a href="http://c2.com/cgi/wiki?StrategyPattern">GoF</a>.)</div> |
| </li> |
| </ul> |
| <a name="TEMPLATE_METHOD_PATTERN"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>TEMPLATE_METHOD_PATTERN</h4> |
| <pre>static final <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a> TEMPLATE_METHOD_PATTERN</pre> |
| <div class="block">Define the skeleton of an algorithm in an operation, deferring some steps |
| to subclasses. Lets subclasses redefine certain steps of an algorithm |
| without changing the algorithm's structure. (See <a |
| href="http://c2.com/cgi/wiki?TemplateMethodPattern">GoF</a>.)</div> |
| </li> |
| </ul> |
| <a name="VISITOR_PATTERN"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>VISITOR_PATTERN</h4> |
| <pre>static final <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a> VISITOR_PATTERN</pre> |
| <div class="block">Represent an operation to be performed on the elements of an object |
| structure. Lets you define a new operation without changing the classes |
| of the elements on which it operates. (See <a |
| href="http://c2.com/cgi/wiki?VisitorPattern">GoF</a>.)</div> |
| </li> |
| </ul> |
| <a name="SQL92"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>SQL92</h4> |
| <pre>static final <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a> SQL92</pre> |
| <div class="block">The official SQL-92 standard (ISO/IEC 9075:1992). To reference this |
| standard from methods that implement its rules, use the @sql.92 |
| custom block tag in Javadoc comments; for the tag body, use the format |
| <code><SectionId> [ ItemType <ItemId> ]</code>, where |
| |
| <ul> |
| <li><code>SectionId</code> is the numbered or named section in the table |
| of contents, e.g. "Section 4.18.9" or "Annex A" |
| <li><code>ItemType</code> is one of { Table, Syntax Rule, Access Rule, |
| General Rule, or Leveling Rule } |
| <li><code>ItemId</code> is a dotted path expression to the specific item |
| </ul> |
| |
| <p>For example, |
| |
| <blockquote><pre><code>@sql.92 Section 11.4 Syntax Rule 7.c |
| </code></pre></blockquote> |
| |
| <p>is a well-formed reference to the rule for the default character set to |
| use for column definitions of character type. |
| |
| <p>Note that this tag is a block tag (like @see) and cannot be used |
| inline.</div> |
| </li> |
| </ul> |
| <a name="SQL99"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>SQL99</h4> |
| <pre>static final <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a> SQL99</pre> |
| <div class="block">The official SQL:1999 standard (ISO/IEC 9075:1999), which is broken up |
| into five parts. To reference this standard from methods that implement |
| its rules, use the @sql.99 custom block tag in Javadoc comments; for |
| the tag body, use the format <code><PartId> <SectionId> [ |
| ItemType <ItemId> ]</code>, where |
| |
| <ul> |
| <li><code>PartId</code> is the numbered part (up to Part 5) |
| <li><code>SectionId</code> is the numbered or named section in the part's |
| table of contents, e.g. "Section 4.18.9" or "Annex A" |
| <li><code>ItemType</code> is one of { Table, Syntax Rule, Access Rule, |
| General Rule, or Conformance Rule } |
| <li><code>ItemId</code> is a dotted path expression to the specific item |
| </ul> |
| |
| <p>For example, |
| |
| <blockquote><pre><code>@sql.99 Part 2 Section 11.4 Syntax Rule 7.b |
| </code></pre></blockquote> |
| |
| <p>is a well-formed reference to the rule for the default character set to |
| use for column definitions of character type. |
| |
| <p>Note that this tag is a block tag (like @see) and cannot be used |
| inline.</div> |
| </li> |
| </ul> |
| <a name="SQL2003"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>SQL2003</h4> |
| <pre>static final <a href="../../../../org/apache/calcite/util/Glossary.html" title="interface in org.apache.calcite.util">Glossary</a> SQL2003</pre> |
| <div class="block">The official SQL:2003 standard (ISO/IEC 9075:2003), which is broken up |
| into numerous parts. To reference this standard from methods that |
| implement its rules, use the @sql.2003 custom block tag in Javadoc |
| comments; for the tag body, use the format <code><PartId> |
| <SectionId> [ ItemType <ItemId> ]</code>, where |
| |
| <ul> |
| <li><code>PartId</code> is the numbered part |
| <li><code>SectionId</code> is the numbered or named section in the part's |
| table of contents, e.g. "Section 4.11.2" or "Annex A" |
| <li><code>ItemType</code> is one of { Table, Syntax Rule, Access Rule, |
| General Rule, or Conformance Rule } |
| <li><code>ItemId</code> is a dotted path expression to the specific item |
| </ul> |
| |
| <p>For example, |
| |
| <blockquote><pre><code>@sql.2003 Part 2 Section 11.4 Syntax Rule 10.b |
| </code></pre></blockquote> |
| |
| <p>is a well-formed reference to the rule for the default character set to |
| use for column definitions of character type. |
| |
| <p>Note that this tag is a block tag (like @see) and cannot be used |
| inline.</div> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </div> |
| </div> |
| <!-- ========= END OF CLASS DATA ========= --> |
| <!-- ======= START OF BOTTOM NAVBAR ====== --> |
| <div class="bottomNav"><a name="navbar.bottom"> |
| <!-- --> |
| </a> |
| <div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div> |
| <a name="navbar.bottom.firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../../overview-summary.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="navBarCell1Rev">Class</li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../../index-all.html">Index</a></li> |
| <li><a href="../../../../help-doc.html">Help</a></li> |
| </ul> |
| <div class="aboutLanguage"><b>Apache Calcite</b></div> |
| </div> |
| <div class="subNav"> |
| <ul class="navList"> |
| <li><a href="../../../../org/apache/calcite/util/Filterator.html" title="class in org.apache.calcite.util"><span class="typeNameLink">Prev Class</span></a></li> |
| <li><a href="../../../../org/apache/calcite/util/Holder.html" title="class in org.apache.calcite.util"><span class="typeNameLink">Next Class</span></a></li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../../index.html?org/apache/calcite/util/Glossary.html" target="_top">Frames</a></li> |
| <li><a href="Glossary.html" target="_top">No Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_bottom"> |
| <li><a href="../../../../allclasses-noframe.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> |
| </div> |
| <div> |
| <ul class="subNavList"> |
| <li>Summary: </li> |
| <li>Nested | </li> |
| <li><a href="#field.summary">Field</a> | </li> |
| <li>Constr | </li> |
| <li>Method</li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li><a href="#field.detail">Field</a> | </li> |
| <li>Constr | </li> |
| <li>Method</li> |
| </ul> |
| </div> |
| <a name="skip.navbar.bottom"> |
| <!-- --> |
| </a></div> |
| <!-- ======== END OF BOTTOM NAVBAR ======= --> |
| <p class="legalCopy"><small>Copyright © 2012-2020 Apache Software Foundation. All Rights Reserved.</small></p> |
| </body> |
| </html> |