Bug 345905 - Add @noextends, @noimplements and @noinstantiates wherever possible
Summary: Add @noextends, @noimplements and @noinstantiates wherever possible
Status: CLOSED FIXED
Alias: None
Product: EMF
Classification: Modeling
Component: cdo.releng (show other bugs)
Version: 4.0   Edit
Hardware: All All
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Eike Stepper CLA
QA Contact: Eike Stepper CLA
URL:
Whiteboard:
Keywords: polish
Depends on:
Blocks:
 
Reported: 2011-05-16 06:09 EDT by Eike Stepper CLA
Modified: 2011-06-23 03:38 EDT (History)
0 users

See Also:


Attachments
Patch v1 - for future reference (248.04 KB, patch)
2011-05-16 06:11 EDT, Eike Stepper CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Eike Stepper CLA 2011-05-16 06:09:41 EDT
Many of our public interfaces like CDOView, CDOSessionProtocol, etc. are not supposed to be extended or implemented by clients. By adding @noextends or @noimplements we can reserve the right to add methods to these interfaces in the future without breaking clients (i.e. without making API Tools complain).

A similar thing is possible for classes: @noinstantiates reserves the right to change constructor signatures without the need to increase the bundle version.

Patch to follow...
Comment 1 Eike Stepper CLA 2011-05-16 06:11:23 EDT
Created attachment 195711 [details]
Patch v1 - for future reference

The following bundles are impacted directly or indirectly:

org.eclipse.emf.cdo
org.eclipse.emf.cdo.common
org.eclipse.emf.cdo.dawn
org.eclipse.emf.cdo.net4j
org.eclipse.emf.cdo.server
org.eclipse.emf.cdo.server.db
org.eclipse.emf.cdo.server.db4o
org.eclipse.emf.cdo.server.hibernate
org.eclipse.emf.cdo.server.mongodb
org.eclipse.emf.cdo.server.net4j
org.eclipse.emf.cdo.tests
org.eclipse.emf.cdo.workspace
org.eclipse.net4j
org.eclipse.net4j.http.common
org.eclipse.net4j.http.server
org.eclipse.net4j.jvm
org.eclipse.net4j.tcp
org.eclipse.net4j.util
Comment 2 Eike Stepper CLA 2011-05-16 06:15:22 EDT
Unfortunately API Tools do *not* respect x-friends in the way *I* would expect it. See bug 230279.

As a consequence we need to manually add "problem filters" in these cases.
Comment 3 Eike Stepper CLA 2011-05-16 06:18:16 EDT
Committed revision 7733:
- trunk/plugins/org.eclipse.emf.cdo
- trunk/plugins/org.eclipse.emf.cdo.common
- trunk/plugins/org.eclipse.emf.cdo.dawn
- trunk/plugins/org.eclipse.emf.cdo.net4j
- trunk/plugins/org.eclipse.emf.cdo.server
- trunk/plugins/org.eclipse.emf.cdo.server.db
- trunk/plugins/org.eclipse.emf.cdo.server.db4o
- trunk/plugins/org.eclipse.emf.cdo.server.hibernate
- trunk/plugins/org.eclipse.emf.cdo.server.mongodb
- trunk/plugins/org.eclipse.emf.cdo.server.net4j
- trunk/plugins/org.eclipse.emf.cdo.tests
- trunk/plugins/org.eclipse.net4j
- trunk/plugins/org.eclipse.net4j.http.common
- trunk/plugins/org.eclipse.net4j.http.server
- trunk/plugins/org.eclipse.net4j.jvm
- trunk/plugins/org.eclipse.net4j.tcp
- trunk/plugins/org.eclipse.net4j.util
Comment 4 Eike Stepper CLA 2011-05-16 06:32:15 EDT
Committed revision 7733
Comment 5 Eike Stepper CLA 2011-06-23 03:38:12 EDT
Available in R20110608-1407