# Interface IPluginObject

All Superinterfaces:
  `IAdaptable, IWritable`

All Known Subinterfaces:
  `IExtensions, IFragment, IPlugin, IPluginAttribute, IPluginBase, IPluginElement, IPluginExtension, IPluginExtensionPoint, IPluginImport, IPluginLibrary, IPluginParent`

public interface IPluginObject extends IWritable, IAdaptable
A base interface for all the objects 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_NAME`
A property name that will be used to notify that the "name" field has changed.

## Method Summary

Modifier and Type
Method
Description
`ISharedPluginModel`
`getModel()`
Returns the model that owns this object.
`String`
`getName()`
Returns the name of this model object
`IPluginObject`
`getParent()`
Returns the parent of this model object.
`IPluginBase`
`getPluginBase()`
Returns the top-level model object.
`IPluginModelBase`
`getPluginModel()`
Returns the model that owns this object.
`String`
`getResourceString(String key)`
Returns a string by locating the provided key in the resource bundle associated with the model.
`String`
`getTranslatedName()`
Returns the translated name of this model object using the result of 'getName()' call as a resource key.
`boolean`
`isInTheModel()`
Returns true if this object is currently part of a model.
`boolean`
`isValid()`
Returns `true` if this object has all the required attributes set, `false` otherwise.
`void`
`setInTheModel(boolean inModel)`
Set the value indicating whether the object is currently part of a model.
`void`
`setName(String name)`
Chances the name of this model object.

### Methods inherited from interface IAdaptable

`getAdapter`

### Methods inherited from interface IWritable

`write`

## Field Details

### P_NAME

static final String P_NAME
A property name that will be used to notify that the "name" field has changed.

See Also:
  - Constant Field Values

## Method Details

### getModel

ISharedPluginModel getModel()
Returns the model that owns this object.

Returns:
  the model instance

### getPluginModel

IPluginModelBase getPluginModel()
Returns the model that owns this object.

Returns:
  the model instance

### getName

String getName()
Returns the name of this model object

Returns:
  the object name

### isInTheModel

boolean isInTheModel()
Returns true if this object is currently part of a model. It is useful to ignore modification events of objects that have not yet being added to the model or if they have been removed.

Returns:
  whether this object is currently part of a model

### setInTheModel

void setInTheModel(boolean inModel)
Set the value indicating whether the object is currently part of a model. It is useful to ignore modification events of objects that have not yet being added to the model or if they have been removed.

Parameters:
  `inModel` - whether the object is currently part of a model

### getTranslatedName

String getTranslatedName()
Returns the translated name of this model object using the result of 'getName()' call as a resource key.

Returns:
  the translated name or the original name if not found

### getParent

IPluginObject getParent()
Returns the parent of this model object.

Returns:
  the object's parent

### getPluginBase

IPluginBase getPluginBase()
Returns the top-level model object.

Returns:
  the top-level model object

### getResourceString

String getResourceString(String key)
Returns a string by locating the provided key in the resource bundle associated with the model.

Parameters:
  `key` - the name to use for resource bundle lookup
Returns:
  value in the resource bundle for the provided key, or the key itself if not found.

### setName

void setName(String name) throws CoreException
Chances the name of this model object. This method may throw a CoreException if the model is not editable.

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

### isValid

boolean isValid()
Returns `true` if this object has all the required attributes set, `false` otherwise.

Returns:
  `true` if all the required attributes are set.