New and Noteworthy - EMF-IncQuery 0.9.0
As version 0.9 has not yet been released, this page is work in progress and can be expected to change in the future.
Generalized API for non-EMF query scopes
Starting with version 0.9, it possible to instantiate an IncQueryEngine over non-EMF models and formulate queries appropriate against that kind of model. This required some minor changes to the API.
- An IncQueryEngine can now be instantiated for a scope of query evaluation defined by the newly introduced org.eclipse.incquery.runtime.api.scope.IncQueryScope interface. For querying over EMF models, use the org.eclipse.incquery.runtime.emf.EMFScope class, which encompasses an EMF model root (ResourceSet, Resource or containing EObject) as well as the EMF-specific BaseIndexOptions (such as dynamic mode or wildcard mode).
- Query specification declare the type of scope they can be evaluated on by the getPreferredScopeClass() method. For example, EMF model queries can only be evaluated on EMF models.
- The getBaseIndex() method on the IncQuery engine returns a non-EMF-specific interface of the base model index. To use EMF-specific features, refer to org.eclipse.incquery.runtime.emf.EMFScope.extractUnderlyingEMFIndex().