<!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_92) on Wed Dec 06 14:36:23 CET 2017 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JPAEdmAssociationEndView (olingo-odata2-parent 2.0.10 API)</title>
<meta name="date" content="2017-12-06">
<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="JPAEdmAssociationEndView (olingo-odata2-parent 2.0.10 API)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= 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/JPAEdmAssociationEndView.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>Prev&nbsp;Class</li>
<li><a href="../../../../../../../../org/apache/olingo/odata2/jpa/processor/api/model/JPAEdmAssociationSetView.html" title="interface in org.apache.olingo.odata2.jpa.processor.api.model"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../../index.html?org/apache/olingo/odata2/jpa/processor/api/model/JPAEdmAssociationEndView.html" target="_top">Frames</a></li>
<li><a href="JPAEdmAssociationEndView.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.olingo.odata2.jpa.processor.api.model</div>
<h2 title="Interface JPAEdmAssociationEndView" class="title">Interface JPAEdmAssociationEndView</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="../../../../../../../../org/apache/olingo/odata2/jpa/processor/api/model/JPAEdmBaseView.html" title="interface in org.apache.olingo.odata2.jpa.processor.api.model">JPAEdmBaseView</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">JPAEdmAssociationEndView</span>
extends <a href="../../../../../../../../org/apache/olingo/odata2/jpa/processor/api/model/JPAEdmBaseView.html" title="interface in org.apache.olingo.odata2.jpa.processor.api.model">JPAEdmBaseView</a></pre>
<div class="block"><p>
 A view on Java Persistence Entity Relationship and Entity Data Model
 Association End.
 </p>
 <p>
 The implementation of the view provides access to EDM Association Ends
 created from Java Persistence Entity Relationships. The implementation acts
 as a container for Association Ends.
 </p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../../org/apache/olingo/odata2/jpa/processor/api/model/JPAEdmAssociationView.html" title="interface in org.apache.olingo.odata2.jpa.processor.api.model"><code>JPAEdmAssociationView</code></a></dd>
<dt><span class="simpleTagLabel">Do not implement this interface or derive from class.</span></dt>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/olingo/odata2/jpa/processor/api/model/JPAEdmAssociationEndView.html#compare-org.apache.olingo.odata2.api.edm.provider.AssociationEnd-org.apache.olingo.odata2.api.edm.provider.AssociationEnd-">compare</a></span>(<a href="../../../../../../../../org/apache/olingo/odata2/api/edm/provider/AssociationEnd.html" title="class in org.apache.olingo.odata2.api.edm.provider">AssociationEnd</a>&nbsp;end1,
       <a href="../../../../../../../../org/apache/olingo/odata2/api/edm/provider/AssociationEnd.html" title="class in org.apache.olingo.odata2.api.edm.provider">AssociationEnd</a>&nbsp;end2)</code>
<div class="block">The method compares two ends {<b>end1, end2</b>} of an
 <a href="../../../../../../../../org/apache/olingo/odata2/api/edm/provider/AssociationEnd.html" title="class in org.apache.olingo.odata2.api.edm.provider"><code>AssociationEnd</code></a> against its
 two ends.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../../../org/apache/olingo/odata2/api/edm/provider/AssociationEnd.html" title="class in org.apache.olingo.odata2.api.edm.provider">AssociationEnd</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/olingo/odata2/jpa/processor/api/model/JPAEdmAssociationEndView.html#getEdmAssociationEnd1--">getEdmAssociationEnd1</a></span>()</code>
<div class="block">The method gets the other association end present in the container.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../../../../../org/apache/olingo/odata2/api/edm/provider/AssociationEnd.html" title="class in org.apache.olingo.odata2.api.edm.provider">AssociationEnd</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/olingo/odata2/jpa/processor/api/model/JPAEdmAssociationEndView.html#getEdmAssociationEnd2--">getEdmAssociationEnd2</a></span>()</code>
<div class="block">The method gets the one of the association ends present in the container.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/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/olingo/odata2/jpa/processor/api/model/JPAEdmAssociationEndView.html#getJoinColumnNames--">getJoinColumnNames</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/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/olingo/odata2/jpa/processor/api/model/JPAEdmAssociationEndView.html#getJoinColumnReferenceColumnNames--">getJoinColumnReferenceColumnNames</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/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/olingo/odata2/jpa/processor/api/model/JPAEdmAssociationEndView.html#getMappedByName--">getMappedByName</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/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/olingo/odata2/jpa/processor/api/model/JPAEdmAssociationEndView.html#getOwningPropertyName--">getOwningPropertyName</a></span>()</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.olingo.odata2.jpa.processor.api.model.JPAEdmBaseView">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.olingo.odata2.jpa.processor.api.model.<a href="../../../../../../../../org/apache/olingo/odata2/jpa/processor/api/model/JPAEdmBaseView.html" title="interface in org.apache.olingo.odata2.jpa.processor.api.model">JPAEdmBaseView</a></h3>
<code><a href="../../../../../../../../org/apache/olingo/odata2/jpa/processor/api/model/JPAEdmBaseView.html#clean--">clean</a>, <a href="../../../../../../../../org/apache/olingo/odata2/jpa/processor/api/model/JPAEdmBaseView.html#getBuilder--">getBuilder</a>, <a href="../../../../../../../../org/apache/olingo/odata2/jpa/processor/api/model/JPAEdmBaseView.html#getJPAEdmExtension--">getJPAEdmExtension</a>, <a href="../../../../../../../../org/apache/olingo/odata2/jpa/processor/api/model/JPAEdmBaseView.html#getJPAEdmMappingModelAccess--">getJPAEdmMappingModelAccess</a>, <a href="../../../../../../../../org/apache/olingo/odata2/jpa/processor/api/model/JPAEdmBaseView.html#getJPAMetaModel--">getJPAMetaModel</a>, <a href="../../../../../../../../org/apache/olingo/odata2/jpa/processor/api/model/JPAEdmBaseView.html#getpUnitName--">getpUnitName</a>, <a href="../../../../../../../../org/apache/olingo/odata2/jpa/processor/api/model/JPAEdmBaseView.html#isConsistent--">isConsistent</a>, <a href="../../../../../../../../org/apache/olingo/odata2/jpa/processor/api/model/JPAEdmBaseView.html#isDefaultNamingSkipped--">isDefaultNamingSkipped</a></code></li>
</ul>
</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="getEdmAssociationEnd2--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEdmAssociationEnd2</h4>
<pre><a href="../../../../../../../../org/apache/olingo/odata2/api/edm/provider/AssociationEnd.html" title="class in org.apache.olingo.odata2.api.edm.provider">AssociationEnd</a>&nbsp;getEdmAssociationEnd2()</pre>
<div class="block">The method gets the one of the association ends present in the container.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>one of the <a href="../../../../../../../../org/apache/olingo/odata2/api/edm/provider/AssociationEnd.html" title="class in org.apache.olingo.odata2.api.edm.provider"><code>AssociationEnd</code></a> for an
 <a href="../../../../../../../../org/apache/olingo/odata2/api/edm/provider/Association.html" title="class in org.apache.olingo.odata2.api.edm.provider"><code>Association</code></a></dd>
</dl>
</li>
</ul>
<a name="getEdmAssociationEnd1--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEdmAssociationEnd1</h4>
<pre><a href="../../../../../../../../org/apache/olingo/odata2/api/edm/provider/AssociationEnd.html" title="class in org.apache.olingo.odata2.api.edm.provider">AssociationEnd</a>&nbsp;getEdmAssociationEnd1()</pre>
<div class="block">The method gets the other association end present in the container.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>one of the <a href="../../../../../../../../org/apache/olingo/odata2/api/edm/provider/AssociationEnd.html" title="class in org.apache.olingo.odata2.api.edm.provider"><code>AssociationEnd</code></a> for an
 <a href="../../../../../../../../org/apache/olingo/odata2/api/edm/provider/Association.html" title="class in org.apache.olingo.odata2.api.edm.provider"><code>Association</code></a></dd>
</dl>
</li>
</ul>
<a name="compare-org.apache.olingo.odata2.api.edm.provider.AssociationEnd-org.apache.olingo.odata2.api.edm.provider.AssociationEnd-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>compare</h4>
<pre>boolean&nbsp;compare(<a href="../../../../../../../../org/apache/olingo/odata2/api/edm/provider/AssociationEnd.html" title="class in org.apache.olingo.odata2.api.edm.provider">AssociationEnd</a>&nbsp;end1,
                <a href="../../../../../../../../org/apache/olingo/odata2/api/edm/provider/AssociationEnd.html" title="class in org.apache.olingo.odata2.api.edm.provider">AssociationEnd</a>&nbsp;end2)</pre>
<div class="block">The method compares two ends {<b>end1, end2</b>} of an
 <a href="../../../../../../../../org/apache/olingo/odata2/api/edm/provider/AssociationEnd.html" title="class in org.apache.olingo.odata2.api.edm.provider"><code>AssociationEnd</code></a> against its
 two ends.
 
 The Method compares the following properties in each end for equality <i>
 <ul>
 <li><a href="../../../../../../../../org/apache/olingo/odata2/api/edm/FullQualifiedName.html" title="class in org.apache.olingo.odata2.api.edm"><code>FullQualifiedName</code></a> of End Type</li>
 <li><a href="../../../../../../../../org/apache/olingo/odata2/api/edm/EdmMultiplicity.html" title="enum in org.apache.olingo.odata2.api.edm"><code>EdmMultiplicity</code></a> of End</li>
 </ul>
 </i></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>end1</code> - one end of type <a href="../../../../../../../../org/apache/olingo/odata2/api/edm/provider/AssociationEnd.html" title="class in org.apache.olingo.odata2.api.edm.provider"><code>AssociationEnd</code></a> of
 an <a href="../../../../../../../../org/apache/olingo/odata2/api/edm/provider/Association.html" title="class in org.apache.olingo.odata2.api.edm.provider"><code>Association</code></a></dd>
<dd><code>end2</code> - other end of type <a href="../../../../../../../../org/apache/olingo/odata2/api/edm/provider/AssociationEnd.html" title="class in org.apache.olingo.odata2.api.edm.provider"><code>AssociationEnd</code></a> of
 an <a href="../../../../../../../../org/apache/olingo/odata2/api/edm/provider/Association.html" title="class in org.apache.olingo.odata2.api.edm.provider"><code>Association</code></a> <p></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><ul>
 <li><i>true</i> - Only if the properties of <b>end1</b> matches
 with all the properties of any one end and only if the properties
 of <b>end2</b> matches with all the properties of the remaining
 end</li> <li><i>false</i> - Otherwise</li>
 </ul></dd>
</dl>
</li>
</ul>
<a name="getJoinColumnNames--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getJoinColumnNames</h4>
<pre><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;getJoinColumnNames()</pre>
</li>
</ul>
<a name="getJoinColumnReferenceColumnNames--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getJoinColumnReferenceColumnNames</h4>
<pre><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;getJoinColumnReferenceColumnNames()</pre>
</li>
</ul>
<a name="getMappedByName--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMappedByName</h4>
<pre><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getMappedByName()</pre>
</li>
</ul>
<a name="getOwningPropertyName--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getOwningPropertyName</h4>
<pre><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getOwningPropertyName()</pre>
</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/JPAEdmAssociationEndView.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>Prev&nbsp;Class</li>
<li><a href="../../../../../../../../org/apache/olingo/odata2/jpa/processor/api/model/JPAEdmAssociationSetView.html" title="interface in org.apache.olingo.odata2.jpa.processor.api.model"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../../index.html?org/apache/olingo/odata2/jpa/processor/api/model/JPAEdmAssociationEndView.html" target="_top">Frames</a></li>
<li><a href="JPAEdmAssociationEndView.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2013-2017 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</small></p>
</body>
</html>
