[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [p2-dev] @noimplement on IMetadataRepository ?

The @noimplement tag really means "we intend to add methods to this interface in a future release". This might be an acceptable limitation for some repository implementations - they can just use version ranges to specify a tight range on the p2.repository bundle so they aren't used on a future release, and then release a new version of their implementation whenever new versions are added. If so, you can add a an API warning filter to get rid of the warning. If we get rid of the tag, we'll need to introduce new interfaces ever time we add methods in the future, which creates a messy API that is very hard for clients to understand and work with (see ITextViewerExtension8 for an example of what this can look like a few years later).

John


On Fri, Feb 19, 2010 at 4:06 AM, Thomas Hallgren <thomas@xxxxxxx> wrote:
I think the real issue here is; Is p2 in any way dependent on that the underlying implementation uses the abstract base class?

If it's not, I suggest we replace the @noimplement with javadoc informing the reader about the abstract class, leaving the choice of using it to him. The @noimplement gives the impression that you're doing something wrong defying it although its actually OK.

- thomas