Package org.eclipse.ui.navigator

# Interface INavigatorContentDescriptor

public interface INavigatorContentDescriptor
The descriptor provides a the low-level handle to a content extension. Information such as the Id, the name, the priority, and whether the descriptor provides one or more root elements is provided. This descriptor is used to form the `INavigatorContentExtension`.

There is a one-to-many correspondence between the `INavigatorContentDescriptor` and `INavigatorContentExtension`. An instance of the `INavigatorContentExtension` is created for each `INavigatorContentDescriptor` used by a `INavigatorContentService`.

Since:
  3.2
Restriction:
  This interface is not intended to be implemented by clients.
Restriction:
  This interface is not intended to be extended by clients.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`arePossibleChildren(IStructuredSelection aSelection)`
A convenience method to check all elements in a selection.
`String`
`getAppearsBeforeId()`
Returns the extension that this extension must appear before.
`String`
`getId()`
Returns the navigator content extension id
`String`
`getName()`
Returns the name of this navigator extension
`INavigatorContentDescriptor`
`getOverriddenDescriptor()`
`Set`
`getOverriddingExtensions()`
`OverridePolicy`
`getOverridePolicy()`
`int`
`getPriority()`
Returns the priority of the navigator content extension.
`int`
`getSequenceNumber()`
Returns the unique sequence number of this extension.
`String`
`getSuppressedExtensionId()`
`boolean`
`hasOverridingExtensions()`
Does not force the creation of the set of overriding extensions.
`boolean`
`hasSaveablesProvider()`
`boolean`
`isActiveByDefault()`
The enabledByDefault attribute specifies whether an extension should be activated in the context of a viewer automatically.
`boolean`
`isPossibleChild(Object anElement)`
Determine if this content extension could provide the given element as a child.
`boolean`
`isSortOnly()`
True if this content extension is used only to specify a commonSorter in order to provide only sorting.
`boolean`
`isTriggerPoint(Object anElement)`
Determine if this content extension is enabled for the given element.

## Method Details

### getId

String getId()
Returns the navigator content extension id

Returns:
  the navigator content extension id

### getName

String getName()
Returns the name of this navigator extension

Returns:
  the name of this navigator extension

### getPriority

int getPriority()
Returns the priority of the navigator content extension.

Returns:
  the priority of the navigator content extension. Returns `Priority.NORMAL` if no priority was specified.

### getAppearsBeforeId

String getAppearsBeforeId()
Returns the extension that this extension must appear before.

Returns:
  The value specified by the appearsBefore attribute of the <navigatorContent/> element.
Since:
  3.5

### getSequenceNumber

int getSequenceNumber()
Returns the unique sequence number of this extension. This is calculated based on the priority and the appears before and represents the order the extension will appear relative to the other extensions

Returns:
  The sequence number of the extension
Since:
  3.5

### isActiveByDefault

boolean isActiveByDefault()
The enabledByDefault attribute specifies whether an extension should be activated in the context of a viewer automatically. Users may override this setting through the "Types of Content" dialog. This will be true if either the activeByDefault attribute of the navigatorContent element is true, or if an initialActivationExpression is specified which resolves to true.

Returns:
  true if the extension is enabled by default.

### isSortOnly

boolean isSortOnly()
True if this content extension is used only to specify a commonSorter in order to provide only sorting.

Returns:
  true if sort only
Since:
  3.5

### isTriggerPoint

boolean isTriggerPoint(Object anElement)
Determine if this content extension is enabled for the given element.

Parameters:
  `anElement` - The element that should be used for the evaluation.
Returns:
  True if and only if the extension is enabled for the element.

### isPossibleChild

boolean isPossibleChild(Object anElement)
Determine if this content extension could provide the given element as a child.

This method is used to determine what the parent of an element could be for Link with Editor support.

Parameters:
  `anElement` - The element that should be used for the evaluation.
Returns:
  True if and only if the extension might provide an object of this type as a child.

### arePossibleChildren

boolean arePossibleChildren(IStructuredSelection aSelection)
A convenience method to check all elements in a selection.

Parameters:
  `aSelection` - A non-null selection
Returns:
  True if and only if every element in the selection is a possible child.

### getSuppressedExtensionId

String getSuppressedExtensionId()

Returns:
  Returns the suppressedExtensionId or null if none specified.

### getOverridePolicy

OverridePolicy getOverridePolicy()

Returns:
  Returns the overridePolicy or null if this extension does not override another extension.
Since:
  3.4

### getOverriddenDescriptor

INavigatorContentDescriptor getOverriddenDescriptor()

Returns:
  The descriptor of the `suppressedExtensionId` if non-null.

### hasOverridingExtensions

boolean hasOverridingExtensions()
Does not force the creation of the set of overriding extensions.

Returns:
  True if this extension has overriding extensions.

### getOverriddingExtensions

Set getOverriddingExtensions()

Returns:
  The set of overriding extensions (of type `INavigatorContentDescriptor`)

### hasSaveablesProvider

boolean hasSaveablesProvider()

Returns:
  true if the extension's content provider may adapt to a `SaveablesProvider`.