Package org.eclipse.pde.core.plugin

# Interface IExtensions

All Superinterfaces:
  `IAdaptable`, `IPluginObject`, `IWritable`

All Known Subinterfaces:
  `IFragment`, `IPlugin`, `IPluginBase`

public interface IExtensions extends IPluginObject
A model object that contains the portion of the plug-in model responsible for extensions and extension points. If the plug-in contains OSGi manifest file, plugin.xml is reduced to extensions and extension points only.

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

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`P_EXTENSION_ORDER`
A model property that will be used when order of extensions changes in this object.

### Fields inherited from interface org.eclipse.pde.core.plugin.IPluginObject

`P_NAME`

## Method Summary

Modifier and Type
Method
Description
`void`
`add(IPluginExtension extension)`
Adds a new extension to this object.
`void`
`add(IPluginExtensionPoint extensionPoint)`
Adds a new extension point to this object.
`IPluginExtensionPoint[]`
`getExtensionPoints()`
Returns extension points defined in this object.
`IPluginExtension[]`
`getExtensions()`
Returns extensions defined in this object.
`int`
`getIndexOf(IPluginExtension e)`
Returns the position of the extension in the receiver.
`void`
`remove(IPluginExtension extension)`
Removes an extension from this object.
`void`
`remove(IPluginExtensionPoint extensionPoint)`
Removes an extension point from this object.
`void`
`swap(IPluginExtension e1, IPluginExtension e2)`
Swaps the positions of the provided extensions in the list of extensions.

### Methods inherited from interface org.eclipse.core.runtime.IAdaptable

`getAdapter`

### Methods inherited from interface org.eclipse.pde.core.plugin.IPluginObject

`getModel, getName, getParent, getPluginBase, getPluginModel, getResourceString, getTranslatedName, isInTheModel, isValid, setInTheModel, setName`

### Methods inherited from interface org.eclipse.pde.core.IWritable

`write`

## Field Details

### P_EXTENSION_ORDER

static final String P_EXTENSION_ORDER
A model property that will be used when order of extensions changes in this object.

See Also:
  - Constant Field Values

## Method Details

### add

void add(IPluginExtension extension) throws CoreException
Adds a new extension to this object. This method will throw a CoreException if model is not editable.

Parameters:
  `extension` - the extension object
Throws:
  `CoreException` - if the model is not editable

### add

void add(IPluginExtensionPoint extensionPoint) throws CoreException
Adds a new extension point to this object. This method will throw a CoreException if the model is not editable.

Parameters:
  `extensionPoint` - the extension point
Throws:
  `CoreException` - if the model is not editable

### getExtensionPoints

IPluginExtensionPoint[] getExtensionPoints()
Returns extension points defined in this object.

Returns:
  an array of extension point objects

### getExtensions

IPluginExtension[] getExtensions()
Returns extensions defined in this object.

Returns:
  an array of extension objects

### remove

void remove(IPluginExtension extension) throws CoreException
Removes an extension from this object. This method will throw a CoreException if the model is not editable.

Parameters:
  `extension` - the extension object
Throws:
  `CoreException` - if the model is not editable

### remove

void remove(IPluginExtensionPoint extensionPoint) throws CoreException
Removes an extension point from this object. This method will throw a CoreException if the model is not editable.

Parameters:
  `extensionPoint` - the extension point object
Throws:
  `CoreException` - if the model is not editable

### swap

void swap(IPluginExtension e1, IPluginExtension e2) throws CoreException
Swaps the positions of the provided extensions in the list of extensions.

Parameters:
  `e1` - the first extension object
  `e2` - the second extension object
Throws:
  `CoreException` - if the model is not editable

### getIndexOf

int getIndexOf(IPluginExtension e)
Returns the position of the extension in the receiver.

Parameters:
  `e` - the extension
Returns:
  the 0-based index of the extension in the receiver.