Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.eclipse.core.runtime
Interface IExtensionRegistry

public interface IExtensionRegistry

The extension registry holds the master list of all discovered namespaces, extension points and extensions.

The extension registry can be queried, by name, for extension points and extensions.

Extensions and extension points are declared by generic entities called namespaces. The only fact known about namespaces is that they have unique string-based identifiers. One example of a namespace is a plug-in, for which the namespace id is the plug-in id.

This interface is not intended to be implemented by clients.

Since:
  3.0

Method Summary
`void` | `addRegistryChangeListener(IRegistryChangeListener listener)` Adds the given listener for registry change events.
`void` | `addRegistryChangeListener(IRegistryChangeListener listener, String namespace)` Adds the given listener for registry change events related to extension points in the given namespace.
`IConfigurationElement[]` | `getConfigurationElementsFor(String extensionPointId)` Returns all configuration elements from all extensions configured into the identified extension point.
`IConfigurationElement[]` | `getConfigurationElementsFor(String namespace, String extensionPointName)` Returns all configuration elements from all extensions configured into the identified extension point.
`IConfigurationElement[]` | `getConfigurationElementsFor(String namespace, String extensionPointName, String extensionId)` Returns all configuration elements from the identified extension.
`IExtension` | `getExtension(String extensionId)` Returns the specified extension in this extension registry, or `null` if there is no such extension.
`IExtension` | `getExtension(String extensionPointId, String extensionId)` Returns the specified extension in this extension registry, or `null` if there is no such extension.
`IExtension` | `getExtension(String namespace, String extensionPointName, String extensionId)` Returns the specified extension in this extension registry, or `null` if there is no such extension.
`IExtensionPoint` | `getExtensionPoint(String extensionPointId)` Returns the extension point with the given extension point identifier in this extension registry, or `null` if there is no such extension point.
`IExtensionPoint` | `getExtensionPoint(String namespace, String extensionPointName)` Returns the extension point in this extension registry with the given namespace and extension point simple identifier, or `null` if there is no such extension point.
`IExtensionPoint[]` | `getExtensionPoints()` Returns all extension points known to this extension registry.
`IExtensionPoint[]` | `getExtensionPoints(String namespace)` Returns all extension points declared in the given namespace.
`IExtension[]` | `getExtensions(String namespace)` Returns all extensions declared in the given namespace.
`String[]` | `getNamespaces()` Returns all namespaces where extensions and/or extension points.
`void` | `removeRegistryChangeListener(IRegistryChangeListener listener)` Removes the given registry change listener from this registry.

Method Detail

### addRegistryChangeListener

    public void addRegistryChangeListener(IRegistryChangeListener listener,
                                          String namespace)

  Adds the given listener for registry change events related to extension points in the given namespace. Has no effect if an identical listener is already registered. After completion of this method, the given listener will be registered for events related to extension points in the specified namespace. If no namespace is specified, the listener will receive notifications for changes to extension points in any namespace.

  Once registered, a listener starts receiving notification of changes to the registry. Registry change notifications are sent asynchronously. The listener continues to receive notifications until it is removed.

  Parameters:
    `listener` - the listener
    `namespace` - the namespace in which to listen for changes
  See Also:
    `IRegistryChangeListener`, `IRegistryChangeEvent`, `removeRegistryChangeListener(IRegistryChangeListener)`

### addRegistryChangeListener

    public void addRegistryChangeListener(IRegistryChangeListener listener)

  Adds the given listener for registry change events. Has no effect if an identical listener is already registered.

  This method is equivalent to:

           addRegistryChangeListener(listener,null);

  Parameters:
    `listener` - the listener
  See Also:
    `IRegistryChangeListener`, `IRegistryChangeEvent`, `addRegistryChangeListener(IRegistryChangeListener, String)`, `removeRegistryChangeListener(IRegistryChangeListener)`

### getConfigurationElementsFor

    public IConfigurationElement[] getConfigurationElementsFor(String extensionPointId)

  Returns all configuration elements from all extensions configured into the identified extension point. Returns an empty array if the extension point does not exist, has no extensions configured, or none of the extensions contain configuration elements.

  Parameters:
    `extensionPointId` - the unique identifier of the extension point (e.g. `"org.eclipse.core.resources.builders"`)
  Returns:
    the configuration elements

### getConfigurationElementsFor

    public IConfigurationElement[] getConfigurationElementsFor(String namespace,
                                                               String extensionPointName)

  Returns all configuration elements from all extensions configured into the identified extension point. Returns an empty array if the extension point does not exist, has no extensions configured, or none of the extensions contain configuration elements.

  Parameters:
    `namespace` - the namespace for the extension point (e.g. `"org.eclipse.core.resources"`)
    `extensionPointName` - the simple identifier of the extension point (e.g. `"builders"`)
  Returns:
    the configuration elements

### getConfigurationElementsFor

    public IConfigurationElement[] getConfigurationElementsFor(String namespace,
                                                               String extensionPointName,
                                                               String extensionId)

  Returns all configuration elements from the identified extension. Returns an empty array if the extension does not exist or contains no configuration elements.

  Parameters:
    `namespace` - the namespace for the extension point (e.g. `"org.eclipse.core.resources"`)
    `extensionPointName` - the simple identifier of the extension point (e.g. `"builders"`)
    `extensionId` - the unique identifier of the extension (e.g. `"com.example.acme.coolbuilder`)
  Returns:
    the configuration elements

### getExtension

    public IExtension getExtension(String extensionId)

  Returns the specified extension in this extension registry, or `null` if there is no such extension.

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

### getExtension

    public IExtension getExtension(String extensionPointId,
                                   String extensionId)

  Returns the specified extension in this extension registry, or `null` if there is no such extension. The first parameter identifies the extension point, and the second parameter identifies an extension plugged in to that extension point.

  Parameters:
    `extensionPointId` - the unique identifier of the extension point (e.g. `"org.eclipse.core.resources.builders"`)
    `extensionId` - the unique identifier of the extension (e.g. `"com.example.acme.coolbuilder"`)
  Returns:
    the extension, or `null`

### getExtension

    public IExtension getExtension(String namespace,
                                   String extensionPointName,
                                   String extensionId)

  Returns the specified extension in this extension registry, or `null` if there is no such extension. The first two parameters identify the extension point, and the third parameter identifies an extension plugged in to that extension point.

  Parameters:
    `namespace` - the namespace for the extension point (e.g. `"org.eclipse.core.resources"`)
    `extensionPointName` - the simple identifier of the extension point (e.g. `"builders"`)
    `extensionId` - the unique identifier of the extension (e.g. `"com.example.acme.coolbuilder"`)
  Returns:
    the extension, or `null`

### getExtensionPoint

    public IExtensionPoint getExtensionPoint(String extensionPointId)

  Returns the extension point with the given extension point identifier in this extension registry, or `null` if there is no such extension point.

  Parameters:
    `extensionPointId` - the unique identifier of the extension point (e.g., `"org.eclipse.core.resources.builders"`)
  Returns:
    the extension point, or `null`

### getExtensionPoint

    public IExtensionPoint getExtensionPoint(String namespace,
                                             String extensionPointName)

  Returns the extension point in this extension registry with the given namespace and extension point simple identifier, or `null` if there is no such extension point.

  Parameters:
    `namespace` - the namespace for the given extension point (e.g. `"org.eclipse.core.resources"`)
    `extensionPointName` - the simple identifier of the extension point (e.g. `" builders"`)
  Returns:
    the extension point, or `null`

### getExtensionPoints

    public IExtensionPoint[] getExtensionPoints()

  Returns all extension points known to this extension registry. Returns an empty array if there are no extension points.

  Returns:
    the extension points known to this extension registry

### getExtensionPoints

    public IExtensionPoint[] getExtensionPoints(String namespace)

  Returns all extension points declared in the given namespace. Returns an empty array if there are no extension points declared in the namespace.

  Parameters:
    `namespace` - the namespace for the extension points (e.g. `"org.eclipse.core.resources"`)
  Returns:
    the extension points in this registry declared in the given namespace

### getExtensions

    public IExtension[] getExtensions(String namespace)

  Returns all extensions declared in the given namespace. Returns an empty array if no extensions are declared in the namespace.

  Parameters:
    `namespace` - the namespace for the extensions (e.g. `"org.eclipse.core.resources"`)
  Returns:
    the extensions in this registry declared in the given namespace

### getNamespaces

    public String[] getNamespaces()

  Returns all namespaces where extensions and/or extension points. Returns an empty array if there are no known extensions/extension points in this registry.

  Returns:
    all namespaces known to this registry
  Since:
    3.0

### removeRegistryChangeListener

    public void removeRegistryChangeListener(IRegistryChangeListener listener)

  Removes the given registry change listener from this registry. Has no effect if an identical listener is not registered.

  Parameters:
    `listener` - the listener
  See Also:
    `IRegistryChangeListener`, `addRegistryChangeListener(IRegistryChangeListener)`, `addRegistryChangeListener(IRegistryChangeListener, String)`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2004. All rights reserved.