public class EMFScope extends QueryScope
QueryScope consisting of EMF objects contained in multiple ResourceSets, a single ResourceSet, Resource or a containment subtree below a given EObject.
The scope is characterized by a root and some options (see BaseIndexOptions) such as dynamic EMF mode, subtree filtering etc.
The scope of pattern matching will be the given EMF model root(s) and below (see FAQ for more precise definition).
Note on cross-resource containment: in case of EObject scopes, cross-resource containments will be considered part of the scope.
The same goes for ResourceSet scopes, provided that the resource of the contained element is successfully loaded into the resource set.
In case of a Resource scope, containments pointing out from the resource will be excluded from the scope.
Thus the boundaries of EObject scopes conform to the notion of EMF logical containment, while Resource and ResourceSet scopes adhere to persistence boundaries.
| Constructor and Description |
|---|
EMFScope(org.eclipse.emf.common.notify.Notifier scopeRoot)
Creates an EMF scope at the given root, with default options (recommended for most users).
|
EMFScope(org.eclipse.emf.common.notify.Notifier scopeRoot,
BaseIndexOptions options)
Creates an EMF scope at the given root, with customizable options.
|
EMFScope(java.util.Set<? extends org.eclipse.emf.common.notify.Notifier> scopeRoots,
BaseIndexOptions options)
Creates an EMF scope at the given roots, with customizable options.
|
EMFScope(java.util.Set<? extends org.eclipse.emf.ecore.resource.ResourceSet> scopeRoots)
Creates an EMF scope at the given roots, with default options (recommended for most users).
|
| Modifier and Type | Method and Description |
|---|---|
protected IEngineContext |
createEngineContext(ViatraQueryEngine engine,
IIndexingErrorListener errorListener,
org.apache.log4j.Logger logger) |
boolean |
equals(java.lang.Object obj) |
static NavigationHelper |
extractUnderlyingEMFIndex(ViatraQueryEngine engine)
Provides access to the underlying EMF model index (
NavigationHelper) from a VIATRA Query engine instantiated on an EMFScope |
BaseIndexOptions |
getOptions() |
java.util.Set<? extends org.eclipse.emf.common.notify.Notifier> |
getScopeRoots() |
int |
hashCode() |
java.lang.String |
toString() |
isCompatibleWithQueryScopepublic EMFScope(org.eclipse.emf.common.notify.Notifier scopeRoot)
scopeRoot - the root of the EMF scopeViatraQueryRuntimeException- - if scopeRoot is not an EMF ResourceSet, Resource or EObjectpublic EMFScope(org.eclipse.emf.common.notify.Notifier scopeRoot,
BaseIndexOptions options)
Most users should consider EMFScope(Notifier) instead.
scopeRoot - the root of the EMF scopeoptions - the base index building settingsViatraQueryRuntimeException - if scopeRoot is not an EMF ResourceSet, Resource or EObjectpublic EMFScope(java.util.Set<? extends org.eclipse.emf.ecore.resource.ResourceSet> scopeRoots)
scopeRoots - the roots of the EMF scope, must be ResourceSetsViatraQueryRuntimeException - if not all scopeRoots are ResourceSetspublic EMFScope(java.util.Set<? extends org.eclipse.emf.common.notify.Notifier> scopeRoots,
BaseIndexOptions options)
Most users should consider EMFScope(Set) instead.
scopeRoots - the roots of the EMF scope, must be ResourceSetsoptions - the base index building settingsViatraQueryRuntimeException - if not all scopeRoots are ResourceSetspublic java.util.Set<? extends org.eclipse.emf.common.notify.Notifier> getScopeRoots()
ResourceSets) containing the modelpublic BaseIndexOptions getOptions()
public int hashCode()
hashCode in class java.lang.Objectpublic boolean equals(java.lang.Object obj)
equals in class java.lang.Objectpublic java.lang.String toString()
toString in class java.lang.Objectprotected IEngineContext createEngineContext(ViatraQueryEngine engine, IIndexingErrorListener errorListener, org.apache.log4j.Logger logger)
createEngineContext in class org.eclipse.viatra.query.runtime.internal.apiimpl.EngineContextFactorypublic static NavigationHelper extractUnderlyingEMFIndex(ViatraQueryEngine engine)
NavigationHelper) from a VIATRA Query engine instantiated on an EMFScopeengine - an already existing VIATRA Query engine instantiated on an EMFScopeViatraQueryRuntimeException - if base index initialization fails