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
`static 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

All Methods Instance Methods Abstract Methods
`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.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`

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

`getAdapter`

### Field Detail

#### 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 Detail

#### 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.