Class EMFModelComprehension
- java.lang.Object
-
- org.eclipse.viatra.query.runtime.base.comprehension.EMFModelComprehension
-
public class EMFModelComprehension extends java.lang.Object
- No Extend:
- This class is not intended to be subclassed by clients.
-
-
Field Summary
Fields Modifier and Type Field Description protected BaseIndexOptions
options
-
Constructor Summary
Constructors Constructor Description EMFModelComprehension(BaseIndexOptions options)
Creates a model comprehension with the specified options.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
emulateUntraversableFeature(EMFVisitor visitor, org.eclipse.emf.ecore.EObject source, org.eclipse.emf.ecore.EStructuralFeature emulated, java.lang.Object target)
Emulates a derived edge, if it is not visited otherwiseboolean
isLoading(org.eclipse.emf.ecore.resource.Resource resource)
Finds out whether the Resource is currently loadingboolean
onlySamplingFeature(org.eclipse.emf.ecore.EStructuralFeature feature)
Decides whether a feature can only be sampled as there is no guarantee that proper notifications will be delivered by their implementation.boolean
representable(org.eclipse.emf.ecore.EStructuralFeature feature)
This feature can be represented in IQBase.void
traverseFeature(EMFVisitor visitor, org.eclipse.emf.ecore.EObject source, org.eclipse.emf.ecore.EStructuralFeature feature, java.lang.Object target, java.lang.Integer position)
protected void
traverseFeatureInternal(EMFVisitor visitor, org.eclipse.emf.ecore.EObject source, org.eclipse.emf.ecore.EStructuralFeature feature, java.lang.Object target, boolean visitorPrunes, java.lang.Integer position)
protected void
traverseFeatureInternalSimple(EMFVisitor visitor, org.eclipse.emf.ecore.EObject source, org.eclipse.emf.ecore.EStructuralFeature feature, java.lang.Object target, java.lang.Integer position)
protected void
traverseFeatureTargets(EMFVisitor visitor, org.eclipse.emf.ecore.EObject source, org.eclipse.emf.ecore.EStructuralFeature feature, boolean visitorPrunes)
void
traverseModel(EMFVisitor visitor, org.eclipse.emf.common.notify.Notifier source)
Resource filters not consulted here (for performance), because model roots are assumed to be pre-filtered.void
traverseObject(EMFVisitor visitor, org.eclipse.emf.ecore.EObject source)
void
traverseObjectIfUnfiltered(EMFVisitor visitor, org.eclipse.emf.ecore.EObject targetObject)
void
traverseResource(EMFVisitor visitor, org.eclipse.emf.ecore.resource.Resource source)
void
traverseResourceIfUnfiltered(EMFVisitor visitor, org.eclipse.emf.ecore.resource.Resource resource)
void
traverseResourceSet(EMFVisitor visitor, org.eclipse.emf.ecore.resource.ResourceSet source)
void
tryResolveReference(org.eclipse.emf.ecore.EObject source, org.eclipse.emf.ecore.EReference reference)
Can be called to attempt to resolve a reference pointing to one or more proxies, using eGet().protected boolean
unprunableFeature(EMFVisitor visitor, org.eclipse.emf.ecore.EObject source, org.eclipse.emf.ecore.EStructuralFeature feature)
boolean
untraversableDirectly(org.eclipse.emf.ecore.EStructuralFeature feature)
Should not traverse this feature directly.
-
-
-
Field Detail
-
options
protected BaseIndexOptions options
- Since:
- 2.3
-
-
Constructor Detail
-
EMFModelComprehension
public EMFModelComprehension(BaseIndexOptions options)
Creates a model comprehension with the specified options. The options are copied, therefore subsequent changes will not affect the comprehension.
-
-
Method Detail
-
untraversableDirectly
public boolean untraversableDirectly(org.eclipse.emf.ecore.EStructuralFeature feature)
Should not traverse this feature directly. It is still possible that it can be represented in IQBase ifrepresentable(EStructuralFeature)
is true.
-
onlySamplingFeature
public boolean onlySamplingFeature(org.eclipse.emf.ecore.EStructuralFeature feature)
Decides whether a feature can only be sampled as there is no guarantee that proper notifications will be delivered by their implementation. Such features are derived (and/or volatile) features that are not well-behaving.
-
representable
public boolean representable(org.eclipse.emf.ecore.EStructuralFeature feature)
This feature can be represented in IQBase.
-
traverseModel
public void traverseModel(EMFVisitor visitor, org.eclipse.emf.common.notify.Notifier source)
Resource filters not consulted here (for performance), because model roots are assumed to be pre-filtered.
-
traverseResourceSet
public void traverseResourceSet(EMFVisitor visitor, org.eclipse.emf.ecore.resource.ResourceSet source)
-
traverseResourceIfUnfiltered
public void traverseResourceIfUnfiltered(EMFVisitor visitor, org.eclipse.emf.ecore.resource.Resource resource)
-
traverseResource
public void traverseResource(EMFVisitor visitor, org.eclipse.emf.ecore.resource.Resource source)
-
traverseObjectIfUnfiltered
public void traverseObjectIfUnfiltered(EMFVisitor visitor, org.eclipse.emf.ecore.EObject targetObject)
-
traverseObject
public void traverseObject(EMFVisitor visitor, org.eclipse.emf.ecore.EObject source)
-
traverseFeatureTargets
protected void traverseFeatureTargets(EMFVisitor visitor, org.eclipse.emf.ecore.EObject source, org.eclipse.emf.ecore.EStructuralFeature feature, boolean visitorPrunes)
-
unprunableFeature
protected boolean unprunableFeature(EMFVisitor visitor, org.eclipse.emf.ecore.EObject source, org.eclipse.emf.ecore.EStructuralFeature feature)
- Since:
- 2.3
-
traverseFeature
public void traverseFeature(EMFVisitor visitor, org.eclipse.emf.ecore.EObject source, org.eclipse.emf.ecore.EStructuralFeature feature, java.lang.Object target, java.lang.Integer position)
- Parameters:
position
- optional: known position in multivalued collection (for more efficient proxy resolution)
-
traverseFeatureInternalSimple
protected void traverseFeatureInternalSimple(EMFVisitor visitor, org.eclipse.emf.ecore.EObject source, org.eclipse.emf.ecore.EStructuralFeature feature, java.lang.Object target, java.lang.Integer position)
- Parameters:
position
- optional: known position in multivalued collection (for more efficient proxy resolution)- Since:
- 2.3
-
traverseFeatureInternal
protected void traverseFeatureInternal(EMFVisitor visitor, org.eclipse.emf.ecore.EObject source, org.eclipse.emf.ecore.EStructuralFeature feature, java.lang.Object target, boolean visitorPrunes, java.lang.Integer position)
- Parameters:
position
- optional: known position in multivalued collection (for more efficient proxy resolution)- Since:
- 2.3
-
emulateUntraversableFeature
protected void emulateUntraversableFeature(EMFVisitor visitor, org.eclipse.emf.ecore.EObject source, org.eclipse.emf.ecore.EStructuralFeature emulated, java.lang.Object target)
Emulates a derived edge, if it is not visited otherwise- Since:
- 2.3
-
tryResolveReference
public void tryResolveReference(org.eclipse.emf.ecore.EObject source, org.eclipse.emf.ecore.EReference reference)
Can be called to attempt to resolve a reference pointing to one or more proxies, using eGet().
-
isLoading
public boolean isLoading(org.eclipse.emf.ecore.resource.Resource resource)
Finds out whether the Resource is currently loading
-
-