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 SummaryConstructorsConstructorDescriptionAbstractContributionFactory(String location, String namespace) The contribution factories must be instantiated with their location, which which specifies the contributions insertion location.
- 
Method SummaryModifier and TypeMethodDescriptionabstract voidcreateContributionItems(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- 
AbstractContributionFactoryThe 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 be- null.
- namespace- the namespace for this contribution. May be- null.
- See Also:
 
 
- 
- 
Method Details- 
getLocationReturn the location as a String.- Returns:
- the location - never null.
 
- 
getNamespaceReturn the namespace for this cache. This corresponds to the plug-in that is contributing this factory.- Returns:
- the namespace the namespace of this factory
 
 
-