# Class ExpressionConverter

java.lang.Object
org.eclipse.core.expressions.ExpressionConverter

public final class ExpressionConverter extends Object
An expression converter converts an XML expression represented by an `IConfigurationElement` or `Element` (DOM) subtree into a corresponding expression tree.

An expression converter manages a list of `ElementHandler`s. Element handlers are responsible to do the actual conversion. The element handlers build a chain of responsibility.

Since:
  3.0

## Constructor Summary

Constructors
Constructor
Description
`ExpressionConverter(ElementHandler[] handlers)`
Creates a new expression converter with the given list of element handlers.

## Method Summary

Modifier and Type
Method
Description
`static ExpressionConverter`
`getDefault()`
Returns the default expression converter.
`Expression`
`perform(IConfigurationElement root)`
Converts the tree of configuration elements represented by the given root element and returns a corresponding expression tree.
`Expression`
`perform(Element root)`
Converts the tree of DOM elements represented by the given root element and returns a corresponding expression tree.

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### ExpressionConverter

public ExpressionConverter(ElementHandler[] handlers)
Creates a new expression converter with the given list of element handlers. The element handlers build a chain of responsibility meaning that the first handler in the list is first used to convert the configuration element. If this handler isn't able to convert the configuration element the next handler in the array is used.

Parameters:
  `handlers` - the array of element handlers

## Method Details

### getDefault

public static ExpressionConverter getDefault()
Returns the default expression converter. The default expression converter can cope with all expression elements defined by the common expression language.

Returns:
  the default expression converter

### perform

public Expression perform(IConfigurationElement root) throws CoreException
Converts the tree of configuration elements represented by the given root element and returns a corresponding expression tree.

Parameters:
  `root` - the configuration element to be converted
Returns:
  the corresponding expression tree or `null` if the configuration element cannot be converted
Throws:
  `CoreException` - if the configuration element can't be converted. Reasons include: (a) no handler is available to cope with a certain configuration element or (b) the XML expression tree is malformed.

### perform

public Expression perform(Element root) throws CoreException
Converts the tree of DOM elements represented by the given root element and returns a corresponding expression tree.

Parameters:
  `root` - the element to be converted
Returns:
  the corresponding expression tree or `null` if the element cannot be converted
Throws:
  `CoreException` - if the element can't be converted. Reasons include: (a) no handler is available to cope with a certain element or (b) the XML expression tree is malformed.
Since:
  3.3