blob: 31e6787bc23a64d813275dfeb64979551912f69d [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (version 1.7.0_75) on Mon May 18 03:56:40 EDT 2015 -->
<title>ProximityEObjectMatcher.DistanceFunction (EMF Compare API Specification)</title>
<meta name="date" content="2015-05-18">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ProximityEObjectMatcher.DistanceFunction (EMF Compare API Specification)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ProximityEObjectMatcher.DistanceFunction.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-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><span style='font-size:small'><b>EMF Compare</b><br>3.2.0.201505180755</span></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/eclipse/emf/compare/match/eobject/ProximityEObjectMatcher.html" title="class in org.eclipse.emf.compare.match.eobject"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../../org/eclipse/emf/compare/match/eobject/ScopeQuery.html" title="interface in org.eclipse.emf.compare.match.eobject"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/eclipse/emf/compare/match/eobject/ProximityEObjectMatcher.DistanceFunction.html" target="_top">Frames</a></li>
<li><a href="ProximityEObjectMatcher.DistanceFunction.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.eclipse.emf.compare.match.eobject</div>
<h2 title="Interface ProximityEObjectMatcher.DistanceFunction" class="title">Interface ProximityEObjectMatcher.DistanceFunction</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../../../org/eclipse/emf/compare/match/eobject/CachingDistance.html" title="class in org.eclipse.emf.compare.match.eobject">CachingDistance</a>, <a href="../../../../../../org/eclipse/emf/compare/match/eobject/EditionDistance.html" title="class in org.eclipse.emf.compare.match.eobject">EditionDistance</a></dd>
</dl>
<dl>
<dt>Enclosing class:</dt>
<dd><a href="../../../../../../org/eclipse/emf/compare/match/eobject/ProximityEObjectMatcher.html" title="class in org.eclipse.emf.compare.match.eobject">ProximityEObjectMatcher</a></dd>
</dl>
<hr>
<br>
<pre>public static interface <span class="strong">ProximityEObjectMatcher.DistanceFunction</span></pre>
<div class="block">This represent a distance function used by the <a href="../../../../../../org/eclipse/emf/compare/match/eobject/ProximityEObjectMatcher.html" title="class in org.eclipse.emf.compare.match.eobject"><code>ProximityEObjectMatcher</code></a> to compare EObjects and
retrieve the closest EObject from one side to another. Axioms of the distance are supposed to be
respected more especially :
<ul>
<li>symetry : dist(a,b) == dist(b,a)</li>
<li>separation :dist(a,a) == 0</li>
</ul>
Triangular inequality is not leveraged with the current implementation but might be at some point to
speed up the indexing. <br/>
computing the distance between two EObjects should be a <b> fast operation</b> or the scalability of
the whole matching phase will be poor.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/eclipse/emf/compare/match/eobject/ProximityEObjectMatcher.DistanceFunction.html#areIdentic(org.eclipse.emf.compare.Comparison,%20org.eclipse.emf.ecore.EObject,%20org.eclipse.emf.ecore.EObject)">areIdentic</a></strong>(<a href="../../../../../../org/eclipse/emf/compare/Comparison.html" title="interface in org.eclipse.emf.compare">Comparison</a>&nbsp;inProgress,
<a href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/EObject.html?is-external=true" title="class or interface in org.eclipse.emf.ecore">EObject</a>&nbsp;a,
<a href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/EObject.html?is-external=true" title="class or interface in org.eclipse.emf.ecore">EObject</a>&nbsp;b)</code>
<div class="block">Check that two objects are equals from the distance function point of view (distance should be 0)
You should prefer this method when you just want to check objects are not equals enabling the
distance to stop sooner.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/eclipse/emf/compare/match/eobject/ProximityEObjectMatcher.DistanceFunction.html#distance(org.eclipse.emf.compare.Comparison,%20org.eclipse.emf.ecore.EObject,%20org.eclipse.emf.ecore.EObject)">distance</a></strong>(<a href="../../../../../../org/eclipse/emf/compare/Comparison.html" title="interface in org.eclipse.emf.compare">Comparison</a>&nbsp;inProgress,
<a href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/EObject.html?is-external=true" title="class or interface in org.eclipse.emf.ecore">EObject</a>&nbsp;a,
<a href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/EObject.html?is-external=true" title="class or interface in org.eclipse.emf.ecore">EObject</a>&nbsp;b)</code>
<div class="block">Return the distance between two EObjects.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="distance(org.eclipse.emf.compare.Comparison, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EObject)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>distance</h4>
<pre>double&nbsp;distance(<a href="../../../../../../org/eclipse/emf/compare/Comparison.html" title="interface in org.eclipse.emf.compare">Comparison</a>&nbsp;inProgress,
<a href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/EObject.html?is-external=true" title="class or interface in org.eclipse.emf.ecore">EObject</a>&nbsp;a,
<a href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/EObject.html?is-external=true" title="class or interface in org.eclipse.emf.ecore">EObject</a>&nbsp;b)</pre>
<div class="block">Return the distance between two EObjects. When the two objects should considered as completely
different the implementation is expected to return Double.MAX_VALUE.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>inProgress</code> - the comparison being processed right now. This might be used for the distance to
retrieve other matches for instance.</dd><dd><code>a</code> - first object.</dd><dd><code>b</code> - second object.</dd>
<dt><span class="strong">Returns:</span></dt><dd>the distance between the two EObjects or Double.MAX_VALUE when the objects are considered
too different to be the same.</dd></dl>
</li>
</ul>
<a name="areIdentic(org.eclipse.emf.compare.Comparison, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EObject)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>areIdentic</h4>
<pre>boolean&nbsp;areIdentic(<a href="../../../../../../org/eclipse/emf/compare/Comparison.html" title="interface in org.eclipse.emf.compare">Comparison</a>&nbsp;inProgress,
<a href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/EObject.html?is-external=true" title="class or interface in org.eclipse.emf.ecore">EObject</a>&nbsp;a,
<a href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/EObject.html?is-external=true" title="class or interface in org.eclipse.emf.ecore">EObject</a>&nbsp;b)</pre>
<div class="block">Check that two objects are equals from the distance function point of view (distance should be 0)
You should prefer this method when you just want to check objects are not equals enabling the
distance to stop sooner.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>inProgress</code> - the comparison being processed right now. This might be used for the distance to
retrieve other matches for instance.</dd><dd><code>a</code> - first object.</dd><dd><code>b</code> - second object.</dd>
<dt><span class="strong">Returns:</span></dt><dd>true of the two objects are equals, false otherwise.</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><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ProximityEObjectMatcher.DistanceFunction.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-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><span style='font-size:small'><b>EMF Compare</b><br>3.2.0.201505180755</span></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/eclipse/emf/compare/match/eobject/ProximityEObjectMatcher.html" title="class in org.eclipse.emf.compare.match.eobject"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../../org/eclipse/emf/compare/match/eobject/ScopeQuery.html" title="interface in org.eclipse.emf.compare.match.eobject"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/eclipse/emf/compare/match/eobject/ProximityEObjectMatcher.DistanceFunction.html" target="_top">Frames</a></li>
<li><a href="ProximityEObjectMatcher.DistanceFunction.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><br><span style='font-size:small;float:right'>Copyright (c) 2006, 2014 Obeo and others. All rights reserved.</span></small></p>
</body>
</html>