<!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:46 EDT 2015 -->
<title>P-Index (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="P-Index (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>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="../overview-tree.html">Tree</a></li>
<li><a href="../deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</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="index-15.html">Prev Letter</a></li>
<li><a href="index-17.html">Next Letter</a></li>
</ul>
<ul class="navList">
<li><a href="../index.html?index-filesindex-16.html" target="_top">Frames</a></li>
<li><a href="index-16.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>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="contentContainer"><a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">J</a>&nbsp;<a href="index-11.html">K</a>&nbsp;<a href="index-12.html">L</a>&nbsp;<a href="index-13.html">M</a>&nbsp;<a href="index-14.html">N</a>&nbsp;<a href="index-15.html">O</a>&nbsp;<a href="index-16.html">P</a>&nbsp;<a href="index-17.html">Q</a>&nbsp;<a href="index-18.html">R</a>&nbsp;<a href="index-19.html">S</a>&nbsp;<a href="index-20.html">T</a>&nbsp;<a href="index-21.html">U</a>&nbsp;<a href="index-22.html">V</a>&nbsp;<a href="index-23.html">W</a>&nbsp;<a name="_P_">
<!--   -->
</a>
<h2 class="title">P</h2>
<dl>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/rcp/ui/internal/preferences/FiltersPreferencePage.html#PAGE_ID">PAGE_ID</a></span> - Static variable in class org.eclipse.emf.compare.rcp.ui.internal.preferences.<a href="../org/eclipse/emf/compare/rcp/ui/internal/preferences/FiltersPreferencePage.html" title="class in org.eclipse.emf.compare.rcp.ui.internal.preferences">FiltersPreferencePage</a></dt>
<dd>
<div class="block">Preference page ID.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/rcp/ui/internal/preferences/GroupsPreferencePage.html#PAGE_ID">PAGE_ID</a></span> - Static variable in class org.eclipse.emf.compare.rcp.ui.internal.preferences.<a href="../org/eclipse/emf/compare/rcp/ui/internal/preferences/GroupsPreferencePage.html" title="class in org.eclipse.emf.compare.rcp.ui.internal.preferences">GroupsPreferencePage</a></dt>
<dd>
<div class="block">Id of the preference page.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/ide/ui/internal/contentmergeviewer/EMFCompareContentMergeViewer.html#paintCenter(org.eclipse.swt.graphics.GC)">paintCenter(GC)</a></span> - Method in class org.eclipse.emf.compare.ide.ui.internal.contentmergeviewer.<a href="../org/eclipse/emf/compare/ide/ui/internal/contentmergeviewer/EMFCompareContentMergeViewer.html" title="class in org.eclipse.emf.compare.ide.ui.internal.contentmergeviewer">EMFCompareContentMergeViewer</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/ide/ui/internal/contentmergeviewer/table/TableContentMergeViewer.html#paintCenter(org.eclipse.swt.graphics.GC)">paintCenter(GC)</a></span> - Method in class org.eclipse.emf.compare.ide.ui.internal.contentmergeviewer.table.<a href="../org/eclipse/emf/compare/ide/ui/internal/contentmergeviewer/table/TableContentMergeViewer.html" title="class in org.eclipse.emf.compare.ide.ui.internal.contentmergeviewer.table">TableContentMergeViewer</a></dt>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/ide/ui/internal/contentmergeviewer/tree/TreeContentMergeViewer.html#paintCenter(org.eclipse.swt.graphics.GC)">paintCenter(GC)</a></span> - Method in class org.eclipse.emf.compare.ide.ui.internal.contentmergeviewer.tree.<a href="../org/eclipse/emf/compare/ide/ui/internal/contentmergeviewer/tree/TreeContentMergeViewer.html" title="class in org.eclipse.emf.compare.ide.ui.internal.contentmergeviewer.tree">TreeContentMergeViewer</a></dt>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/ide/ui/internal/structuremergeviewer/provider/TreeCompareInputAdapterFactory.html#parentAdapterFactory">parentAdapterFactory</a></span> - Variable in class org.eclipse.emf.compare.ide.ui.internal.structuremergeviewer.provider.<a href="../org/eclipse/emf/compare/ide/ui/internal/structuremergeviewer/provider/TreeCompareInputAdapterFactory.html" title="class in org.eclipse.emf.compare.ide.ui.internal.structuremergeviewer.provider">TreeCompareInputAdapterFactory</a></dt>
<dd>
<div class="block">This keeps track of the root adapter factory that delegates to this adapter factory.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/provider/CompareItemProviderAdapterFactory.html#parentAdapterFactory">parentAdapterFactory</a></span> - Variable in class org.eclipse.emf.compare.provider.<a href="../org/eclipse/emf/compare/provider/CompareItemProviderAdapterFactory.html" title="class in org.eclipse.emf.compare.provider">CompareItemProviderAdapterFactory</a></dt>
<dd>
<div class="block">This keeps track of the root adapter factory that delegates to this adapter factory. <!</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/ide/ui/internal/preferences/ModelResolutionPreferencePage.html#performDefaults()">performDefaults()</a></span> - Method in class org.eclipse.emf.compare.ide.ui.internal.preferences.<a href="../org/eclipse/emf/compare/ide/ui/internal/preferences/ModelResolutionPreferencePage.html" title="class in org.eclipse.emf.compare.ide.ui.internal.preferences">ModelResolutionPreferencePage</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/rcp/ui/internal/preferences/AdapterFactoriesPreferencePage.html#performDefaults()">performDefaults()</a></span> - Method in class org.eclipse.emf.compare.rcp.ui.internal.preferences.<a href="../org/eclipse/emf/compare/rcp/ui/internal/preferences/AdapterFactoriesPreferencePage.html" title="class in org.eclipse.emf.compare.rcp.ui.internal.preferences">AdapterFactoriesPreferencePage</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/rcp/ui/internal/preferences/EnginesPreferencePage.html#performDefaults()">performDefaults()</a></span> - Method in class org.eclipse.emf.compare.rcp.ui.internal.preferences.<a href="../org/eclipse/emf/compare/rcp/ui/internal/preferences/EnginesPreferencePage.html" title="class in org.eclipse.emf.compare.rcp.ui.internal.preferences">EnginesPreferencePage</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/rcp/ui/internal/preferences/FiltersPreferencePage.html#performDefaults()">performDefaults()</a></span> - Method in class org.eclipse.emf.compare.rcp.ui.internal.preferences.<a href="../org/eclipse/emf/compare/rcp/ui/internal/preferences/FiltersPreferencePage.html" title="class in org.eclipse.emf.compare.rcp.ui.internal.preferences">FiltersPreferencePage</a></dt>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/rcp/ui/internal/preferences/GroupsPreferencePage.html#performDefaults()">performDefaults()</a></span> - Method in class org.eclipse.emf.compare.rcp.ui.internal.preferences.<a href="../org/eclipse/emf/compare/rcp/ui/internal/preferences/GroupsPreferencePage.html" title="class in org.eclipse.emf.compare.rcp.ui.internal.preferences">GroupsPreferencePage</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/rcp/ui/internal/preferences/LoggingPreferencePage.html#performDefaults()">performDefaults()</a></span> - Method in class org.eclipse.emf.compare.rcp.ui.internal.preferences.<a href="../org/eclipse/emf/compare/rcp/ui/internal/preferences/LoggingPreferencePage.html" title="class in org.eclipse.emf.compare.rcp.ui.internal.preferences">LoggingPreferencePage</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/rcp/ui/internal/preferences/PostProcessorPreferencePage.html#performDefaults()">performDefaults()</a></span> - Method in class org.eclipse.emf.compare.rcp.ui.internal.preferences.<a href="../org/eclipse/emf/compare/rcp/ui/internal/preferences/PostProcessorPreferencePage.html" title="class in org.eclipse.emf.compare.rcp.ui.internal.preferences">PostProcessorPreferencePage</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/rcp/ui/internal/preferences/AdapterFactoriesPreferencePage.html#performOk()">performOk()</a></span> - Method in class org.eclipse.emf.compare.rcp.ui.internal.preferences.<a href="../org/eclipse/emf/compare/rcp/ui/internal/preferences/AdapterFactoriesPreferencePage.html" title="class in org.eclipse.emf.compare.rcp.ui.internal.preferences">AdapterFactoriesPreferencePage</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/rcp/ui/internal/preferences/EnginesPreferencePage.html#performOk()">performOk()</a></span> - Method in class org.eclipse.emf.compare.rcp.ui.internal.preferences.<a href="../org/eclipse/emf/compare/rcp/ui/internal/preferences/EnginesPreferencePage.html" title="class in org.eclipse.emf.compare.rcp.ui.internal.preferences">EnginesPreferencePage</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/rcp/ui/internal/preferences/FiltersPreferencePage.html#performOk()">performOk()</a></span> - Method in class org.eclipse.emf.compare.rcp.ui.internal.preferences.<a href="../org/eclipse/emf/compare/rcp/ui/internal/preferences/FiltersPreferencePage.html" title="class in org.eclipse.emf.compare.rcp.ui.internal.preferences">FiltersPreferencePage</a></dt>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/rcp/ui/internal/preferences/GroupsPreferencePage.html#performOk()">performOk()</a></span> - Method in class org.eclipse.emf.compare.rcp.ui.internal.preferences.<a href="../org/eclipse/emf/compare/rcp/ui/internal/preferences/GroupsPreferencePage.html" title="class in org.eclipse.emf.compare.rcp.ui.internal.preferences">GroupsPreferencePage</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/rcp/ui/internal/preferences/LoggingPreferencePage.html#performOk()">performOk()</a></span> - Method in class org.eclipse.emf.compare.rcp.ui.internal.preferences.<a href="../org/eclipse/emf/compare/rcp/ui/internal/preferences/LoggingPreferencePage.html" title="class in org.eclipse.emf.compare.rcp.ui.internal.preferences">LoggingPreferencePage</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/rcp/ui/internal/preferences/PostProcessorPreferencePage.html#performOk()">performOk()</a></span> - Method in class org.eclipse.emf.compare.rcp.ui.internal.preferences.<a href="../org/eclipse/emf/compare/rcp/ui/internal/preferences/PostProcessorPreferencePage.html" title="class in org.eclipse.emf.compare.rcp.ui.internal.preferences">PostProcessorPreferencePage</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/merge/AttributeChangeMerger.html#performThreeWayTextMerge(java.lang.String,%20java.lang.String,%20java.lang.String)">performThreeWayTextMerge(String, String, String)</a></span> - Method in class org.eclipse.emf.compare.merge.<a href="../org/eclipse/emf/compare/merge/AttributeChangeMerger.html" title="class in org.eclipse.emf.compare.merge">AttributeChangeMerger</a></dt>
<dd>
<div class="block">Performs a three-way text merge for the given <code>origin</code>, <code>left</code>, and <code>right</code> text
 versions.</div>
</dd>
<dt><a href="../org/eclipse/emf/compare/ide/ui/internal/util/PlatformElementUtil.html" title="class in org.eclipse.emf.compare.ide.ui.internal.util"><span class="strong">PlatformElementUtil</span></a> - Class in <a href="../org/eclipse/emf/compare/ide/ui/internal/util/package-summary.html">org.eclipse.emf.compare.ide.ui.internal.util</a></dt>
<dd>
<div class="block">This provides access to commonly used functions for platform elements, such as adaptation or file lookup.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/ide/ui/internal/util/PlatformElementUtil.html#PlatformElementUtil()">PlatformElementUtil()</a></span> - Constructor for class org.eclipse.emf.compare.ide.ui.internal.util.<a href="../org/eclipse/emf/compare/ide/ui/internal/util/PlatformElementUtil.html" title="class in org.eclipse.emf.compare.ide.ui.internal.util">PlatformElementUtil</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/ide/EMFCompareIDEPlugin.html#PLUGIN_ID">PLUGIN_ID</a></span> - Static variable in class org.eclipse.emf.compare.ide.<a href="../org/eclipse/emf/compare/ide/EMFCompareIDEPlugin.html" title="class in org.eclipse.emf.compare.ide">EMFCompareIDEPlugin</a></dt>
<dd>
<div class="block">The plug-in ID.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/ide/ui/internal/EMFCompareIDEUIPlugin.html#PLUGIN_ID">PLUGIN_ID</a></span> - Static variable in class org.eclipse.emf.compare.ide.ui.internal.<a href="../org/eclipse/emf/compare/ide/ui/internal/EMFCompareIDEUIPlugin.html" title="class in org.eclipse.emf.compare.ide.ui.internal">EMFCompareIDEUIPlugin</a></dt>
<dd>
<div class="block">The plugin ID.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/provider/EMFCompareEditPlugin.html#PLUGIN_ID">PLUGIN_ID</a></span> - Static variable in class org.eclipse.emf.compare.provider.<a href="../org/eclipse/emf/compare/provider/EMFCompareEditPlugin.html" title="class in org.eclipse.emf.compare.provider">EMFCompareEditPlugin</a></dt>
<dd>
<div class="block">The plug-in ID.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/rcp/EMFCompareRCPPlugin.html#PLUGIN_ID">PLUGIN_ID</a></span> - Static variable in class org.eclipse.emf.compare.rcp.<a href="../org/eclipse/emf/compare/rcp/EMFCompareRCPPlugin.html" title="class in org.eclipse.emf.compare.rcp">EMFCompareRCPPlugin</a></dt>
<dd>
<div class="block">The plug-in ID.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/rcp/ui/EMFCompareRCPUIPlugin.html#PLUGIN_ID">PLUGIN_ID</a></span> - Static variable in class org.eclipse.emf.compare.rcp.ui.<a href="../org/eclipse/emf/compare/rcp/ui/EMFCompareRCPUIPlugin.html" title="class in org.eclipse.emf.compare.rcp.ui">EMFCompareRCPUIPlugin</a></dt>
<dd>
<div class="block">The plug-in ID.</div>
</dd>
<dt><a href="../org/eclipse/emf/compare/rcp/extension/PluginClassDescriptor.html" title="class in org.eclipse.emf.compare.rcp.extension"><span class="strong">PluginClassDescriptor</span></a>&lt;<a href="../org/eclipse/emf/compare/rcp/extension/PluginClassDescriptor.html" title="type parameter in PluginClassDescriptor">T</a>&gt; - Class in <a href="../org/eclipse/emf/compare/rcp/extension/package-summary.html">org.eclipse.emf.compare.rcp.extension</a></dt>
<dd>
<div class="block">Simple utility class to create proxy of extension that are
 <a href="http://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/core/runtime/IConfigurationElement.html?is-external=true#createExecutableExtension(java.lang.String)" title="class or interface in org.eclipse.core.runtime"><code>instantiable</code></a>.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/rcp/extension/PluginClassDescriptor.html#PluginClassDescriptor(org.eclipse.core.runtime.IConfigurationElement,%20java.lang.String)">PluginClassDescriptor(IConfigurationElement, String)</a></span> - Constructor for class org.eclipse.emf.compare.rcp.extension.<a href="../org/eclipse/emf/compare/rcp/extension/PluginClassDescriptor.html" title="class in org.eclipse.emf.compare.rcp.extension">PluginClassDescriptor</a></dt>
<dd>
<div class="block">Creates a new descriptor for given element keeping the class name to be instantiated in an attribute
 named <code>attributeName</code>.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/ide/ui/internal/logical/resolver/ModelResourceListener.html#popChangedURIs()">popChangedURIs()</a></span> - Method in class org.eclipse.emf.compare.ide.ui.internal.logical.resolver.<a href="../org/eclipse/emf/compare/ide/ui/internal/logical/resolver/ModelResourceListener.html" title="class in org.eclipse.emf.compare.ide.ui.internal.logical.resolver">ModelResourceListener</a></dt>
<dd>
<div class="block">Retrieves the set of all changed URIs since we last updated the dependencies graph, and clears it for
 subsequent calls.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/ide/ui/internal/logical/resolver/ModelResourceListener.html#popRemovedURIs()">popRemovedURIs()</a></span> - Method in class org.eclipse.emf.compare.ide.ui.internal.logical.resolver.<a href="../org/eclipse/emf/compare/ide/ui/internal/logical/resolver/ModelResourceListener.html" title="class in org.eclipse.emf.compare.ide.ui.internal.logical.resolver">ModelResourceListener</a></dt>
<dd>
<div class="block">Retrieves the set of all removed URIs since we last updated the dependencies graph, and clears it for
 subsequent calls.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/rcp/EMFCompareRCPPlugin.html#POST_PROCESSOR_PPID">POST_PROCESSOR_PPID</a></span> - Static variable in class org.eclipse.emf.compare.rcp.<a href="../org/eclipse/emf/compare/rcp/EMFCompareRCPPlugin.html" title="class in org.eclipse.emf.compare.rcp">EMFCompareRCPPlugin</a></dt>
<dd>
<div class="block">The id of the post processor extension point.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/postprocessor/IPostProcessor.html#postComparison(org.eclipse.emf.compare.Comparison,%20org.eclipse.emf.common.util.Monitor)">postComparison(Comparison, Monitor)</a></span> - Method in interface org.eclipse.emf.compare.postprocessor.<a href="../org/eclipse/emf/compare/postprocessor/IPostProcessor.html" title="interface in org.eclipse.emf.compare.postprocessor">IPostProcessor</a></dt>
<dd>
<div class="block">This will be called by EMF Compare in order to execute the specified behavior after a comparison, from
 a <code>comparison</code>.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/postprocessor/IPostProcessor.html#postConflicts(org.eclipse.emf.compare.Comparison,%20org.eclipse.emf.common.util.Monitor)">postConflicts(Comparison, Monitor)</a></span> - Method in interface org.eclipse.emf.compare.postprocessor.<a href="../org/eclipse/emf/compare/postprocessor/IPostProcessor.html" title="interface in org.eclipse.emf.compare.postprocessor">IPostProcessor</a></dt>
<dd>
<div class="block">This will be called by EMF Compare in order to execute the specified behavior after the conflicts step,
 from a <code>comparison</code>.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/postprocessor/IPostProcessor.html#postDiff(org.eclipse.emf.compare.Comparison,%20org.eclipse.emf.common.util.Monitor)">postDiff(Comparison, Monitor)</a></span> - Method in interface org.eclipse.emf.compare.postprocessor.<a href="../org/eclipse/emf/compare/postprocessor/IPostProcessor.html" title="interface in org.eclipse.emf.compare.postprocessor">IPostProcessor</a></dt>
<dd>
<div class="block">This will be called by EMF Compare in order to execute the specified behavior after the difference
 step, from a <code>comparison</code>.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/postprocessor/IPostProcessor.html#postEquivalences(org.eclipse.emf.compare.Comparison,%20org.eclipse.emf.common.util.Monitor)">postEquivalences(Comparison, Monitor)</a></span> - Method in interface org.eclipse.emf.compare.postprocessor.<a href="../org/eclipse/emf/compare/postprocessor/IPostProcessor.html" title="interface in org.eclipse.emf.compare.postprocessor">IPostProcessor</a></dt>
<dd>
<div class="block">This will be called by EMF Compare in order to execute the specified behavior after the equivalences
 step, from a <code>comparison</code>.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/ide/hook/AbstractResourceSetHooks.html#postLoadingHook(org.eclipse.emf.ecore.resource.ResourceSet,%20java.util.Collection)">postLoadingHook(ResourceSet, Collection&lt;? extends URI&gt;)</a></span> - Method in class org.eclipse.emf.compare.ide.hook.<a href="../org/eclipse/emf/compare/ide/hook/AbstractResourceSetHooks.html" title="class in org.eclipse.emf.compare.ide.hook">AbstractResourceSetHooks</a></dt>
<dd>
<div class="block">This will be called after the resource set is populated in an unspecified order.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/ide/hook/IResourceSetHook.html#postLoadingHook(org.eclipse.emf.ecore.resource.ResourceSet,%20java.util.Collection)">postLoadingHook(ResourceSet, Collection&lt;? extends URI&gt;)</a></span> - Method in interface org.eclipse.emf.compare.ide.hook.<a href="../org/eclipse/emf/compare/ide/hook/IResourceSetHook.html" title="interface in org.eclipse.emf.compare.ide.hook">IResourceSetHook</a></dt>
<dd>
<div class="block">This will be called after the resource set is populated in an unspecified order.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/postprocessor/IPostProcessor.html#postMatch(org.eclipse.emf.compare.Comparison,%20org.eclipse.emf.common.util.Monitor)">postMatch(Comparison, Monitor)</a></span> - Method in interface org.eclipse.emf.compare.postprocessor.<a href="../org/eclipse/emf/compare/postprocessor/IPostProcessor.html" title="interface in org.eclipse.emf.compare.postprocessor">IPostProcessor</a></dt>
<dd>
<div class="block">This will be called by EMF Compare in order to execute the specified behavior after the match step,
 from a <code>comparison</code>.</div>
</dd>
<dt><a href="../org/eclipse/emf/compare/rcp/internal/postprocessor/PostProcessorDescriptor.html" title="class in org.eclipse.emf.compare.rcp.internal.postprocessor"><span class="strong">PostProcessorDescriptor</span></a> - Class in <a href="../org/eclipse/emf/compare/rcp/internal/postprocessor/package-summary.html">org.eclipse.emf.compare.rcp.internal.postprocessor</a></dt>
<dd>
<div class="block">Describes an extension as contributed to the "org.eclipse.emf.compare.rcp.postProcessor" extension point.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/rcp/internal/postprocessor/PostProcessorDescriptor.html#PostProcessorDescriptor(org.eclipse.core.runtime.IConfigurationElement,%20java.util.regex.Pattern,%20java.util.regex.Pattern)">PostProcessorDescriptor(IConfigurationElement, Pattern, Pattern)</a></span> - Constructor for class org.eclipse.emf.compare.rcp.internal.postprocessor.<a href="../org/eclipse/emf/compare/rcp/internal/postprocessor/PostProcessorDescriptor.html" title="class in org.eclipse.emf.compare.rcp.internal.postprocessor">PostProcessorDescriptor</a></dt>
<dd>
<div class="block">Creates a descriptor corresponding to the information of the given <em>element</em>.</div>
</dd>
<dt><a href="../org/eclipse/emf/compare/postprocessor/PostProcessorDescriptorRegistryImpl.html" title="class in org.eclipse.emf.compare.postprocessor"><span class="strong">PostProcessorDescriptorRegistryImpl</span></a>&lt;<a href="../org/eclipse/emf/compare/postprocessor/PostProcessorDescriptorRegistryImpl.html" title="type parameter in PostProcessorDescriptorRegistryImpl">K</a>&gt; - Class in <a href="../org/eclipse/emf/compare/postprocessor/package-summary.html">org.eclipse.emf.compare.postprocessor</a></dt>
<dd>
<div class="block">This will contain all of the EMF Compare extensions.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/postprocessor/PostProcessorDescriptorRegistryImpl.html#PostProcessorDescriptorRegistryImpl()">PostProcessorDescriptorRegistryImpl()</a></span> - Constructor for class org.eclipse.emf.compare.postprocessor.<a href="../org/eclipse/emf/compare/postprocessor/PostProcessorDescriptorRegistryImpl.html" title="class in org.eclipse.emf.compare.postprocessor">PostProcessorDescriptorRegistryImpl</a></dt>
<dd>
<div class="block">Creates a new extension registry.</div>
</dd>
<dt><a href="../org/eclipse/emf/compare/rcp/internal/postprocessor/PostProcessorFactoryRegistryListener.html" title="class in org.eclipse.emf.compare.rcp.internal.postprocessor"><span class="strong">PostProcessorFactoryRegistryListener</span></a> - Class in <a href="../org/eclipse/emf/compare/rcp/internal/postprocessor/package-summary.html">org.eclipse.emf.compare.rcp.internal.postprocessor</a></dt>
<dd>
<div class="block">This listener will allow us to be aware of contribution changes against the model resolver extension point.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/rcp/internal/postprocessor/PostProcessorFactoryRegistryListener.html#PostProcessorFactoryRegistryListener(java.lang.String,%20java.lang.String,%20org.eclipse.core.runtime.ILog,%20org.eclipse.emf.compare.rcp.internal.extension.IItemRegistry)">PostProcessorFactoryRegistryListener(String, String, ILog, IItemRegistry&lt;IPostProcessor.Descriptor&gt;)</a></span> - Constructor for class org.eclipse.emf.compare.rcp.internal.postprocessor.<a href="../org/eclipse/emf/compare/rcp/internal/postprocessor/PostProcessorFactoryRegistryListener.html" title="class in org.eclipse.emf.compare.rcp.internal.postprocessor">PostProcessorFactoryRegistryListener</a></dt>
<dd>
<div class="block">Creates a new registry listener with the given post processor registry to which extension will be
 registered.</div>
</dd>
<dt><a href="../org/eclipse/emf/compare/rcp/ui/internal/preferences/PostProcessorPreferencePage.html" title="class in org.eclipse.emf.compare.rcp.ui.internal.preferences"><span class="strong">PostProcessorPreferencePage</span></a> - Class in <a href="../org/eclipse/emf/compare/rcp/ui/internal/preferences/package-summary.html">org.eclipse.emf.compare.rcp.ui.internal.preferences</a></dt>
<dd>
<div class="block">Preference page used to enable/disable post processor.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/rcp/ui/internal/preferences/PostProcessorPreferencePage.html#PostProcessorPreferencePage()">PostProcessorPreferencePage()</a></span> - Constructor for class org.eclipse.emf.compare.rcp.ui.internal.preferences.<a href="../org/eclipse/emf/compare/rcp/ui/internal/preferences/PostProcessorPreferencePage.html" title="class in org.eclipse.emf.compare.rcp.ui.internal.preferences">PostProcessorPreferencePage</a></dt>
<dd>
<div class="block">Constructor.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/rcp/ui/internal/preferences/PostProcessorPreferencePage.html#PostProcessorPreferencePage(java.lang.String,%20org.eclipse.jface.resource.ImageDescriptor)">PostProcessorPreferencePage(String, ImageDescriptor)</a></span> - Constructor for class org.eclipse.emf.compare.rcp.ui.internal.preferences.<a href="../org/eclipse/emf/compare/rcp/ui/internal/preferences/PostProcessorPreferencePage.html" title="class in org.eclipse.emf.compare.rcp.ui.internal.preferences">PostProcessorPreferencePage</a></dt>
<dd>
<div class="block">Constructor.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/rcp/ui/internal/preferences/PostProcessorPreferencePage.html#PostProcessorPreferencePage(java.lang.String)">PostProcessorPreferencePage(String)</a></span> - Constructor for class org.eclipse.emf.compare.rcp.ui.internal.preferences.<a href="../org/eclipse/emf/compare/rcp/ui/internal/preferences/PostProcessorPreferencePage.html" title="class in org.eclipse.emf.compare.rcp.ui.internal.preferences">PostProcessorPreferencePage</a></dt>
<dd>
<div class="block">Constructor.</div>
</dd>
<dt><a href="../org/eclipse/emf/compare/rcp/internal/postprocessor/PostProcessorRegistryImpl.html" title="class in org.eclipse.emf.compare.rcp.internal.postprocessor"><span class="strong">PostProcessorRegistryImpl</span></a> - Class in <a href="../org/eclipse/emf/compare/rcp/internal/postprocessor/package-summary.html">org.eclipse.emf.compare.rcp.internal.postprocessor</a></dt>
<dd>
<div class="block">IPostProcessor.Descriptor.Registry implementation based on wrapping a <a href="../org/eclipse/emf/compare/rcp/internal/extension/IItemRegistry.html" title="interface in org.eclipse.emf.compare.rcp.internal.extension"><code>IItemRegistry</code></a>.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/rcp/internal/postprocessor/PostProcessorRegistryImpl.html#PostProcessorRegistryImpl(org.eclipse.emf.compare.rcp.internal.extension.IItemRegistry)">PostProcessorRegistryImpl(IItemRegistry&lt;IPostProcessor.Descriptor&gt;)</a></span> - Constructor for class org.eclipse.emf.compare.rcp.internal.postprocessor.<a href="../org/eclipse/emf/compare/rcp/internal/postprocessor/PostProcessorRegistryImpl.html" title="class in org.eclipse.emf.compare.rcp.internal.postprocessor">PostProcessorRegistryImpl</a></dt>
<dd>
<div class="block">Constructor.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/postprocessor/IPostProcessor.html#postRequirements(org.eclipse.emf.compare.Comparison,%20org.eclipse.emf.common.util.Monitor)">postRequirements(Comparison, Monitor)</a></span> - Method in interface org.eclipse.emf.compare.postprocessor.<a href="../org/eclipse/emf/compare/postprocessor/IPostProcessor.html" title="interface in org.eclipse.emf.compare.postprocessor">IPostProcessor</a></dt>
<dd>
<div class="block">This will be called by EMF Compare in order to execute the specified behavior after the requirements
 step, from a <code>comparison</code>.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/rcp/internal/extension/impl/ItemUtil.html#PREFERENCE_DELIMITER">PREFERENCE_DELIMITER</a></span> - Static variable in class org.eclipse.emf.compare.rcp.internal.extension.impl.<a href="../org/eclipse/emf/compare/rcp/internal/extension/impl/ItemUtil.html" title="class in org.eclipse.emf.compare.rcp.internal.extension.impl">ItemUtil</a></dt>
<dd>
<div class="block">Delimiter character used to serialize a list into preferences.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/ide/ui/internal/logical/resolver/RevisionedURIConverter.html#prefetchStream(org.eclipse.emf.common.util.URI,%20java.util.Map)">prefetchStream(URI, Map&lt;?, ?&gt;)</a></span> - Method in class org.eclipse.emf.compare.ide.ui.internal.logical.resolver.<a href="../org/eclipse/emf/compare/ide/ui/internal/logical/resolver/RevisionedURIConverter.html" title="class in org.eclipse.emf.compare.ide.ui.internal.logical.resolver">RevisionedURIConverter</a></dt>
<dd>
<div class="block">Prefetches the input stream for the given URI if any.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/ide/ui/internal/structuremergeviewer/AbstractStructuredViewerWrapper.html#preHookCreateControlAndViewer()">preHookCreateControlAndViewer()</a></span> - Method in class org.eclipse.emf.compare.ide.ui.internal.structuremergeviewer.<a href="../org/eclipse/emf/compare/ide/ui/internal/structuremergeviewer/AbstractStructuredViewerWrapper.html" title="class in org.eclipse.emf.compare.ide.ui.internal.structuremergeviewer">AbstractStructuredViewerWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/ide/ui/internal/structuremergeviewer/EMFCompareStructureMergeViewer.html#preHookCreateControlAndViewer()">preHookCreateControlAndViewer()</a></span> - Method in class org.eclipse.emf.compare.ide.ui.internal.structuremergeviewer.<a href="../org/eclipse/emf/compare/ide/ui/internal/structuremergeviewer/EMFCompareStructureMergeViewer.html" title="class in org.eclipse.emf.compare.ide.ui.internal.structuremergeviewer">EMFCompareStructureMergeViewer</a></dt>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/ide/hook/AbstractResourceSetHooks.html#preLoadingHook(org.eclipse.emf.ecore.resource.ResourceSet,%20java.util.Collection)">preLoadingHook(ResourceSet, Collection&lt;? extends URI&gt;)</a></span> - Method in class org.eclipse.emf.compare.ide.hook.<a href="../org/eclipse/emf/compare/ide/hook/AbstractResourceSetHooks.html" title="class in org.eclipse.emf.compare.ide.hook">AbstractResourceSetHooks</a></dt>
<dd>
<div class="block">This will be called before the final resource set is populated, in unspecified order.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/ide/hook/IResourceSetHook.html#preLoadingHook(org.eclipse.emf.ecore.resource.ResourceSet,%20java.util.Collection)">preLoadingHook(ResourceSet, Collection&lt;? extends URI&gt;)</a></span> - Method in interface org.eclipse.emf.compare.ide.hook.<a href="../org/eclipse/emf/compare/ide/hook/IResourceSetHook.html" title="interface in org.eclipse.emf.compare.ide.hook">IResourceSetHook</a></dt>
<dd>
<div class="block">This will be called before the final resource set is populated, in unspecified order.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/ide/internal/utils/ForwardingXMLHandler.html#prepare(org.eclipse.emf.ecore.xmi.XMLResource,%20org.eclipse.emf.ecore.xmi.XMLHelper,%20java.util.Map)">prepare(XMLResource, XMLHelper, Map&lt;?, ?&gt;)</a></span> - Method in class org.eclipse.emf.compare.ide.internal.utils.<a href="../org/eclipse/emf/compare/ide/internal/utils/ForwardingXMLHandler.html" title="class in org.eclipse.emf.compare.ide.internal.utils">ForwardingXMLHandler</a></dt>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/ide/ui/internal/editor/AbstractEMFCompareEditorInput.html#prepareInput(org.eclipse.core.runtime.IProgressMonitor)">prepareInput(IProgressMonitor)</a></span> - Method in class org.eclipse.emf.compare.ide.ui.internal.editor.<a href="../org/eclipse/emf/compare/ide/ui/internal/editor/AbstractEMFCompareEditorInput.html" title="class in org.eclipse.emf.compare.ide.ui.internal.editor">AbstractEMFCompareEditorInput</a></dt>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/ide/ui/internal/structuremergeviewer/WrappableTreeViewer.html#preservingSelection(java.lang.Runnable)">preservingSelection(Runnable)</a></span> - Method in class org.eclipse.emf.compare.ide.ui.internal.structuremergeviewer.<a href="../org/eclipse/emf/compare/ide/ui/internal/structuremergeviewer/WrappableTreeViewer.html" title="class in org.eclipse.emf.compare.ide.ui.internal.structuremergeviewer">WrappableTreeViewer</a></dt>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/impl/DiffImpl.html#primeRefining">primeRefining</a></span> - Variable in class org.eclipse.emf.compare.impl.<a href="../org/eclipse/emf/compare/impl/DiffImpl.html" title="class in org.eclipse.emf.compare.impl">DiffImpl</a></dt>
<dd>
<div class="block">The cached value of the '<a href="../org/eclipse/emf/compare/impl/DiffImpl.html#getPrimeRefining()"><code><em>Prime Refining</em></code></a>' reference. <!</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/utils/EMFComparePrettyPrinter.html#printComparison(org.eclipse.emf.compare.Comparison,%20java.io.PrintStream)">printComparison(Comparison, PrintStream)</a></span> - Static method in class org.eclipse.emf.compare.utils.<a href="../org/eclipse/emf/compare/utils/EMFComparePrettyPrinter.html" title="class in org.eclipse.emf.compare.utils">EMFComparePrettyPrinter</a></dt>
<dd>
<div class="block">Prints the whole comparison on the given stream (might be <code>stream</code>).</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/utils/EMFComparePrettyPrinter.html#printDifferences(org.eclipse.emf.compare.Comparison,%20java.io.PrintStream)">printDifferences(Comparison, PrintStream)</a></span> - Static method in class org.eclipse.emf.compare.utils.<a href="../org/eclipse/emf/compare/utils/EMFComparePrettyPrinter.html" title="class in org.eclipse.emf.compare.utils">EMFComparePrettyPrinter</a></dt>
<dd>
<div class="block">Prints all differences detected for the given <code>comparison</code> on the given <code>stream</code>.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/utils/EMFComparePrettyPrinter.html#printMatch(org.eclipse.emf.compare.Comparison,%20java.io.PrintStream)">printMatch(Comparison, PrintStream)</a></span> - Static method in class org.eclipse.emf.compare.utils.<a href="../org/eclipse/emf/compare/utils/EMFComparePrettyPrinter.html" title="class in org.eclipse.emf.compare.utils">EMFComparePrettyPrinter</a></dt>
<dd>
<div class="block">Prints all the Match elements contained by the given <code>comparison</code>.</div>
</dd>
<dt><a href="../org/eclipse/emf/compare/ide/ui/internal/structuremergeviewer/ProblemIndicationComposite.html" title="class in org.eclipse.emf.compare.ide.ui.internal.structuremergeviewer"><span class="strong">ProblemIndicationComposite</span></a> - Class in <a href="../org/eclipse/emf/compare/ide/ui/internal/structuremergeviewer/package-summary.html">org.eclipse.emf.compare.ide.ui.internal.structuremergeviewer</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/ide/ui/internal/structuremergeviewer/ProblemIndicationComposite.html#ProblemIndicationComposite(org.eclipse.swt.widgets.Composite,%20int)">ProblemIndicationComposite(Composite, int)</a></span> - Constructor for class org.eclipse.emf.compare.ide.ui.internal.structuremergeviewer.<a href="../org/eclipse/emf/compare/ide/ui/internal/structuremergeviewer/ProblemIndicationComposite.html" title="class in org.eclipse.emf.compare.ide.ui.internal.structuremergeviewer">ProblemIndicationComposite</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../org/eclipse/emf/compare/ide/ui/internal/structuremergeviewer/ProblemIndicationComposite.TextProvider.html" title="class in org.eclipse.emf.compare.ide.ui.internal.structuremergeviewer"><span class="strong">ProblemIndicationComposite.TextProvider</span></a> - Class in <a href="../org/eclipse/emf/compare/ide/ui/internal/structuremergeviewer/package-summary.html">org.eclipse.emf.compare.ide.ui.internal.structuremergeviewer</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/ide/ui/internal/structuremergeviewer/ProblemIndicationComposite.TextProvider.html#ProblemIndicationComposite.TextProvider()">ProblemIndicationComposite.TextProvider()</a></span> - Constructor for class org.eclipse.emf.compare.ide.ui.internal.structuremergeviewer.<a href="../org/eclipse/emf/compare/ide/ui/internal/structuremergeviewer/ProblemIndicationComposite.TextProvider.html" title="class in org.eclipse.emf.compare.ide.ui.internal.structuremergeviewer">ProblemIndicationComposite.TextProvider</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/ide/internal/utils/ForwardingXMLHandler.html#processingInstruction(java.lang.String,%20java.lang.String)">processingInstruction(String, String)</a></span> - Method in class org.eclipse.emf.compare.ide.internal.utils.<a href="../org/eclipse/emf/compare/ide/internal/utils/ForwardingXMLHandler.html" title="class in org.eclipse.emf.compare.ide.internal.utils">ForwardingXMLHandler</a></dt>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/ide/ui/internal/preferences/ModelResolutionPreferencePage.html#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)">propertyChange(PropertyChangeEvent)</a></span> - Method in class org.eclipse.emf.compare.ide.ui.internal.preferences.<a href="../org/eclipse/emf/compare/ide/ui/internal/preferences/ModelResolutionPreferencePage.html" title="class in org.eclipse.emf.compare.ide.ui.internal.preferences">ModelResolutionPreferencePage</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../org/eclipse/emf/compare/ide/ui/internal/editor/PropertySheetAdapterFactory.html" title="class in org.eclipse.emf.compare.ide.ui.internal.editor"><span class="strong">PropertySheetAdapterFactory</span></a> - Class in <a href="../org/eclipse/emf/compare/ide/ui/internal/editor/package-summary.html">org.eclipse.emf.compare.ide.ui.internal.editor</a></dt>
<dd>
<div class="block">Specific Adapter factory that provides an <a href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/edit/ui/view/ExtendedPropertySheetPage.html?is-external=true" title="class or interface in org.eclipse.emf.edit.ui.view"><code>ExtendedPropertySheetPage</code></a> for the Compare Editor.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/ide/ui/internal/editor/PropertySheetAdapterFactory.html#PropertySheetAdapterFactory()">PropertySheetAdapterFactory()</a></span> - Constructor for class org.eclipse.emf.compare.ide.ui.internal.editor.<a href="../org/eclipse/emf/compare/ide/ui/internal/editor/PropertySheetAdapterFactory.html" title="class in org.eclipse.emf.compare.ide.ui.internal.editor">PropertySheetAdapterFactory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/ide/ui/internal/logical/EMFModelProvider.html#PROVIDER_ID">PROVIDER_ID</a></span> - Static variable in class org.eclipse.emf.compare.ide.ui.internal.logical.<a href="../org/eclipse/emf/compare/ide/ui/internal/logical/EMFModelProvider.html" title="class in org.eclipse.emf.compare.ide.ui.internal.logical">EMFModelProvider</a></dt>
<dd>
<div class="block">ID of this model provider.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/match/eobject/URIDistance.html#proximity(org.eclipse.emf.ecore.EObject,%20org.eclipse.emf.ecore.EObject)">proximity(EObject, EObject)</a></span> - Method in class org.eclipse.emf.compare.match.eobject.<a href="../org/eclipse/emf/compare/match/eobject/URIDistance.html" title="class in org.eclipse.emf.compare.match.eobject">URIDistance</a></dt>
<dd>
<div class="block">Return a metric result URI similarities.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/match/eobject/URIDistance.html#proximity(java.lang.Iterable,%20java.lang.Iterable)">proximity(Iterable&lt;String&gt;, Iterable&lt;String&gt;)</a></span> - Method in class org.eclipse.emf.compare.match.eobject.<a href="../org/eclipse/emf/compare/match/eobject/URIDistance.html" title="class in org.eclipse.emf.compare.match.eobject">URIDistance</a></dt>
<dd>
<div class="block">Return a metric result URI similarities.</div>
</dd>
<dt><a href="../org/eclipse/emf/compare/match/eobject/ProximityEObjectMatcher.html" title="class in org.eclipse.emf.compare.match.eobject"><span class="strong">ProximityEObjectMatcher</span></a> - Class in <a href="../org/eclipse/emf/compare/match/eobject/package-summary.html">org.eclipse.emf.compare.match.eobject</a></dt>
<dd>
<div class="block">This matcher is using a distance function to match EObject.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/match/eobject/ProximityEObjectMatcher.html#ProximityEObjectMatcher(org.eclipse.emf.compare.match.eobject.ProximityEObjectMatcher.DistanceFunction)">ProximityEObjectMatcher(ProximityEObjectMatcher.DistanceFunction)</a></span> - Constructor for class org.eclipse.emf.compare.match.eobject.<a href="../org/eclipse/emf/compare/match/eobject/ProximityEObjectMatcher.html" title="class in org.eclipse.emf.compare.match.eobject">ProximityEObjectMatcher</a></dt>
<dd>
<div class="block">Create the matcher using the given distance function.</div>
</dd>
<dt><a href="../org/eclipse/emf/compare/match/eobject/ProximityEObjectMatcher.DistanceFunction.html" title="interface in org.eclipse.emf.compare.match.eobject"><span class="strong">ProximityEObjectMatcher.DistanceFunction</span></a> - Interface in <a href="../org/eclipse/emf/compare/match/eobject/package-summary.html">org.eclipse.emf.compare.match.eobject</a></dt>
<dd>
<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.</div>
</dd>
<dt><a href="../org/eclipse/emf/compare/match/eobject/internal/ProximityIndex.html" title="class in org.eclipse.emf.compare.match.eobject.internal"><span class="strong">ProximityIndex</span></a> - Class in <a href="../org/eclipse/emf/compare/match/eobject/internal/package-summary.html">org.eclipse.emf.compare.match.eobject.internal</a></dt>
<dd>
<div class="block">This class is responsible for holding several version of EObjects from sides left, right or origins and
 provides the ability to return the closest instance (from a difference side) of a given EObject.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/match/eobject/internal/ProximityIndex.html#ProximityIndex(org.eclipse.emf.compare.match.eobject.ProximityEObjectMatcher.DistanceFunction,%20org.eclipse.emf.compare.match.eobject.ScopeQuery)">ProximityIndex(ProximityEObjectMatcher.DistanceFunction, ScopeQuery)</a></span> - Constructor for class org.eclipse.emf.compare.match.eobject.internal.<a href="../org/eclipse/emf/compare/match/eobject/internal/ProximityIndex.html" title="class in org.eclipse.emf.compare.match.eobject.internal">ProximityIndex</a></dt>
<dd>
<div class="block">Create a new <a href="../org/eclipse/emf/compare/match/eobject/internal/ProximityIndex.html" title="class in org.eclipse.emf.compare.match.eobject.internal"><code>ProximityIndex</code></a> using the given distance function.</div>
</dd>
<dt><a href="../org/eclipse/emf/compare/match/eobject/internal/ProximityMatchStats.html" title="class in org.eclipse.emf.compare.match.eobject.internal"><span class="strong">ProximityMatchStats</span></a> - Class in <a href="../org/eclipse/emf/compare/match/eobject/internal/package-summary.html">org.eclipse.emf.compare.match.eobject.internal</a></dt>
<dd>
<div class="block">A class responsible for tracking statistics about a given comparison process.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/match/eobject/internal/ProximityMatchStats.html#ProximityMatchStats()">ProximityMatchStats()</a></span> - Constructor for class org.eclipse.emf.compare.match.eobject.internal.<a href="../org/eclipse/emf/compare/match/eobject/internal/ProximityMatchStats.html" title="class in org.eclipse.emf.compare.match.eobject.internal">ProximityMatchStats</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/ide/internal/utils/NotLoadingResourceSet.html#proxyCreated(org.eclipse.emf.ecore.resource.Resource,%20org.eclipse.emf.ecore.EObject,%20org.eclipse.emf.ecore.EStructuralFeature,%20org.eclipse.emf.ecore.EObject,%20int)">proxyCreated(Resource, EObject, EStructuralFeature, EObject, int)</a></span> - Method in class org.eclipse.emf.compare.ide.internal.utils.<a href="../org/eclipse/emf/compare/ide/internal/utils/NotLoadingResourceSet.html" title="class in org.eclipse.emf.compare.ide.internal.utils">NotLoadingResourceSet</a></dt>
<dd>
<div class="block">This will be called when a proxy is created from one of the parser pool's parsers.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/ide/internal/utils/ProxyNotifierParserPool.IProxyCreationListener.html#proxyCreated(org.eclipse.emf.ecore.resource.Resource,%20org.eclipse.emf.ecore.EObject,%20org.eclipse.emf.ecore.EStructuralFeature,%20org.eclipse.emf.ecore.EObject,%20int)">proxyCreated(Resource, EObject, EStructuralFeature, EObject, int)</a></span> - Method in interface org.eclipse.emf.compare.ide.internal.utils.<a href="../org/eclipse/emf/compare/ide/internal/utils/ProxyNotifierParserPool.IProxyCreationListener.html" title="interface in org.eclipse.emf.compare.ide.internal.utils">ProxyNotifierParserPool.IProxyCreationListener</a></dt>
<dd>
<div class="block">This will be called when a proxy is created from one of the parser pool's parsers.</div>
</dd>
<dt><a href="../org/eclipse/emf/compare/ide/internal/utils/ProxyNotifierParserPool.html" title="class in org.eclipse.emf.compare.ide.internal.utils"><span class="strong">ProxyNotifierParserPool</span></a> - Class in <a href="../org/eclipse/emf/compare/ide/internal/utils/package-summary.html">org.eclipse.emf.compare.ide.internal.utils</a></dt>
<dd>
<div class="block">This implementation of an XML parser pool will notify a list of <a href="../org/eclipse/emf/compare/ide/internal/utils/ProxyNotifierParserPool.IProxyCreationListener.html" title="interface in org.eclipse.emf.compare.ide.internal.utils"><code>proxy
 creation listeners</code></a> of each and every proxy it sees while loading an XML file as an EMF model.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/ide/internal/utils/ProxyNotifierParserPool.html#ProxyNotifierParserPool(boolean)">ProxyNotifierParserPool(boolean)</a></span> - Constructor for class org.eclipse.emf.compare.ide.internal.utils.<a href="../org/eclipse/emf/compare/ide/internal/utils/ProxyNotifierParserPool.html" title="class in org.eclipse.emf.compare.ide.internal.utils">ProxyNotifierParserPool</a></dt>
<dd>
<div class="block">Default constructor.</div>
</dd>
<dt><a href="../org/eclipse/emf/compare/ide/internal/utils/ProxyNotifierParserPool.IProxyCreationListener.html" title="interface in org.eclipse.emf.compare.ide.internal.utils"><span class="strong">ProxyNotifierParserPool.IProxyCreationListener</span></a> - Interface in <a href="../org/eclipse/emf/compare/ide/internal/utils/package-summary.html">org.eclipse.emf.compare.ide.internal.utils</a></dt>
<dd>
<div class="block">Describes the contract for a proxy creation listener as can be notifier from this pool's created
 parsers.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/internal/utils/PruningIterator.html#prune()">prune()</a></span> - Method in interface org.eclipse.emf.compare.internal.utils.<a href="../org/eclipse/emf/compare/internal/utils/PruningIterator.html" title="interface in org.eclipse.emf.compare.internal.utils">PruningIterator</a></dt>
<dd>
<div class="block">Prunes the iterator so that it skips over all the elements below the most recent result of calling
 <a href="http://download.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true#next()" title="class or interface in java.util"><code>next()</code></a>.</div>
</dd>
<dt><a href="../org/eclipse/emf/compare/internal/utils/PruningIterator.html" title="interface in org.eclipse.emf.compare.internal.utils"><span class="strong">PruningIterator</span></a>&lt;<a href="../org/eclipse/emf/compare/internal/utils/PruningIterator.html" title="type parameter in PruningIterator">E</a>&gt; - Interface in <a href="../org/eclipse/emf/compare/internal/utils/package-summary.html">org.eclipse.emf.compare.internal.utils</a></dt>
<dd>
<div class="block">A specialized tree iterator allowing clients to prune all children below a selected one.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/ConflictKind.html#PSEUDO_VALUE">PSEUDO_VALUE</a></span> - Static variable in enum org.eclipse.emf.compare.<a href="../org/eclipse/emf/compare/ConflictKind.html" title="enum in org.eclipse.emf.compare">ConflictKind</a></dt>
<dd>
<div class="block">The '<em><b>PSEUDO</b></em>' literal value</div>
</dd>
<dt><a href="../org/eclipse/emf/compare/merge/PseudoConflictMerger.html" title="class in org.eclipse.emf.compare.merge"><span class="strong">PseudoConflictMerger</span></a> - Class in <a href="../org/eclipse/emf/compare/merge/package-summary.html">org.eclipse.emf.compare.merge</a></dt>
<dd>
<div class="block">A simple merger for pseudo conflict.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/merge/PseudoConflictMerger.html#PseudoConflictMerger()">PseudoConflictMerger()</a></span> - Constructor for class org.eclipse.emf.compare.merge.<a href="../org/eclipse/emf/compare/merge/PseudoConflictMerger.html" title="class in org.eclipse.emf.compare.merge">PseudoConflictMerger</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../org/eclipse/emf/compare/rcp/ui/internal/structuremergeviewer/filters/impl/PseudoConflictsFilter.html" title="class in org.eclipse.emf.compare.rcp.ui.internal.structuremergeviewer.filters.impl"><span class="strong">PseudoConflictsFilter</span></a> - Class in <a href="../org/eclipse/emf/compare/rcp/ui/internal/structuremergeviewer/filters/impl/package-summary.html">org.eclipse.emf.compare.rcp.ui.internal.structuremergeviewer.filters.impl</a></dt>
<dd>
<div class="block">A filter used by default that filtered out pseudo conflicts differences.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/rcp/ui/internal/structuremergeviewer/filters/impl/PseudoConflictsFilter.html#PseudoConflictsFilter()">PseudoConflictsFilter()</a></span> - Constructor for class org.eclipse.emf.compare.rcp.ui.internal.structuremergeviewer.filters.impl.<a href="../org/eclipse/emf/compare/rcp/ui/internal/structuremergeviewer/filters/impl/PseudoConflictsFilter.html" title="class in org.eclipse.emf.compare.rcp.ui.internal.structuremergeviewer.filters.impl">PseudoConflictsFilter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/match/eobject/WeightProvider.Descriptor.Registry.html#put(java.lang.String,%20org.eclipse.emf.compare.match.eobject.WeightProvider.Descriptor)">put(String, WeightProvider.Descriptor)</a></span> - Method in interface org.eclipse.emf.compare.match.eobject.<a href="../org/eclipse/emf/compare/match/eobject/WeightProvider.Descriptor.Registry.html" title="interface in org.eclipse.emf.compare.match.eobject">WeightProvider.Descriptor.Registry</a></dt>
<dd>
<div class="block">Adds a weight provider to the registry.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/match/eobject/WeightProviderDescriptorRegistryImpl.html#put(java.lang.String,%20org.eclipse.emf.compare.match.eobject.WeightProvider.Descriptor)">put(String, WeightProvider.Descriptor)</a></span> - Method in class org.eclipse.emf.compare.match.eobject.<a href="../org/eclipse/emf/compare/match/eobject/WeightProviderDescriptorRegistryImpl.html" title="class in org.eclipse.emf.compare.match.eobject">WeightProviderDescriptorRegistryImpl</a></dt>
<dd>
<div class="block">Adds a weight provider to the registry.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/postprocessor/IPostProcessor.Descriptor.Registry.html#put(K,%20org.eclipse.emf.compare.postprocessor.IPostProcessor.Descriptor)">put(K, IPostProcessor.Descriptor)</a></span> - Method in interface org.eclipse.emf.compare.postprocessor.<a href="../org/eclipse/emf/compare/postprocessor/IPostProcessor.Descriptor.Registry.html" title="interface in org.eclipse.emf.compare.postprocessor">IPostProcessor.Descriptor.Registry</a></dt>
<dd>
<div class="block">Adds a post processor to the registry.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/postprocessor/PostProcessorDescriptorRegistryImpl.html#put(K,%20org.eclipse.emf.compare.postprocessor.IPostProcessor.Descriptor)">put(K, IPostProcessor.Descriptor)</a></span> - Method in class org.eclipse.emf.compare.postprocessor.<a href="../org/eclipse/emf/compare/postprocessor/PostProcessorDescriptorRegistryImpl.html" title="class in org.eclipse.emf.compare.postprocessor">PostProcessorDescriptorRegistryImpl</a></dt>
<dd>
<div class="block">Adds a post processor to the registry.</div>
</dd>
<dt><span class="strong"><a href="../org/eclipse/emf/compare/rcp/internal/postprocessor/PostProcessorRegistryImpl.html#put(java.lang.String,%20org.eclipse.emf.compare.postprocessor.IPostProcessor.Descriptor)">put(String, IPostProcessor.Descriptor)</a></span> - Method in class org.eclipse.emf.compare.rcp.internal.postprocessor.<a href="../org/eclipse/emf/compare/rcp/internal/postprocessor/PostProcessorRegistryImpl.html" title="class in org.eclipse.emf.compare.rcp.internal.postprocessor">PostProcessorRegistryImpl</a></dt>
<dd>
<div class="block">Adds a post processor to the registry.</div>
</dd>
</dl>
<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">J</a>&nbsp;<a href="index-11.html">K</a>&nbsp;<a href="index-12.html">L</a>&nbsp;<a href="index-13.html">M</a>&nbsp;<a href="index-14.html">N</a>&nbsp;<a href="index-15.html">O</a>&nbsp;<a href="index-16.html">P</a>&nbsp;<a href="index-17.html">Q</a>&nbsp;<a href="index-18.html">R</a>&nbsp;<a href="index-19.html">S</a>&nbsp;<a href="index-20.html">T</a>&nbsp;<a href="index-21.html">U</a>&nbsp;<a href="index-22.html">V</a>&nbsp;<a href="index-23.html">W</a>&nbsp;</div>
<!-- ======= 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>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="../overview-tree.html">Tree</a></li>
<li><a href="../deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</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="index-15.html">Prev Letter</a></li>
<li><a href="index-17.html">Next Letter</a></li>
</ul>
<ul class="navList">
<li><a href="../index.html?index-filesindex-16.html" target="_top">Frames</a></li>
<li><a href="index-16.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>
<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>
