blob: dd876515deb3d1e9da8b2d5bb234ad8f70ec4189 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="it">
<head>
<!-- Generated by javadoc (version 1.7.0_80) on Thu Jun 14 10:04:04 CEST 2018 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Joinable (OpenJPA Parent POM 2.4.3 API)</title>
<meta name="date" content="2018-06-14">
<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="Joinable (OpenJPA Parent POM 2.4.3 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/Joinable.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/openjpa/jdbc/meta/JavaSQLTypes.html" title="class in org.apache.openjpa.jdbc.meta"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/openjpa/jdbc/meta/MappingDefaults.html" title="interface in org.apache.openjpa.jdbc.meta"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/openjpa/jdbc/meta/Joinable.html" target="_top">Frames</a></li>
<li><a href="Joinable.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.openjpa.jdbc.meta</div>
<h2 title="Interface Joinable" class="title">Interface Joinable</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="http://docs.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../../org/apache/openjpa/jdbc/meta/DelegatingJoinable.html" title="class in org.apache.openjpa.jdbc.meta">DelegatingJoinable</a>, <a href="../../../../../org/apache/openjpa/jdbc/meta/strats/HandlerFieldStrategy.html" title="class in org.apache.openjpa.jdbc.meta.strats">HandlerFieldStrategy</a>, <a href="../../../../../org/apache/openjpa/jdbc/meta/strats/MaxEmbeddedBlobFieldStrategy.html" title="class in org.apache.openjpa.jdbc.meta.strats">MaxEmbeddedBlobFieldStrategy</a>, <a href="../../../../../org/apache/openjpa/jdbc/meta/strats/MaxEmbeddedByteArrayFieldStrategy.html" title="class in org.apache.openjpa.jdbc.meta.strats">MaxEmbeddedByteArrayFieldStrategy</a>, <a href="../../../../../org/apache/openjpa/jdbc/meta/strats/MaxEmbeddedCharArrayFieldStrategy.html" title="class in org.apache.openjpa.jdbc.meta.strats">MaxEmbeddedCharArrayFieldStrategy</a>, <a href="../../../../../org/apache/openjpa/jdbc/meta/strats/MaxEmbeddedClobFieldStrategy.html" title="class in org.apache.openjpa.jdbc.meta.strats">MaxEmbeddedClobFieldStrategy</a>, <a href="../../../../../org/apache/openjpa/jdbc/meta/strats/PrimitiveFieldStrategy.html" title="class in org.apache.openjpa.jdbc.meta.strats">PrimitiveFieldStrategy</a>, <a href="../../../../../org/apache/openjpa/jdbc/meta/strats/RelationFieldStrategy.html" title="class in org.apache.openjpa.jdbc.meta.strats">RelationFieldStrategy</a>, <a href="../../../../../org/apache/openjpa/jdbc/meta/strats/StringFieldStrategy.html" title="class in org.apache.openjpa.jdbc.meta.strats">StringFieldStrategy</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="strong">Joinable</span>
extends <a href="http://docs.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
<div class="block">Represents a value that can be joined to. Any column that a user
joins to must be "owned" by an entity that implements this interface.
The system maps columns to joinables to be able to decompose oids and
field values into individual join values on a per-column basis. This
allows us to support joins to only some of the columns of a mapping, and
to be loose with the ordering of foreign key columns relative to the
ordering of the joined-to columns. Having a separate interface for
joinables also allows us to perform tricks such as a vertically-mapped
application identity subclass transparently transforming columns of its
foreign key to the corresponding primary key fields in the base class.</div>
<dl><dt><span class="strong">Author:</span></dt>
<dd>Abe White</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="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><a href="../../../../../org/apache/openjpa/jdbc/schema/Column.html" title="class in org.apache.openjpa.jdbc.schema">Column</a>[]</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/openjpa/jdbc/meta/Joinable.html#getColumns()">getColumns</a></strong>()</code>
<div class="block">The columns managed by this joinable.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/openjpa/jdbc/meta/Joinable.html#getFieldIndex()">getFieldIndex</a></strong>()</code>
<div class="block">Return the field index of this joinable, or -1 if not a field.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/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/openjpa/jdbc/meta/Joinable.html#getJoinValue(java.lang.Object,%20org.apache.openjpa.jdbc.schema.Column,%20org.apache.openjpa.jdbc.kernel.JDBCStore)">getJoinValue</a></strong>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;val,
<a href="../../../../../org/apache/openjpa/jdbc/schema/Column.html" title="class in org.apache.openjpa.jdbc.schema">Column</a>&nbsp;col,
<a href="../../../../../org/apache/openjpa/jdbc/kernel/JDBCStore.html" title="interface in org.apache.openjpa.jdbc.kernel">JDBCStore</a>&nbsp;store)</code>
<div class="block">Return the join value of the given column.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/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/openjpa/jdbc/meta/Joinable.html#getJoinValue(org.apache.openjpa.kernel.OpenJPAStateManager,%20org.apache.openjpa.jdbc.schema.Column,%20org.apache.openjpa.jdbc.kernel.JDBCStore)">getJoinValue</a></strong>(<a href="../../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</a>&nbsp;sm,
<a href="../../../../../org/apache/openjpa/jdbc/schema/Column.html" title="class in org.apache.openjpa.jdbc.schema">Column</a>&nbsp;col,
<a href="../../../../../org/apache/openjpa/jdbc/kernel/JDBCStore.html" title="interface in org.apache.openjpa.jdbc.kernel">JDBCStore</a>&nbsp;store)</code>
<div class="block">Return the join value of the given column.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/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/openjpa/jdbc/meta/Joinable.html#getPrimaryKeyValue(org.apache.openjpa.jdbc.sql.Result,%20org.apache.openjpa.jdbc.schema.Column[],%20org.apache.openjpa.jdbc.schema.ForeignKey,%20org.apache.openjpa.jdbc.kernel.JDBCStore,%20org.apache.openjpa.jdbc.sql.Joins)">getPrimaryKeyValue</a></strong>(<a href="../../../../../org/apache/openjpa/jdbc/sql/Result.html" title="interface in org.apache.openjpa.jdbc.sql">Result</a>&nbsp;res,
<a href="../../../../../org/apache/openjpa/jdbc/schema/Column.html" title="class in org.apache.openjpa.jdbc.schema">Column</a>[]&nbsp;cols,
<a href="../../../../../org/apache/openjpa/jdbc/schema/ForeignKey.html" title="class in org.apache.openjpa.jdbc.schema">ForeignKey</a>&nbsp;fk,
<a href="../../../../../org/apache/openjpa/jdbc/kernel/JDBCStore.html" title="interface in org.apache.openjpa.jdbc.kernel">JDBCStore</a>&nbsp;store,
<a href="../../../../../org/apache/openjpa/jdbc/sql/Joins.html" title="interface in org.apache.openjpa.jdbc.sql">Joins</a>&nbsp;joins)</code>
<div class="block">Return the value for this joinable from the given result, using the
given columns.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/openjpa/jdbc/meta/Joinable.html#setAutoAssignedValue(org.apache.openjpa.kernel.OpenJPAStateManager,%20org.apache.openjpa.jdbc.kernel.JDBCStore,%20org.apache.openjpa.jdbc.schema.Column,%20java.lang.Object)">setAutoAssignedValue</a></strong>(<a href="../../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</a>&nbsp;sm,
<a href="../../../../../org/apache/openjpa/jdbc/kernel/JDBCStore.html" title="interface in org.apache.openjpa.jdbc.kernel">JDBCStore</a>&nbsp;store,
<a href="../../../../../org/apache/openjpa/jdbc/schema/Column.html" title="class in org.apache.openjpa.jdbc.schema">Column</a>&nbsp;col,
<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;autogen)</code>
<div class="block">Use the given auto-assigned value to set this join value's field
on the given instance.</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="getFieldIndex()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFieldIndex</h4>
<pre>int&nbsp;getFieldIndex()</pre>
<div class="block">Return the field index of this joinable, or -1 if not a field.</div>
</li>
</ul>
<a name="getPrimaryKeyValue(org.apache.openjpa.jdbc.sql.Result, org.apache.openjpa.jdbc.schema.Column[], org.apache.openjpa.jdbc.schema.ForeignKey, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.sql.Joins)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPrimaryKeyValue</h4>
<pre><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;getPrimaryKeyValue(<a href="../../../../../org/apache/openjpa/jdbc/sql/Result.html" title="interface in org.apache.openjpa.jdbc.sql">Result</a>&nbsp;res,
<a href="../../../../../org/apache/openjpa/jdbc/schema/Column.html" title="class in org.apache.openjpa.jdbc.schema">Column</a>[]&nbsp;cols,
<a href="../../../../../org/apache/openjpa/jdbc/schema/ForeignKey.html" title="class in org.apache.openjpa.jdbc.schema">ForeignKey</a>&nbsp;fk,
<a href="../../../../../org/apache/openjpa/jdbc/kernel/JDBCStore.html" title="interface in org.apache.openjpa.jdbc.kernel">JDBCStore</a>&nbsp;store,
<a href="../../../../../org/apache/openjpa/jdbc/sql/Joins.html" title="interface in org.apache.openjpa.jdbc.sql">Joins</a>&nbsp;joins)
throws <a href="http://docs.oracle.com/javase/6/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</a></pre>
<div class="block">Return the value for this joinable from the given result, using the
given columns. If the given foreign key is non-null, use the foreign
key's columns by translating the given columns through
<a href="../../../../../org/apache/openjpa/jdbc/schema/ForeignKey.html#getColumn(org.apache.openjpa.jdbc.schema.Column)"><code>ForeignKey.getColumn(org.apache.openjpa.jdbc.schema.Column)</code></a>.</div>
<dl><dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</a></code></dd></dl>
</li>
</ul>
<a name="getColumns()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getColumns</h4>
<pre><a href="../../../../../org/apache/openjpa/jdbc/schema/Column.html" title="class in org.apache.openjpa.jdbc.schema">Column</a>[]&nbsp;getColumns()</pre>
<div class="block">The columns managed by this joinable.</div>
</li>
</ul>
<a name="getJoinValue(java.lang.Object, org.apache.openjpa.jdbc.schema.Column, org.apache.openjpa.jdbc.kernel.JDBCStore)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getJoinValue</h4>
<pre><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;getJoinValue(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;val,
<a href="../../../../../org/apache/openjpa/jdbc/schema/Column.html" title="class in org.apache.openjpa.jdbc.schema">Column</a>&nbsp;col,
<a href="../../../../../org/apache/openjpa/jdbc/kernel/JDBCStore.html" title="interface in org.apache.openjpa.jdbc.kernel">JDBCStore</a>&nbsp;store)</pre>
<div class="block">Return the join value of the given column.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>val</code> - the value of the field for this joinable</dd><dd><code>col</code> - the column of this joinable whose value to return</dd></dl>
</li>
</ul>
<a name="getJoinValue(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.schema.Column, org.apache.openjpa.jdbc.kernel.JDBCStore)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getJoinValue</h4>
<pre><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;getJoinValue(<a href="../../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</a>&nbsp;sm,
<a href="../../../../../org/apache/openjpa/jdbc/schema/Column.html" title="class in org.apache.openjpa.jdbc.schema">Column</a>&nbsp;col,
<a href="../../../../../org/apache/openjpa/jdbc/kernel/JDBCStore.html" title="interface in org.apache.openjpa.jdbc.kernel">JDBCStore</a>&nbsp;store)</pre>
<div class="block">Return the join value of the given column.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>sm</code> - the instance from which to get the value</dd><dd><code>col</code> - the column whose value to return</dd></dl>
</li>
</ul>
<a name="setAutoAssignedValue(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.schema.Column, java.lang.Object)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setAutoAssignedValue</h4>
<pre>void&nbsp;setAutoAssignedValue(<a href="../../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</a>&nbsp;sm,
<a href="../../../../../org/apache/openjpa/jdbc/kernel/JDBCStore.html" title="interface in org.apache.openjpa.jdbc.kernel">JDBCStore</a>&nbsp;store,
<a href="../../../../../org/apache/openjpa/jdbc/schema/Column.html" title="class in org.apache.openjpa.jdbc.schema">Column</a>&nbsp;col,
<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;autogen)</pre>
<div class="block">Use the given auto-assigned value to set this join value's field
on the given instance.</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/Joinable.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/openjpa/jdbc/meta/JavaSQLTypes.html" title="class in org.apache.openjpa.jdbc.meta"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/openjpa/jdbc/meta/MappingDefaults.html" title="interface in org.apache.openjpa.jdbc.meta"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/openjpa/jdbc/meta/Joinable.html" target="_top">Frames</a></li>
<li><a href="Joinable.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; 2006&#x2013;2018 <a href="http://www.apache.org">Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>