# Interface IEngineDescriptor

public interface IEngineDescriptor
Descriptor of a concrete instance of a search engine. It describes the search engine instance that is either loaded from the plug-in extension point contribution, or created by the user in the scope settings dialog. Engines created by the user are marked as such. Only user-defined engines will permit their label or description changed.

This interface is not intended to be extended or implemented by clients.

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

## Method Summary

Modifier and Type
Method
Description
`String`
`getDescription()`
Returns the description of this engine instance.
`String`
`getEngineTypeId()`
Returns the unique identifier of the engine type of which this is an instance.
`String`
`getId()`
Returns the unique identifier of this engine instance.
`String`
`getLabel()`
Returns the label of this engine for rendering in the UI.
`Dictionary<String,Object>`
`getParameters()`
Returns the parameters used to configure this engine according to the valid parameters for the associated engine type.
`boolean`
`isUserDefined()`
Tests whether this engine is provided as an extension point contribution or is created by the user in the scope settings dialog.
`void`
`setDescription(String desc)`
Changes the description of this engine.
`void`
`setLabel(String label)`
Changes the label of this engine.

## Method Details

### getId

String getId()
Returns the unique identifier of this engine instance.

Returns:
  the unique engine identifier

### getEngineTypeId

String getEngineTypeId()
Returns the unique identifier of the engine type of which this is an instance.

Returns:
  the engine type identifier

### getLabel

String getLabel()
Returns the label of this engine for rendering in the UI.

Returns:
  the engine label

### setLabel

void setLabel(String label)
Changes the label of this engine. This method does nothing for engine descriptors that are not user-defined.

Parameters:
  `label` - the new engine label

### getDescription

String getDescription()
Returns the description of this engine instance. It is initialized from the engine type description.

Returns:
  the engine instance description.

### setDescription

void setDescription(String desc)
Changes the description of this engine. This method does nothing for engine descriptors that are not user-defined.

Parameters:
  `desc` - the new engine description

### getParameters

Dictionary<String,Object> getParameters()
Returns the parameters used to configure this engine according to the valid parameters for the associated engine type.

Returns:
  the parameter dictionary

### isUserDefined

boolean isUserDefined()
Tests whether this engine is provided as an extension point contribution or is created by the user in the scope settings dialog. Only user-defined engine instances can have their label and/or description changed.

Returns:
  `true` if the engine is user defined, or `false` otherwise.