org.eclipse.jface.text.templates

## Class TemplateTranslator

- java.lang.Object
- - org.eclipse.jface.text.templates.TemplateTranslator

    public class TemplateTranslator
    extends Object

The template translator translates a string into a template buffer. Regions marked as variables are translated into `TemplateVariable`s.

The EBNF grammar of a valid string is as follows:

     template := (text | escape)*.
     text := character - dollar.
     escape := dollar ('{' variable '}' | dollar).
     dollar := '$'.
     variable := identifier | identifier ':' type.
     type := qualifiedname | qualifiedname '(' arguments ')'.
     arguments := (argument ',')* argument.
     argument := qualifiedname | argumenttext.
     qualifiedname := (identifier '.')* identifier.
     argumenttext := "'" (character - "'" | "'" "'")* "'".
     identifier := javaidentifierpart - "$".

Clients may only replace the `createVariable` method of this class.

Since:
  3.0

### Constructor Summary

Constructors
Constructor and Description
`TemplateTranslator()`

### Method Summary

All Methods Instance Methods Concrete Methods Deprecated Methods
`protected TemplateVariable` `createVariable(String type, String name, int[] offsets)` Deprecated. as of 3.3 use `createVariable(TemplateVariableType, String, int[])` instead
`protected TemplateVariable` `createVariable(TemplateVariableType type, String name, int[] offsets)` Hook method to create new variables.
`String` `getErrorMessage()` Returns an error message if an error occurred for the last translation, `null` otherwise.
`TemplateBuffer` `translate(String string)` Translates a template string to `TemplateBuffer`.
`TemplateBuffer` `translate(Template template)` Translates a template to a `TemplateBuffer`.

### Methods inherited from class java.lang.Object

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

### Constructor Detail

#### TemplateTranslator

    public TemplateTranslator()

### Method Detail

#### getErrorMessage

    public String getErrorMessage()

Returns an error message if an error occurred for the last translation, `null` otherwise.

Returns:
  the error message if an error occurred during the most recent translation, `null` otherwise

#### translate

    public TemplateBuffer translate(Template template)
                             throws TemplateException

Translates a template to a `TemplateBuffer`. `null` is returned if there was an error. `getErrorMessage()` retrieves the associated error message.

Parameters:
  `template` - the template to translate.
Returns:
  returns the template buffer corresponding to the string
Throws:
  `TemplateException` - if translation failed
See Also:
  `getErrorMessage()`

#### translate

    public TemplateBuffer translate(String string)
                             throws TemplateException

Translates a template string to `TemplateBuffer`. `null` is returned if there was an error. `getErrorMessage()` retrieves the associated error message.

Parameters:
  `string` - the string to translate.
Returns:
  returns the template buffer corresponding to the string
Throws:
  `TemplateException` - if translation failed
See Also:
  `getErrorMessage()`

#### createVariable

    @Deprecated
    protected TemplateVariable createVariable(String type,
                                                          String name,
                                                          int[] offsets)

Deprecated. as of 3.3 use `createVariable(TemplateVariableType, String, int[])` instead
Hook method to create new variables. Subclasses may override to supply their custom variable type.

Clients may replace this method.

Parameters:
  `type` - the type of the new variable.
  `name` - the name of the new variable.
  `offsets` - the offsets where the variable occurs in the template
Returns:
  a new instance of `TemplateVariable`

#### createVariable

    protected TemplateVariable createVariable(TemplateVariableType type,
                                              String name,
                                              int[] offsets)

Hook method to create new variables. Subclasses may override to supply their custom variable type.

Clients may replace this method.

Parameters:
  `type` - the type of the new variable.
  `name` - the name of the new variable.
  `offsets` - the offsets where the variable occurs in the template
Returns:
  a new instance of `TemplateVariable`
Since:
  3.3