blob: c8bc229fa619950e5758192f55eeec8c970809be [file] [log] [blame]
<!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 (1.8.0_161) on Thu Apr 30 21:50:54 PDT 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>NCSqlTable (Apache NLPCraft 0.5.0)</title>
<meta name="date" content="2020-04-30">
<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="NCSqlTable (Apache NLPCraft 0.5.0)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"> <script src="../../../../../../resources/sh/scripts/XRegExp.js" type="text/javascript"></script> <script src="../../../../../../resources/sh/scripts/shCore.js" type="text/javascript"></script> <script src="../../../../../../resources/sh/scripts/shAutoloader.js" type="text/javascript"></script> <link href="../../../../../../resources/sh/styles/shCoreNLPCraft.css" rel="stylesheet" type="text/css" title="Style"> <link href="../../../../../../resources/sh/styles/shThemeNLPCraft.css" rel="stylesheet" type="text/css" title="Style"> <link href="https://fonts.googleapis.com/css?family=Roboto+Mono" rel="stylesheet"> <script async defer src="https://buttons.github.io/buttons.js"></script>
<!-- ========= 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="class-use/NCSqlTable.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 class="aboutLanguage">Apache NLPCraft <span style="font-size: 80%">0.5.0</span></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/nlpcraft/model/tools/sqlgen/NCSqlSort.html" title="interface in org.apache.nlpcraft.model.tools.sqlgen"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/nlpcraft/model/tools/sqlgen/NCSqlTable.html" target="_top">Frames</a></li>
<li><a href="NCSqlTable.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></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.nlpcraft.model.tools.sqlgen</div>
<h2 title="Interface NCSqlTable" class="title">Interface NCSqlTable</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public interface <span class="typeNameLabel">NCSqlTable</span></pre>
<div class="block">Object presentation of SQL table.
<p>
In JSON/YAML generated model the table is the model element (example):
<pre class="brush: js">
elements:
- id: "tbl:orders"
groups:
- "table"
synonyms:
- "orders"
metadata:
sql:name: "orders"
sql:defaultselect:
- "order_id"
- "order_date"
- "required_date"
sql:defaultsort:
- "orders.order_id#desc"
sql:extratables:
- "customers"
- "shippers"
- "employees"
sql:defaultdate: "orders.order_date"
description: "Auto-generated from 'orders' table."
</pre>
Few notes:
<ul>
<li>
All model elements representing SQL column have ID in a form of <code>tbl:sql_table_name</code>.
</li>
<li>
All model elements representing SQL column belong to <code>table</code> group.
</li>
<li>
These model elements have auto-generated synonyms and set of mandatory metadata.
</li>
<li>
User can freely add group membership, change synonyms, or add new metadata.
</li>
</ul></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/apache/nlpcraft/model/tools/sqlgen/NCSqlSchemaBuilder.html#makeSchema-org.apache.nlpcraft.model.NCModel-"><code>NCSqlSchemaBuilder.makeSchema(NCModel)</code></a>,
<a href="../../../../../../org/apache/nlpcraft/model/tools/sqlgen/NCSqlExtractorBuilder.html#build-org.apache.nlpcraft.model.tools.sqlgen.NCSqlSchema-org.apache.nlpcraft.model.NCVariant-"><code>NCSqlExtractorBuilder.build(NCSqlSchema, NCVariant)</code></a>,
<a href="../../../../../../org/apache/nlpcraft/model/tools/sqlgen/NCSqlExtractor.html#extractTable-org.apache.nlpcraft.model.NCToken-"><code>NCSqlExtractor.extractTable(NCToken)</code></a>,
<a href="../../../../../../org/apache/nlpcraft/model/tools/sqlgen/NCSqlSchema.html#getTables--"><code>NCSqlSchema.getTables()</code></a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/nlpcraft/model/tools/sqlgen/NCSqlColumn.html" title="interface in org.apache.nlpcraft.model.tools.sqlgen">NCSqlColumn</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/nlpcraft/model/tools/sqlgen/NCSqlTable.html#getColumns--">getColumns</a></span>()</code>
<div class="block">Gets collections of this table columns.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../../org/apache/nlpcraft/model/tools/sqlgen/NCSqlColumn.html" title="interface in org.apache.nlpcraft.model.tools.sqlgen">NCSqlColumn</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/nlpcraft/model/tools/sqlgen/NCSqlTable.html#getDefaultDate--">getDefaultDate</a></span>()</code>
<div class="block">Gets a column that defines a default date for this table.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/nlpcraft/model/tools/sqlgen/NCSqlTable.html#getDefaultSelect--">getDefaultSelect</a></span>()</code>
<div class="block">Gets the list of the column names for the default select set.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/nlpcraft/model/tools/sqlgen/NCSqlSort.html" title="interface in org.apache.nlpcraft.model.tools.sqlgen">NCSqlSort</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/nlpcraft/model/tools/sqlgen/NCSqlTable.html#getDefaultSort--">getDefaultSort</a></span>()</code>
<div class="block">Gets default sort descriptor.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/nlpcraft/model/tools/sqlgen/NCSqlTable.html#getExtraTables--">getExtraTables</a></span>()</code>
<div class="block">Gets the list of extra tables this table is referencing.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/nlpcraft/model/tools/sqlgen/NCSqlTable.html#getTable--">getTable</a></span>()</code>
<div class="block">Gets table name.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getTable--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTable</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTable()</pre>
<div class="block">Gets table name.
<p>
In JSON/YAML generated model the table name is declared with the following element
metadata (example):
<pre class="brush: js">
sql:name: "orders"
</pre>
Note also that all elements declaring SQL tables belong to <code>table</code> group.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>table name.</dd>
</dl>
</li>
</ul>
<a name="getColumns--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getColumns</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/nlpcraft/model/tools/sqlgen/NCSqlColumn.html" title="interface in org.apache.nlpcraft.model.tools.sqlgen">NCSqlColumn</a>&gt;&nbsp;getColumns()</pre>
<div class="block">Gets collections of this table columns.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Collections of this table columns.</dd>
</dl>
</li>
</ul>
<a name="getDefaultSort--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDefaultSort</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/nlpcraft/model/tools/sqlgen/NCSqlSort.html" title="interface in org.apache.nlpcraft.model.tools.sqlgen">NCSqlSort</a>&gt;&nbsp;getDefaultSort()</pre>
<div class="block">Gets default sort descriptor.
<p>
In JSON/YAML generated model the default sort list is declared with the following element
metadata (example):
<pre class="brush: js">
sql:defaultsort:
- "orders.order_id#desc"
</pre>
Note the <code>table.column#{asc|desc}</code> notation for identifying table name,
column name and the sort order.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Default sort descriptor.</dd>
</dl>
</li>
</ul>
<a name="getDefaultSelect--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDefaultSelect</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getDefaultSelect()</pre>
<div class="block">Gets the list of the column names for the default select set.
<p>
In JSON/YAML generated model the default select list is declared with the following element
metadata (example):
<pre class="brush: js">
sql:defaultselect:
- "order_id"
- "order_date"
- "required_date"
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>List of the column names for the default select set.</dd>
</dl>
</li>
</ul>
<a name="getExtraTables--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getExtraTables</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getExtraTables()</pre>
<div class="block">Gets the list of extra tables this table is referencing. Extra tables are joined together with this table
for default selection. Often, a single domain dataset if spread over multiple tables and this
allows to have a meaningful default selection.
<p>
In JSON/YAML generated model the extra tables list is declared with the following element
metadata (example):
<pre class="brush: js">
sql:extratables:
- "other_part_table"
- "another_part_table"
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>List of extra tables this table's default selection.</dd>
</dl>
</li>
</ul>
<a name="getDefaultDate--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getDefaultDate</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../../org/apache/nlpcraft/model/tools/sqlgen/NCSqlColumn.html" title="interface in org.apache.nlpcraft.model.tools.sqlgen">NCSqlColumn</a>&gt;&nbsp;getDefaultDate()</pre>
<div class="block">Gets a column that defines a default date for this table. Note that this column
can belong to another table.
<p>
In JSON/YAML generated model the default date column is declared with the following element
metadata (example):
<pre class="brush: js">
sql:defaultdate: "orders.order_date"
</pre>
Note <code>table.column</code> notation for the table and column names.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Column that defines a default date for this table.</dd>
</dl>
</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="class-use/NCSqlTable.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 class="aboutLanguage"><span style="vertical-align: super">Apache NLPCraft <span style="font-size: 80%">0.5.0</span></span> <a style="vertical-align: super; margin-right: 10px" href="https://github.com/apache/incubator-nlpcraft" target="github"><i class="fa fa-github github-logo"></i></a> <a class="github-button" href="https://github.com/apache/incubator-nlpcraft/tree/master/src/main/scala/org/apache/nlpcraft/examples" data-icon="octicon-eye" aria-label="NLPCraft Examples">Examples</a> <a class="github-button" href="https://github.com/apache/incubator-nlpcraft" data-icon="octicon-star" aria-label="Star on GitHub">Star</a> <a class="github-button" href="https://github.com/apache/incubator-nlpcraft/fork" data-icon="octicon-repo-forked" aria-label="Fork on GitHub">Fork</a> <script type="text/javascript"> SyntaxHighlighter.defaults["auto-links"] = false; SyntaxHighlighter.defaults["tab-size"] = 2; SyntaxHighlighter.autoloader( 'java ../../../../../../resources/sh/scripts/shBrushJava.js', 'js jscript javascript ../../../../../../resources/sh/scripts/shBrushJScript.js', 'text plain ../../../../../../resources/sh/scripts/shBrushPlain.js', 'py python ../../../../../../resources/sh/scripts/shBrushPython.js', 'ruby rails ror rb ../../../../../../resources/sh/scripts/shBrushRuby.js', 'scala ../../../../../../resources/sh/scripts/shBrushScala.js', 'sql ../../../../../../resources/sh/scripts/shBrushSql.js', 'xml xhtml xslt html ../../../../../../resources/sh/scripts/shBrushXml.js' ); SyntaxHighlighter.all(); </script></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/nlpcraft/model/tools/sqlgen/NCSqlSort.html" title="interface in org.apache.nlpcraft.model.tools.sqlgen"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/nlpcraft/model/tools/sqlgen/NCSqlTable.html" target="_top">Frames</a></li>
<li><a href="NCSqlTable.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><center> <br/> <span style="font-size: larger">Copyright &#169; 2020 Apache Software Foundation</span> <br/> <br/> <img src="https://www.apache.org/img/ASF20thAnniversary.jpg" height="64px"> </center></small></p>
</body>
</html>