| Summary: | Provide an EStoreMinimalEObjectImpl | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Modeling] EMF | Reporter: | Eike Stepper <stepper> | ||||||
| Component: | Core | Assignee: | Ed Merks <Ed.Merks> | ||||||
| Status: | CLOSED FIXED | QA Contact: | |||||||
| Severity: | enhancement | ||||||||
| Priority: | P3 | CC: | pierre-charles.david | ||||||
| Version: | 2.7.0 | ||||||||
| Target Milestone: | --- | ||||||||
| Hardware: | PC | ||||||||
| OS: | Windows 7 | ||||||||
| Whiteboard: | |||||||||
| Attachments: |
|
||||||||
|
Description
Eike Stepper
Created attachment 226760 [details]
My initial attemp to provide a new store-based implementation
This new implementation is abstract and introduces no additional fields, so only the two fields from MinimalEObjectImpl are present. It should be an ideal replacement for CDO's use of EStoreEObjectImpl.
Note that the cached storage for eContainer and eContainerFeatureID (used for CDO objects that are transient) are available via the protected eBasicInternalContainer and eBasicContainerFeatureID methods.
Created attachment 226783 [details]
Additional changes based on testing with CDO
This new patch includes the changes Eike and I tested along with improvements we noted along the way, i.e., removing the last element in the array can set an empty array, when setting an empty array, we don't need to check the container's adapter, and we can check the container's adapters more efficiently. A new callback is included for handling adding and removing adapters without adding a listener.
Reminder: You may want to add "@since 2.5" to MinimalEObjectImpl ;-) The improvements are committed to master http://git.eclipse.org/c/emf/org.eclipse.emf.git/commit/?id=3ac87e6b677ccb38675e287d21f71febaa030094 Thank you, that's awesome! The changes are available in Kepler. |