Package org.eclipse.birt.core.framework

# Interface IExtension

public interface IExtension
This interface is the same as the Eclipse platform `IExtension` interface. An extension declared in a plug-in. All information is obtained from the declaring plug-in's manifest (`plugin.xml`) file.

This interface is not intended to be implemented by clients.

## Method Summary

Modifier and Type
Method
Description
`IConfigurationElement[]`
`getConfigurationElements()`
Returns all configuration elements declared by this extension.
`String`
`getExtensionPointUniqueIdentifier()`
Returns the unique identifier of the extension point to which this extension should be contributed.
`String`
`getLabel()`
Returns a displayable label for this extension.
`String`
`getNamespace()`
Returns the namespace for this extension.
`String`
`getSimpleIdentifier()`
Returns the simple identifier of this extension, or `null` if this extension does not have an identifier.
`String`
`getUniqueIdentifier()`
Returns the unique identifier of this extension, or `null` if this extension does not have an identifier.

## Method Details

### getConfigurationElements

IConfigurationElement[] getConfigurationElements()
Returns all configuration elements declared by this extension. These elements are a direct reflection of the configuration markup supplied in the manifest (`plugin.xml`) file for the plug-in that declares this extension. Returns an empty array if this extension does not declare any configuration elements.

Returns:
  the configuration elements declared by this extension

### getNamespace

String getNamespace()
Returns the namespace for this extension. This value can be used in various global facilities to discover this extension's provider.

Note: This is an early access API to the new OSGI-based Eclipse 3.0 Platform Runtime. Because the APIs for the new runtime have not yet been fully stabilized, they should only be used by clients needing to take particular advantage of new OSGI-specific functionality, and only then with the understanding that these APIs may well change in incompatible ways until they reach their finished, stable form (post-3.0).

Returns:
  the namespace for this extension
Since:
  3.0
See Also:
  - `Platform.getBundle(String)`
  - `IExtensionRegistry`

### getExtensionPointUniqueIdentifier

String getExtensionPointUniqueIdentifier()
Returns the unique identifier of the extension point to which this extension should be contributed.

Returns:
  the unique identifier of the relevant extension point

### getLabel

String getLabel()
Returns a displayable label for this extension. Returns the empty string if no label for this extension is specified in the plug-in manifest file.

Note that any translation specified in the plug-in manifest file is automatically applied.

Returns:
  a displayable string label for this extension, possibly the empty string

### getSimpleIdentifier

String getSimpleIdentifier()
Returns the simple identifier of this extension, or `null` if this extension does not have an identifier. This identifier is specified in the plug-in manifest (`plugin.xml`) file as a non-empty string containing no period characters (`'.'`) and must be unique within the defining plug-in.

Returns:
  the simple identifier of the extension (e.g. `"main"`) or `null`

### getUniqueIdentifier

String getUniqueIdentifier()
Returns the unique identifier of this extension, or `null` if this extension does not have an identifier. If available, this identifier is unique within the plug-in registry, and is composed of the namespace where this extension was declared and this extension's simple identifier.

Returns:
  the unique identifier of the extension (e.g. `"com.example.acme.main"`), or `null`