# Interface IPlugin

All Superinterfaces:
  `IAdaptable, IExtensions, IIdentifiable, IPluginBase, IPluginObject, IWritable`

public interface IPlugin extends IPluginBase
A model object that represents the content of the plugin.xml file.

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_CLASS_NAME`
A property that will be used when the plug-in activator field is changed.

### Fields inherited from interface IExtensions

`P_EXTENSION_ORDER`

### Fields inherited from interface IIdentifiable

`P_ID`

### Fields inherited from interface IPluginBase

`P_IMPORT_ORDER, P_LIBRARY_ORDER, P_PROVIDER, P_SCHEMA_VERSION, P_VERSION`

### Fields inherited from interface IPluginObject

`P_NAME`

## Method Summary

Modifier and Type
Method
Description
`String`
`getClassName()`
Returns a plug-in activator class name
`void`
`setClassName(String className)`
Sets the name of the plug-in activator class.

### Methods inherited from interface IAdaptable

`getAdapter`

### Methods inherited from interface IExtensions

`add, add, getExtensionPoints, getExtensions, getIndexOf, remove, remove, swap`

### Methods inherited from interface IIdentifiable

`getId, setId`

### Methods inherited from interface IPluginBase

`add, add, exportsExternalAnnotations, getImports, getLibraries, getProviderName, getSchemaVersion, getVersion, remove, remove, setProviderName, setSchemaVersion, setVersion, swap, swap`

### Methods inherited from interface IPluginObject

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

### Methods inherited from interface IWritable

`write`

## Field Details

### P_CLASS_NAME

static final String P_CLASS_NAME
A property that will be used when the plug-in activator field is changed.

See Also:
  - Constant Field Values

## Method Details

### getClassName

String getClassName()
Returns a plug-in activator class name

Returns:
  plug-in activator class name or `null` if not specified.

### setClassName

void setClassName(String className) throws CoreException
Sets the name of the plug-in activator class. This method will throw a CoreException if the model is not editable.

Parameters:
  `className` - the new class name
Throws:
  `CoreException` - if the model is not editable