Bug 284650 [CommonNavigator] Misleading JavaDoc of the INavigatorContentService
Build ID: 20090619-0625 Steps To Reproduce: It is stated: "Clients should create instances of the this class using the factory ({@link NavigatorContentServiceFactory}).", which is truth for creation of a new instance only. If the instance of INavigatorContentService is required to configure the existing CNF instance, it should be obtained from the Navigator instead. More information: Here is a chat transcript with Francis Upton: [4:54:09 PM] Simon Zambrovski: NavigatorContentServiceFactory <- this guy is not intended to be used by clients in order to get access to the INavigatorContentService, right? So INavigatorContentService service = new NavigatorContentServiceFactory().createContentService("my.view.id"); is not working, but I should find the view (via IWorkbenchPage.findView()), cast it to the CommonNavigator and finally retrieve the NavigatorContentService from it by calling CommonNavigator.getNavigatorContentService() [4:56:38 PM] Francis Upton: yes [4:56:55 PM] Simon Zambrovski: ok. i'll add this to the wiki, because once you find the INavigatorContentService, its JavaDoc says - use the factory to get an instance of it.... [4:58:39 PM] Francis Upton: the javadoc comments are misleading, it refers to the use of it in a standalone manner which is possible, but not what you want. You want the one assicated with the CN. [4:59:13 PM] Francis Upton: can you file a bug about this? You can copy this transcript into the bug report, and that way I can clean up the doc.
bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/navigator/INavigatorContentService.java
*         have a <b>triggerPoints</b> expression that is <i>enabled</i>
	 *         for the given element.
	 */
	Set findContentExtensionsByTriggerPoint(Object anElement);
	/**
	 * Search for extensions that declare the given element in their
	 * <b>possibleChildren</b> expression.
	 * 
	 * @param anElement
	 *            The element to use in the query
	 * @return The set of {@link INavigatorContentExtension}s that are
	 *         <i>visible</i> and <i>active</i> for this content service and
	 *         have a <b>possibleChildren</b> expression that is <i>enabled</i>
	 *         for the given element.
	 */
	Set findContentExtensionsWithPossibleChild(Object anElement);
	/**
	 * The filter service can provide the available filters for the viewer, and
	 * manage which filters are <i>active</i>.
	 * 
	 * @return An {@link INavigatorFilterService} that can provide information
	 *         to a viewer about what filters are <i>visible</i> and <i>active</i>.
	 */
	INavigatorFilterService getFilterService();
	/**
	 * The sorter service provides the appropriate sorter based on the current
	 * items being sorted. By default, the CommonViewer uses
	 * {@link CommonViewerSorter} which delegates to this service. Clients do
	 * not need to provide their own {@link ViewerSorter} unless they wish to
	 * override this functionality.