blob: 8b30bcbd8d622400d32f8d5dfc094d5a5874eac9 [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_112) on Mon Oct 14 11:36:18 MSK 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ObjRelationship (cayenne-doc: Cayenne Documentation 4.0.2 API)</title>
<meta name="date" content="2019-10-14">
<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="ObjRelationship (cayenne-doc: Cayenne Documentation 4.0.2 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</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="class-use/ObjRelationship.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/map/ObjEntity.html" title="class in org.apache.cayenne.map"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/cayenne/map/PathComponent.html" title="interface in org.apache.cayenne.map"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/cayenne/map/ObjRelationship.html" target="_top">Frames</a></li>
<li><a href="ObjRelationship.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><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&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.map</div>
<h2 title="Class ObjRelationship" class="title">Class ObjRelationship</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../org/apache/cayenne/map/Relationship.html" title="class in org.apache.cayenne.map">org.apache.cayenne.map.Relationship</a></li>
<li>
<ul class="inheritance">
<li>org.apache.cayenne.map.ObjRelationship</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../org/apache/cayenne/configuration/ConfigurationNode.html" title="interface in org.apache.cayenne.configuration">ConfigurationNode</a>, <a href="../../../../org/apache/cayenne/util/CayenneMapEntry.html" title="interface in org.apache.cayenne.util">CayenneMapEntry</a>, <a href="../../../../org/apache/cayenne/util/XMLSerializable.html" title="interface in org.apache.cayenne.util">XMLSerializable</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">ObjRelationship</span>
extends <a href="../../../../org/apache/cayenne/map/Relationship.html" title="class in org.apache.cayenne.map">Relationship</a>
implements <a href="../../../../org/apache/cayenne/configuration/ConfigurationNode.html" title="interface in org.apache.cayenne.configuration">ConfigurationNode</a></pre>
<div class="block">Describes an association between two Java classes mapped as source and target
ObjEntity. Maps to a path of DbRelationships.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../serialized-form.html#org.apache.cayenne.map.ObjRelationship">Serialized Form</a></dd>
</dl>
</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">&nbsp;</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>protected <a href="https://docs.oracle.com/javase/7/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/cayenne/map/ObjRelationship.html#collectionType">collectionType</a></span></code>
<div class="block">Stores the type of collection mapped by a to-many relationship.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/7/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/DbRelationship.html" title="class in org.apache.cayenne.map">DbRelationship</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/map/ObjRelationship.html#dbRelationships">dbRelationships</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/7/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/cayenne/map/ObjRelationship.html#DEFAULT_COLLECTION_TYPE">DEFAULT_COLLECTION_TYPE</a></span></code>
<div class="block">Denotes a default type of to-many relationship collection which is a Java
List.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/map/ObjRelationship.html#deleteRule">deleteRule</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/7/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/cayenne/map/ObjRelationship.html#mapKey">mapKey</a></span></code>
<div class="block">Stores a property name of a target entity used to create a relationship
map.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/map/ObjRelationship.html#usedForLocking">usedForLocking</a></span></code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.cayenne.map.Relationship">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.cayenne.map.<a href="../../../../org/apache/cayenne/map/Relationship.html" title="class in org.apache.cayenne.map">Relationship</a></h3>
<code><a href="../../../../org/apache/cayenne/map/Relationship.html#name">name</a>, <a href="../../../../org/apache/cayenne/map/Relationship.html#runtime">runtime</a>, <a href="../../../../org/apache/cayenne/map/Relationship.html#sourceEntity">sourceEntity</a>, <a href="../../../../org/apache/cayenne/map/Relationship.html#targetEntityName">targetEntityName</a>, <a href="../../../../org/apache/cayenne/map/Relationship.html#toMany">toMany</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/map/ObjRelationship.html#ObjRelationship--">ObjRelationship</a></span>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/map/ObjRelationship.html#ObjRelationship-java.lang.String-">ObjRelationship</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== 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="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete 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>&lt;T&gt;&nbsp;T</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/map/ObjRelationship.html#acceptVisitor-org.apache.cayenne.configuration.ConfigurationNodeVisitor-">acceptVisitor</a></span>(<a href="../../../../org/apache/cayenne/configuration/ConfigurationNodeVisitor.html" title="interface in org.apache.cayenne.configuration">ConfigurationNodeVisitor</a>&lt;T&gt;&nbsp;visitor)</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/map/ObjRelationship.html#addDbRelationship-org.apache.cayenne.map.DbRelationship-">addDbRelationship</a></span>(<a href="../../../../org/apache/cayenne/map/DbRelationship.html" title="class in org.apache.cayenne.map">DbRelationship</a>&nbsp;dbRel)</code>
<div class="block">Appends a DbRelationship to the existing list of DbRelationships.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/map/ObjRelationship.html#clearDbRelationships--">clearDbRelationships</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/cayenne/map/ObjRelationship.html" title="class in org.apache.cayenne.map">ObjRelationship</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/map/ObjRelationship.html#createReverseRelationship--">createReverseRelationship</a></span>()</code>
<div class="block">Creates a complimentary reverse relationship from target entity to the
source entity.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/map/ObjRelationship.html#encodeAsXML-org.apache.cayenne.util.XMLEncoder-">encodeAsXML</a></span>(<a href="../../../../org/apache/cayenne/util/XMLEncoder.html" title="class in org.apache.cayenne.util">XMLEncoder</a>&nbsp;encoder)</code>
<div class="block">Prints itself as XML to the provided XMLEncoder.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/cayenne/map/ObjRelationship.html" title="class in org.apache.cayenne.map">ObjRelationship</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/map/ObjRelationship.html#getClientRelationship--">getClientRelationship</a></span>()</code>
<div class="block">Returns an ObjAttribute stripped of any server-side information, such as
DbAttribute mapping.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/7/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/cayenne/map/ObjRelationship.html#getCollectionType--">getCollectionType</a></span>()</code>
<div class="block">Returns the interface of collection mapped by a to-many relationship.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/7/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/cayenne/map/ObjRelationship.html#getDbRelationshipPath--">getDbRelationshipPath</a></span>()</code>
<div class="block">Returns a dot-separated path over mapped DbRelationships.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/7/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/DbRelationship.html" title="class in org.apache.cayenne.map">DbRelationship</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/map/ObjRelationship.html#getDbRelationships--">getDbRelationships</a></span>()</code>
<div class="block">Returns an immutable list of underlying DbRelationships.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/map/ObjRelationship.html#getDeleteRule--">getDeleteRule</a></span>()</code>
<div class="block">Returns the deleteRule.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/7/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/cayenne/map/ObjRelationship.html#getMapKey--">getMapKey</a></span>()</code>
<div class="block">Returns a property name of a target entity used to create a relationship
map.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/7/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/cayenne/map/ObjRelationship.html#getReverseDbRelationshipPath--">getReverseDbRelationshipPath</a></span>()</code>
<div class="block">Returns a reversed dbRelationship path.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/cayenne/map/ObjRelationship.html" title="class in org.apache.cayenne.map">ObjRelationship</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/map/ObjRelationship.html#getReverseRelationship--">getReverseRelationship</a></span>()</code>
<div class="block">Returns a "complimentary" ObjRelationship going in the opposite
direction.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/7/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/cayenne/map/ObjRelationship.html#getReverseRelationshipName--">getReverseRelationshipName</a></span>()</code>
<div class="block">Returns the name of a complimentary relationship going in the opposite
direction or null if it doesn't exist.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/cayenne/map/ObjEntity.html" title="class in org.apache.cayenne.map">ObjEntity</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/map/ObjRelationship.html#getSourceEntity--">getSourceEntity</a></span>()</code>
<div class="block">Returns relationship source entity.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/cayenne/map/ObjEntity.html" title="class in org.apache.cayenne.map">ObjEntity</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/map/ObjRelationship.html#getTargetEntity--">getTargetEntity</a></span>()</code>
<div class="block">Returns a target ObjEntity of this relationship.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/map/ObjRelationship.html#isFlattened--">isFlattened</a></span>()</code>
<div class="block">Returns true if the relationship is a "flattened" relationship.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/map/ObjRelationship.html#isMandatory--">isMandatory</a></span>()</code>
<div class="block">Returns if relationship is mandatory</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/map/ObjRelationship.html#isOptional--">isOptional</a></span>()</code>
<div class="block">Returns a boolean indicating whether the presence of a non-null source
key(s) will not guarantee a presence of a target record.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/map/ObjRelationship.html#isReadOnly--">isReadOnly</a></span>()</code>
<div class="block">Returns true if the relationship is flattened, but is not of the single
case that can have automatic write support.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/map/ObjRelationship.html#isSourceDefiningTargetPrecenseAndType-org.apache.cayenne.map.EntityResolver-">isSourceDefiningTargetPrecenseAndType</a></span>(<a href="../../../../org/apache/cayenne/map/EntityResolver.html" title="class in org.apache.cayenne.map">EntityResolver</a>&nbsp;entityResolver)</code>
<div class="block">Returns true if the relationship is non-optional and target has no
subclasses.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/map/ObjRelationship.html#isSourceIndependentFromTargetChange--">isSourceIndependentFromTargetChange</a></span>()</code>
<div class="block">Returns a boolean indicating whether modifying a target of such
relationship in any way will not change the underlying table row of the
source.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/map/ObjRelationship.html#isToDependentEntity--">isToDependentEntity</a></span>()</code>
<div class="block">Returns true if underlying DbRelationships point to dependent entity.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/map/ObjRelationship.html#isToMany--">isToMany</a></span>()</code>
<div class="block">Returns a boolean value that determines relationship multiplicity.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/map/ObjRelationship.html#isToPK--">isToPK</a></span>()</code>
<div class="block">Returns true if the underlying DbRelationships point to a at least one of
the columns of the target entity.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/map/ObjRelationship.html#isUsedForLocking--">isUsedForLocking</a></span>()</code>
<div class="block">Returns whether this attribute should be used for locking.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/map/ObjRelationship.html#recalculateReadOnlyValue--">recalculateReadOnlyValue</a></span>()</code>
<div class="block">Recalculates a new readonly value based on the underlying
DbRelationships.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/map/ObjRelationship.html#recalculateToManyValue--">recalculateToManyValue</a></span>()</code>
<div class="block">Recalculates whether a relationship is toMany or toOne, based on the
underlying db relationships.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/map/ObjRelationship.html#removeDbRelationship-org.apache.cayenne.map.DbRelationship-">removeDbRelationship</a></span>(<a href="../../../../org/apache/cayenne/map/DbRelationship.html" title="class in org.apache.cayenne.map">DbRelationship</a>&nbsp;dbRel)</code>
<div class="block">Removes the relationship <code>dbRel</code> from the list of
relationships.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/map/ObjRelationship.html#setCollectionType-java.lang.String-">setCollectionType</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;collectionType)</code>&nbsp;</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/map/ObjRelationship.html#setDbRelationshipPath-java.lang.String-">setDbRelationshipPath</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;relationshipPath)</code>
<div class="block">Sets mapped DbRelationships as a dot-separated path.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/map/ObjRelationship.html#setDeleteRule-int-">setDeleteRule</a></span>(int&nbsp;value)</code>
<div class="block">Sets the delete rule of the relationship.</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/map/ObjRelationship.html#setMapKey-java.lang.String-">setMapKey</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;mapKey)</code>&nbsp;</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/cayenne/map/ObjRelationship.html#setUsedForLocking-boolean-">setUsedForLocking</a></span>(boolean&nbsp;usedForLocking)</code>
<div class="block">Sets whether this attribute should be used for locking.</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/7/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/cayenne/map/ObjRelationship.html#toString--">toString</a></span>()</code>
<div class="block">Overrides Object.toString() to return informative description.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.cayenne.map.Relationship">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.cayenne.map.<a href="../../../../org/apache/cayenne/map/Relationship.html" title="class in org.apache.cayenne.map">Relationship</a></h3>
<code><a href="../../../../org/apache/cayenne/map/Relationship.html#getName--">getName</a>, <a href="../../../../org/apache/cayenne/map/Relationship.html#getParent--">getParent</a>, <a href="../../../../org/apache/cayenne/map/Relationship.html#getTargetEntityName--">getTargetEntityName</a>, <a href="../../../../org/apache/cayenne/map/Relationship.html#isRuntime--">isRuntime</a>, <a href="../../../../org/apache/cayenne/map/Relationship.html#setName-java.lang.String-">setName</a>, <a href="../../../../org/apache/cayenne/map/Relationship.html#setParent-java.lang.Object-">setParent</a>, <a href="../../../../org/apache/cayenne/map/Relationship.html#setRuntime-boolean-">setRuntime</a>, <a href="../../../../org/apache/cayenne/map/Relationship.html#setSourceEntity-org.apache.cayenne.map.Entity-">setSourceEntity</a>, <a href="../../../../org/apache/cayenne/map/Relationship.html#setTargetEntityName-org.apache.cayenne.map.Entity-">setTargetEntityName</a>, <a href="../../../../org/apache/cayenne/map/Relationship.html#setTargetEntityName-java.lang.String-">setTargetEntityName</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</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="DEFAULT_COLLECTION_TYPE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_COLLECTION_TYPE</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> DEFAULT_COLLECTION_TYPE</pre>
<div class="block">Denotes a default type of to-many relationship collection which is a Java
List.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>3.0</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.cayenne.map.ObjRelationship.DEFAULT_COLLECTION_TYPE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="deleteRule">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deleteRule</h4>
<pre>protected&nbsp;int deleteRule</pre>
</li>
</ul>
<a name="usedForLocking">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>usedForLocking</h4>
<pre>protected&nbsp;boolean usedForLocking</pre>
</li>
</ul>
<a name="dbRelationships">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dbRelationships</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/7/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/DbRelationship.html" title="class in org.apache.cayenne.map">DbRelationship</a>&gt; dbRelationships</pre>
</li>
</ul>
<a name="collectionType">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>collectionType</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> collectionType</pre>
<div class="block">Stores the type of collection mapped by a to-many relationship. Null for
to-one relationships.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>3.0</dd>
</dl>
</li>
</ul>
<a name="mapKey">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>mapKey</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> mapKey</pre>
<div class="block">Stores a property name of a target entity used to create a relationship
map. Only has effect if collectionType property is set to
"java.util.Map".</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>3.0</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="ObjRelationship--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ObjRelationship</h4>
<pre>public&nbsp;ObjRelationship()</pre>
</li>
</ul>
<a name="ObjRelationship-java.lang.String-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ObjRelationship</h4>
<pre>public&nbsp;ObjRelationship(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getSourceEntity--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSourceEntity</h4>
<pre>public&nbsp;<a href="../../../../org/apache/cayenne/map/ObjEntity.html" title="class in org.apache.cayenne.map">ObjEntity</a>&nbsp;getSourceEntity()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/cayenne/map/Relationship.html#getSourceEntity--">Relationship</a></code></span></div>
<div class="block">Returns relationship source entity.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/cayenne/map/Relationship.html#getSourceEntity--">getSourceEntity</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/cayenne/map/Relationship.html" title="class in org.apache.cayenne.map">Relationship</a></code></dd>
</dl>
</li>
</ul>
<a name="acceptVisitor-org.apache.cayenne.configuration.ConfigurationNodeVisitor-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>acceptVisitor</h4>
<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;acceptVisitor(<a href="../../../../org/apache/cayenne/configuration/ConfigurationNodeVisitor.html" title="interface in org.apache.cayenne.configuration">ConfigurationNodeVisitor</a>&lt;T&gt;&nbsp;visitor)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/cayenne/configuration/ConfigurationNode.html#acceptVisitor-org.apache.cayenne.configuration.ConfigurationNodeVisitor-">acceptVisitor</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/cayenne/configuration/ConfigurationNode.html" title="interface in org.apache.cayenne.configuration">ConfigurationNode</a></code></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>3.1</dd>
</dl>
</li>
</ul>
<a name="encodeAsXML-org.apache.cayenne.util.XMLEncoder-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>encodeAsXML</h4>
<pre>public&nbsp;void&nbsp;encodeAsXML(<a href="../../../../org/apache/cayenne/util/XMLEncoder.html" title="class in org.apache.cayenne.util">XMLEncoder</a>&nbsp;encoder)</pre>
<div class="block">Prints itself as XML to the provided XMLEncoder.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/cayenne/util/XMLSerializable.html#encodeAsXML-org.apache.cayenne.util.XMLEncoder-">encodeAsXML</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/cayenne/util/XMLSerializable.html" title="interface in org.apache.cayenne.util">XMLSerializable</a></code></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.1</dd>
</dl>
</li>
</ul>
<a name="getTargetEntity--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTargetEntity</h4>
<pre>public&nbsp;<a href="../../../../org/apache/cayenne/map/ObjEntity.html" title="class in org.apache.cayenne.map">ObjEntity</a>&nbsp;getTargetEntity()</pre>
<div class="block">Returns a target ObjEntity of this relationship. Entity is looked up in
the parent DataMap using "targetEntityName".</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/cayenne/map/Relationship.html#getTargetEntity--">getTargetEntity</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/cayenne/map/Relationship.html" title="class in org.apache.cayenne.map">Relationship</a></code></dd>
</dl>
</li>
</ul>
<a name="getReverseRelationshipName--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReverseRelationshipName</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getReverseRelationshipName()</pre>
<div class="block">Returns the name of a complimentary relationship going in the opposite
direction or null if it doesn't exist.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.2</dd>
</dl>
</li>
</ul>
<a name="getReverseRelationship--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReverseRelationship</h4>
<pre>public&nbsp;<a href="../../../../org/apache/cayenne/map/ObjRelationship.html" title="class in org.apache.cayenne.map">ObjRelationship</a>&nbsp;getReverseRelationship()</pre>
<div class="block">Returns a "complimentary" ObjRelationship going in the opposite
direction. Returns null if no such relationship is found.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/cayenne/map/Relationship.html#getReverseRelationship--">getReverseRelationship</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/cayenne/map/Relationship.html" title="class in org.apache.cayenne.map">Relationship</a></code></dd>
</dl>
</li>
</ul>
<a name="createReverseRelationship--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createReverseRelationship</h4>
<pre>public&nbsp;<a href="../../../../org/apache/cayenne/map/ObjRelationship.html" title="class in org.apache.cayenne.map">ObjRelationship</a>&nbsp;createReverseRelationship()</pre>
<div class="block">Creates a complimentary reverse relationship from target entity to the
source entity. A new relationship is created regardless of whether one
already exists. Returned relationship is not attached to the source
entity and has no name. Throws a <a href="../../../../org/apache/cayenne/CayenneRuntimeException.html" title="class in org.apache.cayenne"><code>CayenneRuntimeException</code></a> if
reverse DbRelationship is not mapped.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>3.0</dd>
</dl>
</li>
</ul>
<a name="getDbRelationships--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDbRelationships</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/7/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/DbRelationship.html" title="class in org.apache.cayenne.map">DbRelationship</a>&gt;&nbsp;getDbRelationships()</pre>
<div class="block">Returns an immutable list of underlying DbRelationships.</div>
</li>
</ul>
<a name="addDbRelationship-org.apache.cayenne.map.DbRelationship-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addDbRelationship</h4>
<pre>public&nbsp;void&nbsp;addDbRelationship(<a href="../../../../org/apache/cayenne/map/DbRelationship.html" title="class in org.apache.cayenne.map">DbRelationship</a>&nbsp;dbRel)</pre>
<div class="block">Appends a DbRelationship to the existing list of DbRelationships.</div>
</li>
</ul>
<a name="removeDbRelationship-org.apache.cayenne.map.DbRelationship-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeDbRelationship</h4>
<pre>public&nbsp;void&nbsp;removeDbRelationship(<a href="../../../../org/apache/cayenne/map/DbRelationship.html" title="class in org.apache.cayenne.map">DbRelationship</a>&nbsp;dbRel)</pre>
<div class="block">Removes the relationship <code>dbRel</code> from the list of
relationships.</div>
</li>
</ul>
<a name="clearDbRelationships--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clearDbRelationships</h4>
<pre>public&nbsp;void&nbsp;clearDbRelationships()</pre>
</li>
</ul>
<a name="isOptional--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isOptional</h4>
<pre>public&nbsp;boolean&nbsp;isOptional()</pre>
<div class="block">Returns a boolean indicating whether the presence of a non-null source
key(s) will not guarantee a presence of a target record. PK..FK
relationships are all optional, but there are other more subtle cases,
such as PK..PK, etc.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>3.0</dd>
</dl>
</li>
</ul>
<a name="isSourceDefiningTargetPrecenseAndType-org.apache.cayenne.map.EntityResolver-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSourceDefiningTargetPrecenseAndType</h4>
<pre>public&nbsp;boolean&nbsp;isSourceDefiningTargetPrecenseAndType(<a href="../../../../org/apache/cayenne/map/EntityResolver.html" title="class in org.apache.cayenne.map">EntityResolver</a>&nbsp;entityResolver)</pre>
<div class="block">Returns true if the relationship is non-optional and target has no
subclasses.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>3.0</dd>
</dl>
</li>
</ul>
<a name="isSourceIndependentFromTargetChange--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSourceIndependentFromTargetChange</h4>
<pre>public&nbsp;boolean&nbsp;isSourceIndependentFromTargetChange()</pre>
<div class="block">Returns a boolean indicating whether modifying a target of such
relationship in any way will not change the underlying table row of the
source.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.1</dd>
</dl>
</li>
</ul>
<a name="isToDependentEntity--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isToDependentEntity</h4>
<pre>public&nbsp;boolean&nbsp;isToDependentEntity()</pre>
<div class="block">Returns true if underlying DbRelationships point to dependent entity.</div>
</li>
</ul>
<a name="isToPK--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isToPK</h4>
<pre>public&nbsp;boolean&nbsp;isToPK()</pre>
<div class="block">Returns true if the underlying DbRelationships point to a at least one of
the columns of the target entity.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.1</dd>
</dl>
</li>
</ul>
<a name="isFlattened--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isFlattened</h4>
<pre>public&nbsp;boolean&nbsp;isFlattened()</pre>
<div class="block">Returns true if the relationship is a "flattened" relationship. A
relationship is considered "flattened" if it maps to more than one
DbRelationship. Such chain of DbRelationships is also called
"relationship path". All flattened relationships are at least readable,
but only those formed across a many-many join table (with no custom
attributes other than foreign keys) can be automatically written.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>flag indicating if the relationship is flattened or not.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/cayenne/map/ObjRelationship.html#isReadOnly--"><code>isReadOnly()</code></a></dd>
</dl>
</li>
</ul>
<a name="isReadOnly--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isReadOnly</h4>
<pre>public&nbsp;boolean&nbsp;isReadOnly()</pre>
<div class="block">Returns true if the relationship is flattened, but is not of the single
case that can have automatic write support. Otherwise, it returns false.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>flag indicating if the relationship is read only or not</dd>
</dl>
</li>
</ul>
<a name="isToMany--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isToMany</h4>
<pre>public&nbsp;boolean&nbsp;isToMany()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/cayenne/map/Relationship.html#isToMany--">Relationship</a></code></span></div>
<div class="block">Returns a boolean value that determines relationship multiplicity. This defines
semantics of the connection between two nodes described by the source and target
entities. E.g. to-many relationship between two Persistent object classes means
that a source object would have a collection of target objects. This is a read-only
property.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/cayenne/map/Relationship.html#isToMany--">isToMany</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/cayenne/map/Relationship.html" title="class in org.apache.cayenne.map">Relationship</a></code></dd>
</dl>
</li>
</ul>
<a name="getDeleteRule--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDeleteRule</h4>
<pre>public&nbsp;int&nbsp;getDeleteRule()</pre>
<div class="block">Returns the deleteRule. The delete rule is a constant from the DeleteRule
class, and specifies what should happen to the destination object when
the source object is deleted.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>int a constant from DeleteRule</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/cayenne/map/ObjRelationship.html#setDeleteRule-int-"><code>setDeleteRule(int)</code></a></dd>
</dl>
</li>
</ul>
<a name="setDeleteRule-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDeleteRule</h4>
<pre>public&nbsp;void&nbsp;setDeleteRule(int&nbsp;value)</pre>
<div class="block">Sets the delete rule of the relationship.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - New delete rule. Must be one of the constants defined in
DeleteRule class.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the value is not a valid delete rule.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/cayenne/map/DeleteRule.html" title="class in org.apache.cayenne.map"><code>DeleteRule</code></a></dd>
</dl>
</li>
</ul>
<a name="isUsedForLocking--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isUsedForLocking</h4>
<pre>public&nbsp;boolean&nbsp;isUsedForLocking()</pre>
<div class="block">Returns whether this attribute should be used for locking.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.1</dd>
</dl>
</li>
</ul>
<a name="setUsedForLocking-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setUsedForLocking</h4>
<pre>public&nbsp;void&nbsp;setUsedForLocking(boolean&nbsp;usedForLocking)</pre>
<div class="block">Sets whether this attribute should be used for locking.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.1</dd>
</dl>
</li>
</ul>
<a name="getDbRelationshipPath--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDbRelationshipPath</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getDbRelationshipPath()</pre>
<div class="block">Returns a dot-separated path over mapped DbRelationships.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.1</dd>
</dl>
</li>
</ul>
<a name="getReverseDbRelationshipPath--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReverseDbRelationshipPath</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getReverseDbRelationshipPath()
throws <a href="../../../../org/apache/cayenne/exp/ExpressionException.html" title="class in org.apache.cayenne.exp">ExpressionException</a></pre>
<div class="block">Returns a reversed dbRelationship path.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/cayenne/exp/ExpressionException.html" title="class in org.apache.cayenne.exp">ExpressionException</a></code></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.2</dd>
</dl>
</li>
</ul>
<a name="setDbRelationshipPath-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDbRelationshipPath</h4>
<pre>public&nbsp;void&nbsp;setDbRelationshipPath(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;relationshipPath)</pre>
<div class="block">Sets mapped DbRelationships as a dot-separated path.</div>
</li>
</ul>
<a name="recalculateToManyValue--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>recalculateToManyValue</h4>
<pre>public&nbsp;void&nbsp;recalculateToManyValue()</pre>
<div class="block">Recalculates whether a relationship is toMany or toOne, based on the
underlying db relationships.</div>
</li>
</ul>
<a name="recalculateReadOnlyValue--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>recalculateReadOnlyValue</h4>
<pre>public&nbsp;void&nbsp;recalculateReadOnlyValue()</pre>
<div class="block">Recalculates a new readonly value based on the underlying
DbRelationships.</div>
</li>
</ul>
<a name="toString--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/cayenne/map/Relationship.html#toString--">Relationship</a></code></span></div>
<div class="block">Overrides Object.toString() to return informative description.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/cayenne/map/Relationship.html#toString--">toString</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/cayenne/map/Relationship.html" title="class in org.apache.cayenne.map">Relationship</a></code></dd>
</dl>
</li>
</ul>
<a name="getClientRelationship--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getClientRelationship</h4>
<pre>public&nbsp;<a href="../../../../org/apache/cayenne/map/ObjRelationship.html" title="class in org.apache.cayenne.map">ObjRelationship</a>&nbsp;getClientRelationship()</pre>
<div class="block">Returns an ObjAttribute stripped of any server-side information, such as
DbAttribute mapping.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.2</dd>
</dl>
</li>
</ul>
<a name="getCollectionType--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCollectionType</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getCollectionType()</pre>
<div class="block">Returns the interface of collection mapped by a to-many relationship.
Returns null for to-one relationships. Default for to-many is
"java.util.List". Other possible values are "java.util.Set",
"java.util.Collection", "java.util.Map".</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>3.0</dd>
</dl>
</li>
</ul>
<a name="setCollectionType-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCollectionType</h4>
<pre>public&nbsp;void&nbsp;setCollectionType(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;collectionType)</pre>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>3.0</dd>
</dl>
</li>
</ul>
<a name="getMapKey--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMapKey</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getMapKey()</pre>
<div class="block">Returns a property name of a target entity used to create a relationship
map. Only has effect if collectionType property is set to
"java.util.Map".</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The attribute name used for the map key or <code>null</code> if
the default (PK) is used as the map key.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>3.0</dd>
</dl>
</li>
</ul>
<a name="setMapKey-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMapKey</h4>
<pre>public&nbsp;void&nbsp;setMapKey(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;mapKey)</pre>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>3.0</dd>
</dl>
</li>
</ul>
<a name="isMandatory--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>isMandatory</h4>
<pre>public&nbsp;boolean&nbsp;isMandatory()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/cayenne/map/Relationship.html#isMandatory--">Relationship</a></code></span></div>
<div class="block">Returns if relationship is mandatory</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/cayenne/map/Relationship.html#isMandatory--">isMandatory</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/cayenne/map/Relationship.html" title="class in org.apache.cayenne.map">Relationship</a></code></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/ObjRelationship.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/map/ObjEntity.html" title="class in org.apache.cayenne.map"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/cayenne/map/PathComponent.html" title="interface in org.apache.cayenne.map"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/cayenne/map/ObjRelationship.html" target="_top">Frames</a></li>
<li><a href="ObjRelationship.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><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&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;2019 <a href="http://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
</body>
</html>