Package org.eclipse.viatra.addon.querybasedfeatures.runtime

## Class DerivedFeatureAdapter

- java.lang.Object
- - org.eclipse.emf.common.notify.impl.AdapterImpl
  - - org.eclipse.viatra.addon.querybasedfeatures.runtime.DerivedFeatureAdapter

- All Implemented Interfaces:
    `org.eclipse.emf.common.notify.Adapter`, `org.eclipse.emf.common.notify.Adapter.Internal`

      public class DerivedFeatureAdapter
      extends org.eclipse.emf.common.notify.impl.AdapterImpl

  Adapter that turns derived features that recalculate their values on each getter call based on a well-defined set of navigation from the source into well-behaving derived features by automatically calling the getters and sending notifications.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `protected class` | `DerivedFeatureAdapter.DerivedFeatureEMFVisitor` |

    - ### Nested classes/interfaces inherited from interface org.eclipse.emf.common.notify.Adapter

      `org.eclipse.emf.common.notify.Adapter.Internal`

  - ### Field Summary

    - ### Fields inherited from class org.eclipse.emf.common.notify.impl.AdapterImpl

      `target`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `DerivedFeatureAdapter​(org.eclipse.emf.ecore.EObject source, org.eclipse.emf.ecore.EStructuralFeature derivedFeature)` |
    `DerivedFeatureAdapter​(org.eclipse.emf.ecore.EObject source, org.eclipse.emf.ecore.EStructuralFeature derivedFeature, org.eclipse.emf.ecore.EStructuralFeature localFeature)` | Convenience constructor for a local dependency
    `DerivedFeatureAdapter​(org.eclipse.emf.ecore.EObject source, org.eclipse.emf.ecore.EStructuralFeature derivedFeature, org.eclipse.emf.ecore.EStructuralFeature navigationFeature, org.eclipse.emf.ecore.EStructuralFeature dependantFeature)` | Convenience constructor for a navigated dependency
    `DerivedFeatureAdapter​(org.eclipse.emf.ecore.EObject source, org.eclipse.emf.ecore.EStructuralFeature derivedFeature, org.eclipse.emf.ecore.EStructuralFeature navigationFeature, org.eclipse.emf.ecore.EStructuralFeature dependantFeature, org.eclipse.emf.ecore.EStructuralFeature localFeature)` | Convenience constructor for a local and navigated dependency

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addLocalDependency​(org.eclipse.emf.ecore.EStructuralFeature localFeature)` |
    `void` | `addNavigatedDependency​(org.eclipse.emf.ecore.EStructuralFeature navigationFeature, org.eclipse.emf.ecore.EStructuralFeature dependantFeature)` |
    `void` | `notifyChanged​(org.eclipse.emf.common.notify.Notification notification)` |

    - ### Methods inherited from class org.eclipse.emf.common.notify.impl.AdapterImpl

      `getTarget, isAdapterForType, setTarget, unsetTarget`

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

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

- - ### Constructor Detail

    - #### DerivedFeatureAdapter

          public DerivedFeatureAdapter​(org.eclipse.emf.ecore.EObject source,
                                       org.eclipse.emf.ecore.EStructuralFeature derivedFeature,
                                       org.eclipse.emf.ecore.EStructuralFeature navigationFeature,
                                       org.eclipse.emf.ecore.EStructuralFeature dependantFeature,
                                       org.eclipse.emf.ecore.EStructuralFeature localFeature)

      Convenience constructor for a local and navigated dependency

    - #### DerivedFeatureAdapter

          public DerivedFeatureAdapter​(org.eclipse.emf.ecore.EObject source,
                                       org.eclipse.emf.ecore.EStructuralFeature derivedFeature,
                                       org.eclipse.emf.ecore.EStructuralFeature navigationFeature,
                                       org.eclipse.emf.ecore.EStructuralFeature dependantFeature)

      Convenience constructor for a navigated dependency

    - #### DerivedFeatureAdapter

          public DerivedFeatureAdapter​(org.eclipse.emf.ecore.EObject source,
                                       org.eclipse.emf.ecore.EStructuralFeature derivedFeature,
                                       org.eclipse.emf.ecore.EStructuralFeature localFeature)

      Convenience constructor for a local dependency

    - #### DerivedFeatureAdapter

          public DerivedFeatureAdapter​(org.eclipse.emf.ecore.EObject source,
                                       org.eclipse.emf.ecore.EStructuralFeature derivedFeature)

  - ### Method Detail

    - #### addNavigatedDependency

          public void addNavigatedDependency​(org.eclipse.emf.ecore.EStructuralFeature navigationFeature,
                                             org.eclipse.emf.ecore.EStructuralFeature dependantFeature)

    - #### addLocalDependency

          public void addLocalDependency​(org.eclipse.emf.ecore.EStructuralFeature localFeature)

    - #### notifyChanged

          public void notifyChanged​(org.eclipse.emf.common.notify.Notification notification)

      Specified by:
        `notifyChanged` in interface `org.eclipse.emf.common.notify.Adapter`
      Overrides:
        `notifyChanged` in class `org.eclipse.emf.common.notify.impl.AdapterImpl`