Class EMFNotationModelIndex
- java.lang.Object
-
- org.eclipse.emf.ecore.util.ECrossReferenceAdapter
-
- org.eclipse.glsp.graph.impl.GModelIndexImpl
-
- org.eclipse.glsp.server.emf.EMFModelIndex
-
- org.eclipse.glsp.server.emf.notation.EMFNotationModelIndex
-
- All Implemented Interfaces:
org.eclipse.emf.common.notify.Adapter,org.eclipse.emf.common.notify.Adapter.Internal,GModelIndex
public class EMFNotationModelIndex extends EMFModelIndex
Is used to index all child elements of a semantic and notation model. Offers a set of query methods retrieve, initialize and resolve indexed notation 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 EMFSemanticIdConverteridConverterprotected static org.apache.logging.log4j.LoggerLOGGERprotected com.google.common.collect.BiMap<org.eclipse.emf.ecore.EObject,NotationElement>notationIndex-
Fields inherited from class org.eclipse.glsp.server.emf.EMFModelIndex
eObjectIndex, idGenerator
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedEMFNotationModelIndex(org.eclipse.emf.ecore.EObject target, EMFSemanticIdConverter idConverter)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclear()protected SemanticElementReferencecreateReference(org.eclipse.emf.ecore.EObject eObject)protected java.util.List<NotationElement>findUnresolvedElements(Diagram diagram, org.eclipse.emf.ecore.EObject semanticModel)java.util.Optional<NotationElement>getNotation(java.lang.String id)<T extends NotationElement>
java.util.Optional<T>getNotation(java.lang.String id, java.lang.Class<T> clazz)java.util.Optional<NotationElement>getNotation(org.eclipse.emf.ecore.EObject semanticElement)<T extends NotationElement>
java.util.Optional<T>getNotation(org.eclipse.emf.ecore.EObject semanticElement, java.lang.Class<T> clazz)java.util.Optional<NotationElement>getNotation(GModelElement gModelElement)<T extends NotationElement>
java.util.Optional<T>getNotation(GModelElement element, java.lang.Class<T> clazz)static EMFNotationModelIndexgetOrCreate(GModelElement element, EMFSemanticIdConverter idGenerator)DiagramindexAll(Diagram diagram, org.eclipse.emf.ecore.EObject semanticModel)protected voidindexDiagram(Diagram diagram)protected voidindexNotation(NotationElement notationElement)booleanisAdapterForType(java.lang.Object type)protected voidresolveDiagram(Diagram diagram, org.eclipse.emf.ecore.EObject semanticModel)protected voidresolveNotationElement(NotationElement notation, org.eclipse.emf.ecore.EObject semanticModel)protected SemanticElementReferenceresolveSemanticElementReference(SemanticElementReference reference, org.eclipse.emf.ecore.EObject semanticModel)protected SemanticElementReferenceresolveSemanticReference(SemanticElementReference reference, org.eclipse.emf.ecore.EObject semanticModel)-
Methods inherited from class org.eclipse.glsp.server.emf.EMFModelIndex
getEObject, getEObject, getEObject, getEObject, getOrCreate, getOrCreateId, indexEObject, safeCast
-
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
-
LOGGER
protected static org.apache.logging.log4j.Logger LOGGER
-
notationIndex
protected com.google.common.collect.BiMap<org.eclipse.emf.ecore.EObject,NotationElement> notationIndex
-
idConverter
protected final EMFSemanticIdConverter idConverter
-
-
Constructor Detail
-
EMFNotationModelIndex
protected EMFNotationModelIndex(org.eclipse.emf.ecore.EObject target, EMFSemanticIdConverter idConverter)
-
-
Method Detail
-
isAdapterForType
public boolean isAdapterForType(java.lang.Object type)
- Specified by:
isAdapterForTypein interfaceorg.eclipse.emf.common.notify.Adapter- Overrides:
isAdapterForTypein classEMFModelIndex
-
clear
public void clear()
- Specified by:
clearin interfaceGModelIndex- Overrides:
clearin classEMFModelIndex
-
getNotation
public java.util.Optional<NotationElement> getNotation(org.eclipse.emf.ecore.EObject semanticElement)
-
getNotation
public <T extends NotationElement> java.util.Optional<T> getNotation(org.eclipse.emf.ecore.EObject semanticElement, java.lang.Class<T> clazz)
-
getNotation
public java.util.Optional<NotationElement> getNotation(java.lang.String id)
-
getNotation
public <T extends NotationElement> java.util.Optional<T> getNotation(java.lang.String id, java.lang.Class<T> clazz)
-
getNotation
public java.util.Optional<NotationElement> getNotation(GModelElement gModelElement)
-
getNotation
public <T extends NotationElement> java.util.Optional<T> getNotation(GModelElement element, java.lang.Class<T> clazz)
-
indexDiagram
protected void indexDiagram(Diagram diagram)
-
indexNotation
protected void indexNotation(NotationElement notationElement)
-
resolveDiagram
protected void resolveDiagram(Diagram diagram, org.eclipse.emf.ecore.EObject semanticModel)
-
resolveNotationElement
protected void resolveNotationElement(NotationElement notation, org.eclipse.emf.ecore.EObject semanticModel)
-
resolveSemanticReference
protected SemanticElementReference resolveSemanticReference(SemanticElementReference reference, org.eclipse.emf.ecore.EObject semanticModel)
-
resolveSemanticElementReference
protected SemanticElementReference resolveSemanticElementReference(SemanticElementReference reference, org.eclipse.emf.ecore.EObject semanticModel)
-
findUnresolvedElements
protected java.util.List<NotationElement> findUnresolvedElements(Diagram diagram, org.eclipse.emf.ecore.EObject semanticModel)
-
createReference
protected SemanticElementReference createReference(org.eclipse.emf.ecore.EObject eObject)
-
getOrCreate
public static EMFNotationModelIndex getOrCreate(GModelElement element, EMFSemanticIdConverter idGenerator)
-
-