org.eclipse.viatra.addon.querybasedfeatures.runtime

## Class QueryBasedFeatureSetup

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

-     public class QueryBasedFeatureSetup
      extends java.lang.Object

  A helper class to initialize query-based features in cases where the default behavior (on-demand initialization in getter) is not acceptable.
  Since:
    1.3

- - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static java.util.Set<org.eclipse.emf.ecore.EStructuralFeature>` | `initializeAllQueryBasedFeatures(org.eclipse.emf.common.notify.Notifier rootNotifier, org.eclipse.emf.ecore.EPackage... ePackages)` Initializes all query based features found in the given packages on the given notifier.

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

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

- - ### Method Detail

    - #### initializeAllQueryBasedFeatures

          public static java.util.Set<org.eclipse.emf.ecore.EStructuralFeature> initializeAllQueryBasedFeatures(org.eclipse.emf.common.notify.Notifier rootNotifier,
                                                                                                                org.eclipse.emf.ecore.EPackage... ePackages)

      Initializes all query based features found in the given packages on the given notifier. The notifier cannot be null and at least one EPackage must be passed when calling the method. If the delegate factory for query-based features was not registered in the delegate factory registry, then it will be at the beginning of the method.

      Note that the initialization of query-based features may cause the initialization of other query-based features from packages that were not passed to this method. This happens if the EClass that defines such a feature has at least one EObject instance contained by the notifier transitively, the feature is an EReference and the base index traverses the EObject and requests the value of the feature. Such features will not be included in the returned set.

      Parameters:
        `rootNotifier` - that the query-based features are initialized on, cannot be null
        `ePackages` - to look in for query-based features, at least one is required
      Returns:
        the set of features that are query-based and are initialized after the call (may include features that were already initialized)
      Since:
        1.3