|Re: [p2-dev] @noimplement on IMetadataRepository ?|
I actually just recently discovered the EMF changed EObject from being an abstract class to being an interface. They had this harsh limitation for the same reason as p2 I guess. To allow compatible API evolution :-)
How do we get rid of all the "Illegally implements" warnings in the p2 code?
On 02/16/2010 04:49 PM, John Arthorne wrote:
Yes, clients are supposed to subclass AbstractMetadataRepository rather than implementing the interface directly. The restriction is there so that we can add methods to this interface in the future - an interface implemented directly by clients can never be evolved in a compatible way. This sounds like quite a harsh limitation of EMF - many Eclipse APIs are moving towards abstract base classes rather than interfaces to allow for compatible API evolution.