Package org.eclipse.glsp.server.emf
Class EMFModelIndex
- java.lang.Object
-
- org.eclipse.emf.ecore.util.ECrossReferenceAdapter
-
- org.eclipse.glsp.graph.impl.GModelIndexImpl
-
- org.eclipse.glsp.server.emf.EMFModelIndex
-
- All Implemented Interfaces:
org.eclipse.emf.common.notify.Adapter,org.eclipse.emf.common.notify.Adapter.Internal,GModelIndex
- Direct Known Subclasses:
EMFNotationModelIndex
public class EMFModelIndex extends GModelIndexImpl
Is used to index all child elements of an arbitrary EMF source model. Offers a set of query methods retrieve indexed elements.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.eclipse.emf.ecore.util.ECrossReferenceAdapter
org.eclipse.emf.ecore.util.ECrossReferenceAdapter.InverseCrossReferencer
-
Nested classes/interfaces inherited from interface org.eclipse.emf.common.notify.Adapter
org.eclipse.emf.common.notify.Adapter.Internal
-
Nested classes/interfaces inherited from interface org.eclipse.glsp.graph.GModelIndex
GModelIndex.NullImpl
-
-
Field Summary
Fields Modifier and Type Field Description protected com.google.common.collect.BiMap<java.lang.String,org.eclipse.emf.ecore.EObject>eObjectIndexprotected EMFIdGeneratoridGenerator
-
Constructor Summary
Constructors Modifier Constructor Description protectedEMFModelIndex(org.eclipse.emf.ecore.EObject target, EMFIdGenerator idGenerator)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclear()java.util.Optional<org.eclipse.emf.ecore.EObject>getEObject(java.lang.String id)<T extends org.eclipse.emf.ecore.EObject>
java.util.Optional<T>getEObject(java.lang.String id, java.lang.Class<T> clazz)java.util.Optional<org.eclipse.emf.ecore.EObject>getEObject(GModelElement gModelElement)<T extends org.eclipse.emf.ecore.EObject>
java.util.Optional<T>getEObject(GModelElement gModelElement, java.lang.Class<T> clazz)static EMFModelIndexgetOrCreate(GModelElement element, EMFIdGenerator idGenerator)protected java.lang.StringgetOrCreateId(org.eclipse.emf.ecore.EObject element)java.lang.StringindexEObject(org.eclipse.emf.ecore.EObject element)booleanisAdapterForType(java.lang.Object type)protected <T> java.util.Optional<T>safeCast(java.util.Optional<?> toCast, java.lang.Class<T> clazz)-
Methods inherited from class org.eclipse.glsp.graph.impl.GModelIndexImpl
addAdapter, addIfGModelElement, allIds, get, getAll, getCounter, getEdgesWithIncomingReference, getIncomingEdges, getOutgoingEdges, getRoot, getTypeCount, handleContainment, isCurrentlyBuildingIndex, notifyAdd, notifyRemove, removeAdapter, searchInModel
-
Methods inherited from class org.eclipse.emf.ecore.util.ECrossReferenceAdapter
createInverseCrossReferencer, dump, getCrossReferenceAdapter, getInverseReferences, getInverseReferences, getInverseReferences, getNonNavigableInverseReferences, getNonNavigableInverseReferences, getTarget, handleCrossReference, isIncluded, notifyChanged, resolve, resolveAll, resolveProxy, selfAdapt, setTarget, setTarget, setTarget, setTarget, unsetTarget, unsetTarget, unsetTarget, unsetTarget, useRecursion
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.eclipse.glsp.graph.GModelIndex
findAll, findElement, findElement, findElementByClass, findElementByClass, getAllByClass, getStream
-
-
-
-
Field Detail
-
idGenerator
protected EMFIdGenerator idGenerator
-
eObjectIndex
protected com.google.common.collect.BiMap<java.lang.String,org.eclipse.emf.ecore.EObject> eObjectIndex
-
-
Constructor Detail
-
EMFModelIndex
protected EMFModelIndex(org.eclipse.emf.ecore.EObject target, EMFIdGenerator idGenerator)
-
-
Method Detail
-
isAdapterForType
public boolean isAdapterForType(java.lang.Object type)
- Specified by:
isAdapterForTypein interfaceorg.eclipse.emf.common.notify.Adapter- Overrides:
isAdapterForTypein classGModelIndexImpl
-
clear
public void clear()
- Specified by:
clearin interfaceGModelIndex- Overrides:
clearin classGModelIndexImpl
-
indexEObject
public java.lang.String indexEObject(org.eclipse.emf.ecore.EObject element)
-
getOrCreateId
protected java.lang.String getOrCreateId(org.eclipse.emf.ecore.EObject element)
-
getEObject
public java.util.Optional<org.eclipse.emf.ecore.EObject> getEObject(java.lang.String id)
-
getEObject
public <T extends org.eclipse.emf.ecore.EObject> java.util.Optional<T> getEObject(java.lang.String id, java.lang.Class<T> clazz)
-
getEObject
public java.util.Optional<org.eclipse.emf.ecore.EObject> getEObject(GModelElement gModelElement)
-
getEObject
public <T extends org.eclipse.emf.ecore.EObject> java.util.Optional<T> getEObject(GModelElement gModelElement, java.lang.Class<T> clazz)
-
safeCast
protected <T> java.util.Optional<T> safeCast(java.util.Optional<?> toCast, java.lang.Class<T> clazz)
-
getOrCreate
public static EMFModelIndex getOrCreate(GModelElement element, EMFIdGenerator idGenerator)
-
-