blob: 1313edaa0d755114999715cb729cca58d764f1d7 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="de">
<head>
<!-- Generated by javadoc (1.8.0_232) on Mon Feb 03 14:26:20 CET 2020 -->
<title>AmaltheaIndex</title>
<meta name="date" content="2020-02-03">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
</head>
<body>
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.eclipse.app4mc.amalthea.model</div>
<h2 title="Class AmaltheaIndex" class="title">Class AmaltheaIndex</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>Object</li>
<li>
<ul class="inheritance">
<li>AmaltheaIndex</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public final class <span class="typeNameLabel">AmaltheaIndex</span>
extends Object</pre>
<div class="block">This class provides static methods for efficient model navigation, search and delete.
<p>
An <code>AmaltheaCrossReferenceAdapter</code> is created and attached to the root context of the model.
The adapter maintains an index that allows fast access to inverse references and an index based on object name.
<p>
The method <a href="#getInverseReferences-org.eclipse.emf.ecore.EObject-org.eclipse.emf.ecore.EReference-java.util.Set-"><code>getInverseReferences</code></a> is called from several
generated model objects to compute inverse transient references based on the incoming references.</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="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></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>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="#buildIndex-org.eclipse.emf.common.notify.Notifier-">buildIndex</a></span>(@NonNull Notifier&nbsp;context)</code>
<div class="block">Creates the index explicitly.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="#delete-org.eclipse.emf.ecore.EObject-">delete</a></span>(@NonNull EObject&nbsp;eObject)</code>
<div class="block">Deletes the object from its <code>containing</code> resource
and/or its <code>containing</code> object as well as from any
other feature that references it within the enclosing root context
(resource set, resource or root object).</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="#deleteAll-java.util.Collection-">deleteAll</a></span>(@NonNull Collection&lt;? extends EObject&gt;&nbsp;eObjects)</code>
<div class="block">Deletes the objects from their <code>containing</code> resource
and/or their <code>containing</code> object as well as from any
other feature that references it within the enclosing root context
(resource set, resource or root object).</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="#deleteAll-java.util.Collection-boolean-">deleteAll</a></span>(@NonNull Collection&lt;? extends EObject&gt;&nbsp;eObjects,
boolean&nbsp;recursive)</code>
<div class="block">Deletes the objects from their <code>containing</code> resource
and/or their <code>containing</code> object as well as from any
other feature that references it within the enclosing root context
(resource set, resource or root object).</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="#dumpAdapterInfo-org.eclipse.emf.common.notify.Notifier-int-java.io.PrintStream-">dumpAdapterInfo</a></span>(@NonNull Notifier&nbsp;context,
int&nbsp;info,
@Nullable PrintStream&nbsp;stream)</code>
<div class="block">Dumps adapter info to a print stream</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>static &lt;T extends INamed&gt;<br>Set&lt;T&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="#getElements-org.eclipse.emf.common.notify.Notifier-java.util.regex.Pattern-java.lang.Class-">getElements</a></span>(@NonNull Notifier&nbsp;context,
@NonNull Pattern&nbsp;namePattern,
@NonNull Class&lt;T&gt;&nbsp;targetClass)</code>
<div class="block">Finds elements by name pattern and class</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static &lt;T extends INamed&gt;<br>Set&lt;T&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="#getElements-org.eclipse.emf.common.notify.Notifier-java.lang.String-java.lang.Class-">getElements</a></span>(@NonNull Notifier&nbsp;context,
@NonNull String&nbsp;name,
@NonNull Class&lt;T&gt;&nbsp;targetClass)</code>
<div class="block">Finds elements by name and class</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>static &lt;T&gt;&nbsp;EList&lt;T&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="#getInverseReferences-org.eclipse.emf.ecore.EObject-org.eclipse.emf.ecore.EReference-java.util.Set-">getInverseReferences</a></span>(@NonNull EObject&nbsp;eObject,
@NonNull EReference&nbsp;resultEReference,
@NonNull Set&lt;EReference&gt;&nbsp;targetEReferences)</code>
<div class="block">Computes a list of objects that refer to an EObject via dedicated references.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>static List&lt;Set&lt;IReferable&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="#getObjectsWithConflictingNames-org.eclipse.emf.common.notify.Notifier-">getObjectsWithConflictingNames</a></span>(@NonNull Notifier&nbsp;context)</code>&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>static Set&lt;EObject&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="#getReferringObjects-org.eclipse.emf.ecore.EObject-">getReferringObjects</a></span>(@NonNull EObject&nbsp;eObject)</code>
<div class="block">Returns a set of objects that refer to the given <code>eObject</code>.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>static &lt;T extends EObject&gt;<br>Set&lt;T&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="#getReferringObjects-org.eclipse.emf.ecore.EObject-java.lang.Class-">getReferringObjects</a></span>(@NonNull EObject&nbsp;eObject,
@NonNull Class&lt;T&gt;&nbsp;targetClass)</code>
<div class="block">Returns a type filtered set of objects that refer to the given <code>eObject</code>.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>static &lt;T extends EObject&gt;<br>Set&lt;T&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="#getReferringObjects-org.eclipse.emf.ecore.EObject-java.lang.Class-org.eclipse.emf.ecore.EReference-">getReferringObjects</a></span>(@NonNull EObject&nbsp;eObject,
@NonNull Class&lt;T&gt;&nbsp;targetClass,
@NonNull EReference&nbsp;targetEReference)</code>
<div class="block">Returns a filtered set of objects that refer to the given <code>eObject</code>
Filters:
type (<code>targetClass</code>)
reference (<code>targetEReference</code>)
</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;Object</h3>
<code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getInverseReferences-org.eclipse.emf.ecore.EObject-org.eclipse.emf.ecore.EReference-java.util.Set-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInverseReferences</h4>
<pre>public static&nbsp;&lt;T&gt;&nbsp;EList&lt;T&gt;&nbsp;getInverseReferences(@NonNull EObject&nbsp;eObject,
@NonNull EReference&nbsp;resultEReference,
@NonNull Set&lt;EReference&gt;&nbsp;targetEReferences)</pre>
<div class="block">Computes a list of objects that refer to an EObject via dedicated references.
<p>
This method is called from several generated model objects to compute
an inverse transient reference based on the incoming references.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>eObject</code> - object that implements a derived transient opposite reference</dd>
<dd><code>resultEReference</code> - opposite reference definition (resulting objects are computed)</dd>
<dd><code>targetEReferences</code> - list of incoming references</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>EcoreEList.UnmodifiableEList &lt;T&gt;</dd>
</dl>
</li>
</ul>
<a name="getReferringObjects-org.eclipse.emf.ecore.EObject-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReferringObjects</h4>
<pre>public static&nbsp;Set&lt;EObject&gt;&nbsp;getReferringObjects(@NonNull EObject&nbsp;eObject)</pre>
<div class="block">Returns a set of objects that refer to the given <code>eObject</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>eObject</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Set of objects (EObject)</dd>
</dl>
</li>
</ul>
<a name="getReferringObjects-org.eclipse.emf.ecore.EObject-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReferringObjects</h4>
<pre>public static&nbsp;&lt;T extends EObject&gt;&nbsp;Set&lt;T&gt;&nbsp;getReferringObjects(@NonNull EObject&nbsp;eObject,
@NonNull Class&lt;T&gt;&nbsp;targetClass)</pre>
<div class="block">Returns a type filtered set of objects that refer to the given <code>eObject</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>eObject</code> - </dd>
<dd><code>targetClass</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Set of objects of given type <T extends EObject></dd>
</dl>
</li>
</ul>
<a name="getReferringObjects-org.eclipse.emf.ecore.EObject-java.lang.Class-org.eclipse.emf.ecore.EReference-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReferringObjects</h4>
<pre>public static&nbsp;&lt;T extends EObject&gt;&nbsp;Set&lt;T&gt;&nbsp;getReferringObjects(@NonNull EObject&nbsp;eObject,
@NonNull Class&lt;T&gt;&nbsp;targetClass,
@NonNull EReference&nbsp;targetEReference)</pre>
<div class="block">Returns a filtered set of objects that refer to the given <code>eObject</code>
<p>
Filters:
<ul>
<li>type (<code>targetClass</code>)</li>
<li>reference (<code>targetEReference</code>)</li>
</ul></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>eObject</code> - </dd>
<dd><code>targetClass</code> - </dd>
<dd><code>targetEReference</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Set of objects of given type <T extends EObject></dd>
</dl>
</li>
</ul>
<a name="getObjectsWithConflictingNames-org.eclipse.emf.common.notify.Notifier-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getObjectsWithConflictingNames</h4>
<pre>public static&nbsp;List&lt;Set&lt;IReferable&gt;&gt;&nbsp;getObjectsWithConflictingNames(@NonNull Notifier&nbsp;context)</pre>
</li>
</ul>
<a name="buildIndex-org.eclipse.emf.common.notify.Notifier-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buildIndex</h4>
<pre>public static&nbsp;void&nbsp;buildIndex(@NonNull Notifier&nbsp;context)</pre>
<div class="block">Creates the index explicitly. If the index is already available the method will have no effect.
<p>
This method is optional. Normally the index will be built on demand.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>eObject</code> - </dd>
</dl>
</li>
</ul>
<a name="delete-org.eclipse.emf.ecore.EObject-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>delete</h4>
<pre>public static&nbsp;void&nbsp;delete(@NonNull EObject&nbsp;eObject)</pre>
<div class="block">Deletes the object from its <code>containing</code> resource
and/or its <code>containing</code> object as well as from any
other feature that references it within the enclosing root context
(resource set, resource or root object). Contained children of the object
are similarly removed from any features that reference them.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>eObject</code> - object to delete</dd>
</dl>
</li>
</ul>
<a name="deleteAll-java.util.Collection-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deleteAll</h4>
<pre>public static&nbsp;void&nbsp;deleteAll(@NonNull Collection&lt;? extends EObject&gt;&nbsp;eObjects)</pre>
<div class="block">Deletes the objects from their <code>containing</code> resource
and/or their <code>containing</code> object as well as from any
other feature that references it within the enclosing root context
(resource set, resource or root object). Contained children of the object
are similarly removed from any features that reference them.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>eObjects</code> - objects to delete</dd>
</dl>
</li>
</ul>
<a name="deleteAll-java.util.Collection-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deleteAll</h4>
<pre>public static&nbsp;void&nbsp;deleteAll(@NonNull Collection&lt;? extends EObject&gt;&nbsp;eObjects,
boolean&nbsp;recursive)</pre>
<div class="block">Deletes the objects from their <code>containing</code> resource
and/or their <code>containing</code> object as well as from any
other feature that references it within the enclosing root context
(resource set, resource or root object).
If recursive is true, contained children of the object are similarly removed
from any features that reference them.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>eObjects</code> - objects to delete</dd>
<dd><code>recursive</code> - true: contained children should also be deleted</dd>
</dl>
</li>
</ul>
<a name="getElements-org.eclipse.emf.common.notify.Notifier-java.lang.String-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getElements</h4>
<pre>public static&nbsp;&lt;T extends INamed&gt;&nbsp;Set&lt;T&gt;&nbsp;getElements(@NonNull Notifier&nbsp;context,
@NonNull String&nbsp;name,
@NonNull Class&lt;T&gt;&nbsp;targetClass)</pre>
<div class="block">Finds elements by name and class</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>context</code> - EObject, Resource or ResourceSet</dd>
<dd><code>name</code> - String</dd>
<dd><code>targetClass</code> - for example: <code>Label.class</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Set of named objects (INamed)</dd>
</dl>
</li>
</ul>
<a name="getElements-org.eclipse.emf.common.notify.Notifier-java.util.regex.Pattern-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getElements</h4>
<pre>public static&nbsp;&lt;T extends INamed&gt;&nbsp;Set&lt;T&gt;&nbsp;getElements(@NonNull Notifier&nbsp;context,
@NonNull Pattern&nbsp;namePattern,
@NonNull Class&lt;T&gt;&nbsp;targetClass)</pre>
<div class="block">Finds elements by name pattern and class</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>context</code> - EObject, Resource or ResourceSet</dd>
<dd><code>namePattern</code> - for example: <code>Pattern.compile("Prefix_.*")</code></dd>
<dd><code>targetClass</code> - for example: <code>Label.class</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Set of named objects (INamed)</dd>
</dl>
</li>
</ul>
<a name="dumpAdapterInfo-org.eclipse.emf.common.notify.Notifier-int-java.io.PrintStream-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>dumpAdapterInfo</h4>
<pre>public static&nbsp;void&nbsp;dumpAdapterInfo(@NonNull Notifier&nbsp;context,
int&nbsp;info,
@Nullable PrintStream&nbsp;stream)</pre>
<div class="block">Dumps adapter info to a print stream</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>context</code> - EObject, Resource or ResourceSet</dd>
<dd><code>info</code> - content selector <ul>
<li> 1 - basic adapter info (resources, size of maps)
<li> 2 - cross reference map
<li> 3 - name index </ul></dd>
<dd><code>stream</code> - output stream (if undefined then <code>System.out</code> is used)</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
</body>
</html>