Package org.eclipse.ui.menus
Class AbstractContributionFactory
java.lang.Object
org.eclipse.ui.menus.AbstractContributionFactory
- Direct Known Subclasses:
ExtensionContributionFactory
ContributionFactories are used by the IMenuService to populate
ContributionManagers. In
createContributionItems(IServiceLocator, IContributionRoot)
you fill
in the additions List with IContributionItem
to be inserted at this
factory's location. For example:
AbstractContributionFactory contributions = new AbstractContributionFactory( "menu:org.eclipse.ui.tests.api.MenuTestHarness?after=additions") { public void createContributionItems(IMenuService menuService, List additions) { CommandContributionItem item = new CommandContributionItem("org.eclipse.ui.tests.menus.helloWorld", "org.eclipse.ui.tests.commands.enabledHelloWorld", null, null, "Say Hello", null); additions.add(item); item = new CommandContributionItem("org.eclipse.ui.tests.menus.refresh", "org.eclipse.ui.tests.commands.refreshView", null, null, "Refresh", null); menuService.registerVisibleWhen(item, new MyActiveContextExpression("org.eclipse.ui.tests.myview.context")); additions.add(item); } public void releaseContributionItems(IMenuService menuService, List items) { // we have nothing to do } }; IMenuService service = (IMenuService) PlatformUI.getWorkbench().getService(IMenuService.class); service.addContributionFactory(contributions);
Clients who are providing factories via the org.eclipse.ui.menus
extension point should subclass ExtensionContributionFactory
instead.
Only the abstract methods may be implemented.
- Since:
- 3.3
- See Also:
-
Constructor Summary
ConstructorDescriptionAbstractContributionFactory
(String location, String namespace) The contribution factories must be instantiated with their location, which which specifies the contributions insertion location. -
Method Summary
Modifier and TypeMethodDescriptionabstract void
createContributionItems
(IServiceLocator serviceLocator, IContributionRoot additions) This factory should create the IContributionItems that it wants to contribute, and add them to the additions list.Return the location as a String.Return the namespace for this cache.
-
Constructor Details
-
AbstractContributionFactory
The contribution factories must be instantiated with their location, which which specifies the contributions insertion location.- Parameters:
location
- the addition location in Menu API URI format. It must not benull
.namespace
- the namespace for this contribution. May benull
.- See Also:
-
-
Method Details
-
getLocation
Return the location as a String.- Returns:
- the location - never
null
.
-
getNamespace
Return the namespace for this cache. This corresponds to the plug-in that is contributing this factory.- Returns:
- the namespace the namespace of this factory
-