blob: 922803373e6943c07ef958e8a28f0beafa239126 [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 (version 1.7.0_67) on Sat Sep 20 17:22:58 FET 2014 -->
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>PkGenerator (Cayenne Documentation 3.1 API)</title>
<meta name="date" content="2014-09-20">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="PkGenerator (Cayenne Documentation 3.1 API)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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/PkGenerator.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">
<li><a href="../../../../org/apache/cayenne/dba/JdbcPkGenerator.html" title="class in org.apache.cayenne.dba"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/cayenne/dba/QuotingStrategy.html" title="interface in org.apache.cayenne.dba"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/cayenne/dba/PkGenerator.html" target="_top">Frames</a></li>
<li><a href="PkGenerator.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:&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.cayenne.dba</div>
<h2 title="Interface PkGenerator" class="title">Interface PkGenerator</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../org/apache/cayenne/dba/db2/DB2PkGenerator.html" title="class in org.apache.cayenne.dba.db2">DB2PkGenerator</a>, <a href="../../../../org/apache/cayenne/dba/derby/DerbyPkGenerator.html" title="class in org.apache.cayenne.dba.derby">DerbyPkGenerator</a>, <a href="../../../../org/apache/cayenne/dba/frontbase/FrontBasePkGenerator.html" title="class in org.apache.cayenne.dba.frontbase">FrontBasePkGenerator</a>, <a href="../../../../org/apache/cayenne/dba/ingres/IngresPkGenerator.html" title="class in org.apache.cayenne.dba.ingres">IngresPkGenerator</a>, <a href="../../../../org/apache/cayenne/dba/JdbcPkGenerator.html" title="class in org.apache.cayenne.dba">JdbcPkGenerator</a>, <a href="../../../../org/apache/cayenne/dba/mysql/MySQLPkGenerator.html" title="class in org.apache.cayenne.dba.mysql">MySQLPkGenerator</a>, <a href="../../../../org/apache/cayenne/dba/openbase/OpenBasePkGenerator.html" title="class in org.apache.cayenne.dba.openbase">OpenBasePkGenerator</a>, <a href="../../../../org/apache/cayenne/dba/oracle/OraclePkGenerator.html" title="class in org.apache.cayenne.dba.oracle">OraclePkGenerator</a>, <a href="../../../../org/apache/cayenne/dba/postgres/PostgresPkGenerator.html" title="class in org.apache.cayenne.dba.postgres">PostgresPkGenerator</a>, <a href="../../../../org/apache/cayenne/dba/sybase/SybasePkGenerator.html" title="class in org.apache.cayenne.dba.sybase">SybasePkGenerator</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="strong">PkGenerator</span></pre>
<div class="block">Defines methods to support automatic primary key generation.</div>
</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="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/dba/PkGenerator.html#createAutoPk(org.apache.cayenne.access.DataNode,%20java.util.List)">createAutoPk</a></strong>(<a href="../../../../org/apache/cayenne/access/DataNode.html" title="class in org.apache.cayenne.access">DataNode</a>&nbsp;node,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/cayenne/map/DbEntity.html" title="class in org.apache.cayenne.map">DbEntity</a>&gt;&nbsp;dbEntities)</code>
<div class="block">Generates necessary database objects to provide automatic primary key support.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/1.5.0/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><strong><a href="../../../../org/apache/cayenne/dba/PkGenerator.html#createAutoPkStatements(java.util.List)">createAutoPkStatements</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/cayenne/map/DbEntity.html" title="class in org.apache.cayenne.map">DbEntity</a>&gt;&nbsp;dbEntities)</code>
<div class="block">Returns a list of SQL strings needed to generates database objects to provide
automatic primary support for the list of entities.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/dba/PkGenerator.html#dropAutoPk(org.apache.cayenne.access.DataNode,%20java.util.List)">dropAutoPk</a></strong>(<a href="../../../../org/apache/cayenne/access/DataNode.html" title="class in org.apache.cayenne.access">DataNode</a>&nbsp;node,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/cayenne/map/DbEntity.html" title="class in org.apache.cayenne.map">DbEntity</a>&gt;&nbsp;dbEntities)</code>
<div class="block">Drops any common database objects associated with automatic primary key generation
process.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/1.5.0/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><strong><a href="../../../../org/apache/cayenne/dba/PkGenerator.html#dropAutoPkStatements(java.util.List)">dropAutoPkStatements</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/cayenne/map/DbEntity.html" title="class in org.apache.cayenne.map">DbEntity</a>&gt;&nbsp;dbEntities)</code>
<div class="block">Returns SQL string needed to drop database objects associated with automatic
primary key generation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/dba/PkGenerator.html#generatePk(org.apache.cayenne.access.DataNode,%20org.apache.cayenne.map.DbAttribute)">generatePk</a></strong>(<a href="../../../../org/apache/cayenne/access/DataNode.html" title="class in org.apache.cayenne.access">DataNode</a>&nbsp;dataNode,
<a href="../../../../org/apache/cayenne/map/DbAttribute.html" title="class in org.apache.cayenne.map">DbAttribute</a>&nbsp;pk)</code>
<div class="block">Generates a unique and non-repeating primary key for specified PK attribute.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/cayenne/dba/PkGenerator.html#reset()">reset</a></strong>()</code>
<div class="block">Resets any cached primary keys forcing generator to go to the database next time id
generation is requested.</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="createAutoPk(org.apache.cayenne.access.DataNode, java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createAutoPk</h4>
<pre>void&nbsp;createAutoPk(<a href="../../../../org/apache/cayenne/access/DataNode.html" title="class in org.apache.cayenne.access">DataNode</a>&nbsp;node,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/cayenne/map/DbEntity.html" title="class in org.apache.cayenne.map">DbEntity</a>&gt;&nbsp;dbEntities)
throws <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Generates necessary database objects to provide automatic primary key support.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>node</code> - node that provides access to a DataSource.</dd><dd><code>dbEntities</code> - a list of entities that require primary key auto-generation
support</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
</li>
</ul>
<a name="createAutoPkStatements(java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createAutoPkStatements</h4>
<pre><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;createAutoPkStatements(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/cayenne/map/DbEntity.html" title="class in org.apache.cayenne.map">DbEntity</a>&gt;&nbsp;dbEntities)</pre>
<div class="block">Returns a list of SQL strings needed to generates database objects to provide
automatic primary support for the list of entities. No actual database operations
are performed.</div>
</li>
</ul>
<a name="dropAutoPk(org.apache.cayenne.access.DataNode, java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dropAutoPk</h4>
<pre>void&nbsp;dropAutoPk(<a href="../../../../org/apache/cayenne/access/DataNode.html" title="class in org.apache.cayenne.access">DataNode</a>&nbsp;node,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/cayenne/map/DbEntity.html" title="class in org.apache.cayenne.map">DbEntity</a>&gt;&nbsp;dbEntities)
throws <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Drops any common database objects associated with automatic primary key generation
process. This may be lookup tables, special stored procedures or sequences.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>node</code> - node that provides access to a DataSource.</dd><dd><code>dbEntities</code> - a list of entities whose primary key auto-generation support
should be dropped.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
</li>
</ul>
<a name="dropAutoPkStatements(java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dropAutoPkStatements</h4>
<pre><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;dropAutoPkStatements(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/cayenne/map/DbEntity.html" title="class in org.apache.cayenne.map">DbEntity</a>&gt;&nbsp;dbEntities)</pre>
<div class="block">Returns SQL string needed to drop database objects associated with automatic
primary key generation. No actual database operations are performed.</div>
</li>
</ul>
<a name="generatePk(org.apache.cayenne.access.DataNode, org.apache.cayenne.map.DbAttribute)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>generatePk</h4>
<pre><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;generatePk(<a href="../../../../org/apache/cayenne/access/DataNode.html" title="class in org.apache.cayenne.access">DataNode</a>&nbsp;dataNode,
<a href="../../../../org/apache/cayenne/map/DbAttribute.html" title="class in org.apache.cayenne.map">DbAttribute</a>&nbsp;pk)
throws <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Generates a unique and non-repeating primary key for specified PK attribute.</div>
<dl><dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd><dt><span class="strong">Since:</span></dt>
<dd>3.0</dd></dl>
</li>
</ul>
<a name="reset()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>reset</h4>
<pre>void&nbsp;reset()</pre>
<div class="block">Resets any cached primary keys forcing generator to go to the database next time id
generation is requested. May not be applicable for all generator implementations.</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><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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/PkGenerator.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">
<li><a href="../../../../org/apache/cayenne/dba/JdbcPkGenerator.html" title="class in org.apache.cayenne.dba"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/cayenne/dba/QuotingStrategy.html" title="interface in org.apache.cayenne.dba"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/cayenne/dba/PkGenerator.html" target="_top">Frames</a></li>
<li><a href="PkGenerator.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:&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>Copyright &#169; 2001&#x2013;2014 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
</body>
</html>