public class IncrementalGraphHasher extends java.lang.Object implements IStateCoder, org.eclipse.viatra.query.runtime.base.api.InstanceListener
Modifier and Type | Class and Description |
---|---|
class |
IncrementalGraphHasher.LightweightFeatureChangeListener |
Constructor and Description |
---|
IncrementalGraphHasher(java.util.Collection<org.eclipse.emf.ecore.EClass> classes,
java.util.Collection<org.eclipse.emf.ecore.EStructuralFeature> features) |
Modifier and Type | Method and Description |
---|---|
void |
addNewModelObject(IModelObject newModelObject) |
java.lang.Object |
createActivationCode(org.eclipse.viatra.query.runtime.api.IPatternMatch match)
Returns a pseudo-unique identifier that describes the given
IPatternMatch in the context of the
underlying model's current internal state. |
java.lang.Object |
createStateCode()
Returns a pseudo-unique identifier that describes the underlying model's current internal state.
|
void |
init(org.eclipse.emf.common.notify.Notifier notifier)
Initializes the state coder on the given model.
|
void |
instanceDeleted(org.eclipse.emf.ecore.EClass clazz,
org.eclipse.emf.ecore.EObject instance) |
void |
instanceInserted(org.eclipse.emf.ecore.EClass clazz,
org.eclipse.emf.ecore.EObject instance) |
void |
invalidateObjectRelations(IModelObject objectChanged) |
void |
invalidateObjectState(IModelObject objectChanged) |
void |
removeModelObject(IModelObject modelObjectToRemove) |
void |
resetCache() |
public IncrementalGraphHasher(java.util.Collection<org.eclipse.emf.ecore.EClass> classes, java.util.Collection<org.eclipse.emf.ecore.EStructuralFeature> features) throws org.eclipse.viatra.query.runtime.exception.ViatraQueryException
org.eclipse.viatra.query.runtime.exception.ViatraQueryException
public void invalidateObjectState(IModelObject objectChanged)
public void invalidateObjectRelations(IModelObject objectChanged)
public void init(org.eclipse.emf.common.notify.Notifier notifier)
IStateCoder
init
in interface IStateCoder
public void addNewModelObject(IModelObject newModelObject)
public void removeModelObject(IModelObject modelObjectToRemove)
public java.lang.Object createStateCode()
IStateCoder
createStateCode
in interface IStateCoder
Object
that can be used as the identifier.public java.lang.Object createActivationCode(org.eclipse.viatra.query.runtime.api.IPatternMatch match)
IStateCoder
IPatternMatch
in the context of the
underlying model's current internal state.createActivationCode
in interface IStateCoder
Object
that can be used as the identifier in the given state.public void instanceInserted(org.eclipse.emf.ecore.EClass clazz, org.eclipse.emf.ecore.EObject instance)
instanceInserted
in interface org.eclipse.viatra.query.runtime.base.api.InstanceListener
public void instanceDeleted(org.eclipse.emf.ecore.EClass clazz, org.eclipse.emf.ecore.EObject instance)
instanceDeleted
in interface org.eclipse.viatra.query.runtime.base.api.InstanceListener
public void resetCache()