This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 96414 - make ProjectClassPathModifierImplementation's methods public.
Summary: make ProjectClassPathModifierImplementation's methods public.
Alias: None
Product: java
Classification: Unclassified
Component: Project (show other bugs)
Version: 6.x
Hardware: All All
: P4 blocker (vote)
Assignee: Tomas Zezula
Depends on:
Blocks: 196455
  Show dependency tree
Reported: 2007-02-23 09:54 UTC by Milos Kleint
Modified: 2012-06-06 15:53 UTC (History)
1 user (show)

See Also:
Exception Reporter:


Note You need to log in before you can comment on or make changes to this bug.
Description Milos Kleint 2007-02-23 09:54:34 UTC
make ProjectClassPathModifierImplementation's methods public, to allow creating
a LookupMerger implementation of the class. Currently all methods are protected,
effectively disallowing any proxy implementations that would aggregate impls
from multiple sources. There are no technical reasons for the methods to be
protected, the abstract class has no internal logic on it's own.
Comment 1 Milos Kleint 2007-02-23 10:09:25 UTC
obviously making the methods public is non-backward compatible change. :(
Comment 2 Tomas Zezula 2007-03-21 16:26:35 UTC
There is a technical reason for protected methods. It's a SPI. If you allow
public methods in the SPI the client can do: lookup
(SPIClass).invokeSPIMetohd(). This is not possible in the case when methods are
protected. There are tow possibilities:
1) change protected to public, has to be done before the API is released 6.0
2) Add final protected delegateXXXXToLookup methods which take Lookup and
delegate into it.
Comment 3 Lukas Hasik 2008-04-10 21:37:08 UTC
moving opened issues from TM <= 6.1 to TM=Dev
Comment 4 Tomas Zezula 2008-08-26 10:48:41 UTC
Is there any use case for such a decoration?

Comment 5 Jesse Glick 2012-06-06 15:53:21 UTC
Raison d'être was reflection in Maven project type, which is no longer necessary after implementing bug #196455.