Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 340550

Summary: Add method returning a list of all metamodel EPackages to IMetaModelDescriptor
Product: [Automotive] Sphinx Reporter: Stephan Eberle <stephaneberle9>
Component: CoreAssignee: Stephan Eberle <stephaneberle9>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: dao.hoang.gate
Version: 0.7.0   
Target Milestone: 0.7.0   
Hardware: All   
OS: All   
Whiteboard:

Description Stephan Eberle CLA 2011-03-21 04:59:42 EDT
* Rename method IMetaModelDescriptor#getEPackage() to 'getERootPackage()';
* Create a new method IMetaModelDescriptor#getEPackages(); implementations should return a list of EPackages belonging to the described meta-model

Along the way:
* IMetaModelDescriptor#isEPackageRegistered() is not of much use. It checks if the metamodel has a root EPackage or not. Rather than exposing a method with such limited added value in the API it should be deprecated and removed later on. Clients can refer to #getERootPackage() and test the result for null instead.
Comment 1 Stephan Eberle CLA 2011-03-21 12:10:17 EDT
Fixed as proposed in description.

Little errata: IMetaModelDescriptor#getEPackage() was renamed to ''getRootEPackage()'' (but not ''getERootPackage()'')

At the same time, IMetaModelDescriptor#getEFactory() was renamed to ''getRootEFactory()''.

The newly introduced method IMetaModelDescriptor#getEPackages() was used to improve implementation of EObjectUtil#findESubTypesOf(). It does now no longer depend on the fact that metamodel has a generated a top-level root EPackage but returns useful results when metamodels consist of a flat collection of EPackages (such as e.g., in Hummingbird 2.0).
Comment 2 Balazs Grill CLA 2021-07-14 02:17:21 EDT
Mass-closing Resolved tickets