blob: 0666112e22f92e2d41efe3ae0d528a8e8aaa8b53 [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_252) on Fri Jul 16 09:39:11 UTC 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>SDOEqualityHelper (EclipseLink 3.0.2, API Reference)</title>
<meta name="date" content="2021-07-16">
<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="SDOEqualityHelper (EclipseLink 3.0.2, API Reference)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":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="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage">EclipseLink 3.0.2, API Reference</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/eclipse/persistence/sdo/helper/SDODataHelper.html" title="class in org.eclipse.persistence.sdo.helper"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/eclipse/persistence/sdo/helper/SDOFragmentMappingAttributeAccessor.html" title="class in org.eclipse.persistence.sdo.helper"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/eclipse/persistence/sdo/helper/SDOEqualityHelper.html" target="_top">Frames</a></li>
<li><a href="SDOEqualityHelper.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><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>Field&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.eclipse.persistence.sdo.helper</div>
<h2 title="Class SDOEqualityHelper" class="title">Class SDOEqualityHelper</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/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>org.eclipse.persistence.sdo.helper.SDOEqualityHelper</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>commonj.sdo.helper.EqualityHelper</dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">SDOEqualityHelper</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements commonj.sdo.helper.EqualityHelper</pre>
<div class="block"><p><b>Purpose</b>: A helper class for checking deep or shallow equality of DataObjects.</p>
<p>ChangeSummary is not in scope for equality checking.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/persistence/sdo/SDODataObject.html" title="class in org.eclipse.persistence.sdo"><code>SDODataObject</code></a></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>Oracle TopLink 11.1.1.0.0</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>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.commonj.sdo.helper.EqualityHelper">
<!-- -->
</a>
<h3>Fields inherited from interface&nbsp;commonj.sdo.helper.EqualityHelper</h3>
<code>INSTANCE</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/eclipse/persistence/sdo/helper/SDOEqualityHelper.html#SDOEqualityHelper--">SDOEqualityHelper</a></span>()</code>
<div class="block">INTERNAL:
This default constructor must be used in conjunction with the setHelperContext() function.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/sdo/helper/SDOEqualityHelper.html#SDOEqualityHelper-commonj.sdo.helper.HelperContext-">SDOEqualityHelper</a></span>(commonj.sdo.helper.HelperContext&nbsp;aContext)</code>
<div class="block">Constructor that takes in a HelperContext instance that contains this equalityHelper.<br>
This is the recommended constructor.</div>
</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>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/sdo/helper/SDOEqualityHelper.html#equal-commonj.sdo.DataObject-commonj.sdo.DataObject-">equal</a></span>(commonj.sdo.DataObject&nbsp;dataObject1,
commonj.sdo.DataObject&nbsp;dataObject2)</code>
<div class="block">Two DataObjects are equal(Deep) if they are equalShallow,
all their compared Properties are equal, and all reachable DataObjects in their
graphs excluding containers are equal.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/sdo/helper/SDOEqualityHelper.html#equalShallow-commonj.sdo.DataObject-commonj.sdo.DataObject-">equalShallow</a></span>(commonj.sdo.DataObject&nbsp;dataObject1,
commonj.sdo.DataObject&nbsp;dataObject2)</code>
<div class="block">Two DataObjects are equalShallow if
they have the same <code>Type</code>
and all their compared Properties are equal.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>commonj.sdo.helper.HelperContext</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/sdo/helper/SDOEqualityHelper.html#getHelperContext--">getHelperContext</a></span>()</code>
<div class="block">INTERNAL:
Return the helperContext containing this equalityHelper.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/sdo/helper/SDOEqualityHelper.html#setHelperContext-commonj.sdo.helper.HelperContext-">setHelperContext</a></span>(commonj.sdo.helper.HelperContext&nbsp;helperContext)</code>
<div class="block">INTERNAL:
Set the helperContext if this equalityHelper was created using the default constructor.</div>
</td>
</tr>
</table>
<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/8/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/8/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/8/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/8/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/8/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/8/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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/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/8/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/8/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">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="SDOEqualityHelper--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SDOEqualityHelper</h4>
<pre>public&nbsp;SDOEqualityHelper()</pre>
<div class="block">INTERNAL:
This default constructor must be used in conjunction with the setHelperContext() function.
The custom constructor that takes a HelperContext parameter is recommended over this default constructor.</div>
</li>
</ul>
<a name="SDOEqualityHelper-commonj.sdo.helper.HelperContext-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SDOEqualityHelper</h4>
<pre>public&nbsp;SDOEqualityHelper(commonj.sdo.helper.HelperContext&nbsp;aContext)</pre>
<div class="block">Constructor that takes in a HelperContext instance that contains this equalityHelper.<br>
This is the recommended constructor.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>aContext</code> - </dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="equalShallow-commonj.sdo.DataObject-commonj.sdo.DataObject-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>equalShallow</h4>
<pre>public&nbsp;boolean&nbsp;equalShallow(commonj.sdo.DataObject&nbsp;dataObject1,
commonj.sdo.DataObject&nbsp;dataObject2)</pre>
<div class="block"><p>Two DataObjects are equalShallow if
they have the same <code>Type</code>
and all their compared Properties are equal.
The set of Properties compared are the
<code>instance properties</code>
where property.getType().isDataType() is true
and property.getType() is not ChangeSummaryType.
<br>Two of these Property values are equal if they are both not
<code>set</code>, or set to an equal value
dataObject1.get(property).equals(dataObject2.get(property))
<br>If the type is a sequenced type, the sequence entries must be the same.
For each entry x in the sequence where the property is used in the comparison,
dataObject1.getSequence().getValue(x).equals(
dataObject2.getSequence().getValue(x)) and
dataObject1.getSequence().getProperty(x) ==
dataObject2.getSequence().getProperty(x)
must be true.
</p>
Returns true the objects have the same Type and all values of all compared Properties are equal.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>equalShallow</code>&nbsp;in interface&nbsp;<code>commonj.sdo.helper.EqualityHelper</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dataObject1</code> - DataObject to be compared</dd>
<dd><code>dataObject2</code> - DataObject to be compared</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true the objects have the same Type and all values of all compared Properties are equal.</dd>
</dl>
</li>
</ul>
<a name="equal-commonj.sdo.DataObject-commonj.sdo.DataObject-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>equal</h4>
<pre>public&nbsp;boolean&nbsp;equal(commonj.sdo.DataObject&nbsp;dataObject1,
commonj.sdo.DataObject&nbsp;dataObject2)</pre>
<div class="block"><p>Two DataObjects are equal(Deep) if they are equalShallow,
all their compared Properties are equal, and all reachable DataObjects in their
graphs excluding containers are equal.
The set of Properties compared are the
<code>instance properties</code>
where property.getType().isDataType() is false,
and is not a container property, ie !property.getOpposite().isContainment()
<br>Two of these Property values are equal if they are both not
<code>set</code>, or all the DataObjects
they refer to are <a href="../../../../../org/eclipse/persistence/sdo/helper/SDOEqualityHelper.html#equal-commonj.sdo.DataObject-commonj.sdo.DataObject-"><code>equal</code></a> in the
context of dataObject1 and dataObject2.
<br>Note that properties to a containing DataObject are not compared
which means two DataObject trees can be equal even if their containers are not equal.
<br>If the type is a sequenced type, the sequence entries must be the same.
For each entry x in the sequence where the property is used in the comparison,
equal(dataObject1.getSequence().getValue(x),
dataObject2.getSequence().getValue(x)) and
dataObject1.getSequence().getProperty(x) == dataObject2.getSequence().getProperty(x)
must be true.
</p><p>
A DataObject directly or indirectly referenced by dataObject1 or dataObject2
can only be equal to exactly one DataObject directly or indirectly referenced
by dataObject1 or dataObject2, respectively.
This ensures that dataObject1 and dataObject2 are equal if the graph formed by
all their referenced DataObjects have the same shape.
</p>
Returns true if the trees of DataObjects are equal(Deep).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>equal</code>&nbsp;in interface&nbsp;<code>commonj.sdo.helper.EqualityHelper</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dataObject1</code> - DataObject to be compared</dd>
<dd><code>dataObject2</code> - DataObject to be compared</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the trees of DataObjects are equal(Deep).</dd>
</dl>
</li>
</ul>
<a name="getHelperContext--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHelperContext</h4>
<pre>public&nbsp;commonj.sdo.helper.HelperContext&nbsp;getHelperContext()</pre>
<div class="block">INTERNAL:
Return the helperContext containing this equalityHelper.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
</dl>
</li>
</ul>
<a name="setHelperContext-commonj.sdo.helper.HelperContext-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setHelperContext</h4>
<pre>public&nbsp;void&nbsp;setHelperContext(commonj.sdo.helper.HelperContext&nbsp;helperContext)</pre>
<div class="block">INTERNAL:
Set the helperContext if this equalityHelper was created using the default constructor.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>helperContext</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="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage">EclipseLink 3.0.2, API Reference</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/eclipse/persistence/sdo/helper/SDODataHelper.html" title="class in org.eclipse.persistence.sdo.helper"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/eclipse/persistence/sdo/helper/SDOFragmentMappingAttributeAccessor.html" title="class in org.eclipse.persistence.sdo.helper"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/eclipse/persistence/sdo/helper/SDOEqualityHelper.html" target="_top">Frames</a></li>
<li><a href="SDOEqualityHelper.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><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>Field&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; 2007&#x2013;2021 <a href="http://www.eclipse.org/eclipselink">Eclipse.org - EclipseLink Project</a>. All rights reserved.</small></p>
</body>
</html>