org.eclipse.viatra.addon.querybasedfeatures.runtime

## Class QueryBasedFeature

- java.lang.Object
- - org.eclipse.viatra.addon.querybasedfeatures.runtime.QueryBasedFeature

- Direct Known Subclasses:
    IterationQueryBasedFeature, MultiValueQueryBasedFeature, SingleValueQueryBasedFeature

      public abstract class QueryBasedFeature
      extends java.lang.Object

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `QueryBasedFeature(org.eclipse.emf.ecore.EStructuralFeature feature, boolean keepCache)`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected abstract void` | `afterUpdate()`
    `protected void` | `appendNotificationToList(org.eclipse.emf.ecore.impl.ENotificationImpl notification)`
    `protected abstract void` | `beforeUpdate()`
    `protected AdvancedViatraQueryEngine` | `engineForMatcher()`
    `protected org.eclipse.emf.ecore.EStructuralFeature` | `getFeature()`
    `abstract QueryBasedFeatureKind` | `getKind()`
    `protected ViatraQueryMatcher<IPatternMatch>` | `getMatcher()`
    `protected java.lang.String` | `getSourceParamName()`
    `protected org.eclipse.emf.ecore.InternalEObject` | `getSourceValue(IPatternMatch signature)`
    `protected java.lang.String` | `getTargetParamName()`
    `protected java.lang.Object` | `getTargetValue(IPatternMatch signature)`
    `abstract java.lang.Object` | `getValue(java.lang.Object source)`
    `protected void` | `initialize(ViatraQueryMatcher<IPatternMatch> matcher, java.lang.String sourceParamName, java.lang.String targetParamName)`
    `protected boolean` | `isCached()`
    `protected boolean` | `isInitialized()`
    `protected abstract void` | `processAppearedMatch(IPatternMatch signature)`
    `protected abstract void` | `processDisappearedMatch(IPatternMatch signature)`
    `protected void` | `setMatcher(ViatraQueryMatcher<IPatternMatch> matcher)`
    `protected void` | `setSourceParamName(java.lang.String sourceParamName)`
    `protected void` | `setTargetParamName(java.lang.String targetParamName)`
    `protected void` | `startMonitoring()` Call this once to start handling callbacks.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### QueryBasedFeature

          public QueryBasedFeature(org.eclipse.emf.ecore.EStructuralFeature feature,
                                   boolean keepCache)

  - ### Method Detail

    - #### initialize

          protected void initialize(ViatraQueryMatcher<IPatternMatch> matcher,
                                    java.lang.String sourceParamName,
                                    java.lang.String targetParamName)

    - #### getMatcher

          protected ViatraQueryMatcher<IPatternMatch> getMatcher()

    - #### setMatcher

          protected void setMatcher(ViatraQueryMatcher<IPatternMatch> matcher)

    - #### getFeature

          protected org.eclipse.emf.ecore.EStructuralFeature getFeature()

    - #### getSourceParamName

          protected java.lang.String getSourceParamName()

    - #### setSourceParamName

          protected void setSourceParamName(java.lang.String sourceParamName)

    - #### getTargetParamName

          protected java.lang.String getTargetParamName()

    - #### setTargetParamName

          protected void setTargetParamName(java.lang.String targetParamName)

    - #### isCached

          protected boolean isCached()

    - #### isInitialized

          protected boolean isInitialized()

    - #### getKind

          public abstract QueryBasedFeatureKind getKind()

    - #### afterUpdate

          protected abstract void afterUpdate()

    - #### beforeUpdate

          protected abstract void beforeUpdate()

    - #### startMonitoring

          protected void startMonitoring()

      Call this once to start handling callbacks.

    - #### engineForMatcher

          protected AdvancedViatraQueryEngine engineForMatcher()

    - #### getValue

          public abstract java.lang.Object getValue(java.lang.Object source)

    - #### processAppearedMatch

          protected abstract void processAppearedMatch(IPatternMatch signature)

    - #### getSourceValue

          protected org.eclipse.emf.ecore.InternalEObject getSourceValue(IPatternMatch signature)

    - #### getTargetValue

          protected java.lang.Object getTargetValue(IPatternMatch signature)

    - #### processDisappearedMatch

          protected abstract void processDisappearedMatch(IPatternMatch signature)

    - #### appendNotificationToList

          protected void appendNotificationToList(org.eclipse.emf.ecore.impl.ENotificationImpl notification)