Package org.eclipse.ui.menus

## Interface IContributionRoot

    public interface IContributionRoot

Instances of this interface represent a position in the contribution hierarchy into which `AbstractContributionFactory` instances may insert elements. Instances of this interface are provided by the platform and this interface should NOT be implemented by clients.

Since:
  3.3

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `addContributionItem​(IContributionItem item, Expression visibleWhen)` Adds a given contribution item with provided visibility expression and kill-switch filtering as a direct child of this container.
`void` `registerVisibilityForChild​(IContributionItem item, Expression visibleWhen)` Registers visibilty for arbitrary `IContributionItem` instances that are NOT direct children of this container.

### Method Detail

#### addContributionItem

    void addContributionItem​(IContributionItem item,
                             Expression visibleWhen)

Adds a given contribution item with provided visibility expression and kill-switch filtering as a direct child of this container. This should be called for all top-level elements created in `AbstractContributionFactory.createContributionItems(org.eclipse.ui.services.IServiceLocator, IContributionRoot)`

Parameters:
  `item` - the item to add
  `visibleWhen` - the visibility expression. May be `null`.

#### registerVisibilityForChild

    void registerVisibilityForChild​(IContributionItem item,
                                    Expression visibleWhen)

Registers visibilty for arbitrary `IContributionItem` instances that are NOT direct children of this container. Ie: children of a `IContributionManager` that has been previously registered with a call to {`addContributionItem(IContributionItem, Expression)`.

Parameters:
  `item` - the item for which to register a visibility clause
  `visibleWhen` - the visibility expression. May be `null` in which case this method is a no-op.