Package 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 | Description
    --- | ---
    `QueryBasedFeature​(org.eclipse.emf.ecore.EStructuralFeature feature, boolean keepCache)` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | 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)