Package org.eclipse.pde.core.plugin

# Interface IPluginElement

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

public interface IPluginElement extends IPluginParent
Classes that implement this interface model the XML elements found in the plug-in model.

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_ATTRIBUTE`
A property name that will be used to notify individual change in an element's attribute.
`static final String`
`P_ATTRIBUTES`
A property name that will be used to notify about global replacement of the element's attributes.
`static final String`
`P_TEXT`
A property name that will be used to notify about element body text change.

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

`P_NAME`

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

`P_SIBLING_ORDER`

## Method Summary

Modifier and Type
Method
Description
`IPluginElement`
`createCopy()`
Creates an identical copy of this XML element.
`IPluginAttribute`
`getAttribute(String name)`
Returns an attribute object whose name matches the provided name.
`int`
`getAttributeCount()`
Returns the number of attributes in this element.
`IPluginAttribute[]`
`getAttributes()`
Returns all attributes currently defined in this element
`Object`
`getElementInfo()`
Returns the schema for this element.
`String`
`getText()`
Returns the body text of this element.
`void`
`setAttribute(String name, String value)`
Sets the attribute with the provided name to the provided value.
`void`
`setText(String text)`
Sets the body text of this element to the provided value.

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

`add, add, getChildCount, getChildren, getIndexOf, remove, swap`

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

`write`

## Field Details

### P_TEXT

static final String P_TEXT
A property name that will be used to notify about element body text change.

See Also:
  - Constant Field Values

### P_ATTRIBUTES

static final String P_ATTRIBUTES
A property name that will be used to notify about global replacement of the element's attributes.

See Also:
  - Constant Field Values

### P_ATTRIBUTE

static final String P_ATTRIBUTE
A property name that will be used to notify individual change in an element's attribute.

See Also:
  - Constant Field Values

## Method Details

### createCopy

IPluginElement createCopy()
Creates an identical copy of this XML element. The new element will share the same model and the parent.

Returns:
  a copy of this element

### getAttribute

IPluginAttribute getAttribute(String name)
Returns an attribute object whose name matches the provided name.

Parameters:
  `name` - the name of the attribute
Returns:
  the attribute object, or `null` if not found

### getAttributes

IPluginAttribute[] getAttributes()
Returns all attributes currently defined in this element

Returns:
  an array of attribute objects that belong to this element

### getAttributeCount

int getAttributeCount()
Returns the number of attributes in this element.

Returns:
  number of attributes defined in this element

### getText

String getText()
Returns the body text of this element.

Returns:
  body text of this element or `null` if not set.

### getElementInfo

Object getElementInfo()
Returns the schema for this element.

This information is exposed here as implementation side-effect and should not be used by clients.

Returns:
  the schema for this element or `null` if not found.

### setAttribute

void setAttribute(String name, String value) throws CoreException
Sets the attribute with the provided name to the provided value. If attribute object is not found, a new one will be created and its value set to the provided value. This method will throw a CoreException if the model is not editable.

Parameters:
  `name` - the name of the attribute
  `value` - the value to be set
Throws:
  `CoreException` - if the model is not editable

### setText

void setText(String text) throws CoreException
Sets the body text of this element to the provided value. This method will throw a CoreException if the model is not editable.

Parameters:
  `text` - the new body text of this element
Throws:
  `CoreException` - if the model is not editable