Package org.eclipse.jface.text.templates

# Class DocumentTemplateContext

java.lang.Object
org.eclipse.jface.text.templates.TemplateContext
org.eclipse.jface.text.templates.DocumentTemplateContext

All Implemented Interfaces:
  `IAdaptable`

public class DocumentTemplateContext extends TemplateContext
Instances of this class describe the context of a template as a region of a document. That region may be either specified by its offset and length, or by a `Position` which may or may not be registered with the document.

Clients may instantiate and extend this class.

Since:
  3.0

## Constructor Summary

Constructors
Constructor
Description
`DocumentTemplateContext(TemplateContextType type, IDocument document, int offset, int length)`
Creates a document template context.
`DocumentTemplateContext(TemplateContextType type, IDocument document, Position position)`
Creates a document template context.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`canEvaluate(Template template)`
Tests if the specified template can be evaluated in this context.
`TemplateBuffer`
`evaluate(Template template)`
Evaluates the template in this context and returns a template buffer.
`int`
`getCompletionLength()`
Returns the completion length within the string of the context.
`int`
`getCompletionOffset()`
Returns the completion offset within the string of the context.
`IDocument`
`getDocument()`
Returns the document.
`int`
`getEnd()`
Returns the end offset of the keyword.
`String`
`getKey()`
Returns the keyword which triggered template insertion.
`int`
`getStart()`
Returns the beginning offset of the keyword.
`protected void`
`setCompletionLength(int newLength)`
Sets the completion length.
`protected void`
`setCompletionOffset(int newOffset)`
Sets the completion offset.

### Methods inherited from class org.eclipse.jface.text.templates.TemplateContext

`getAdapter, getContextType, getVariable, isReadOnly, setReadOnly, setVariable`

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

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

## Constructor Details

### DocumentTemplateContext

public DocumentTemplateContext(TemplateContextType type, IDocument document, int offset, int length)
Creates a document template context.

Parameters:
  `type` - the context type
  `document` - the document this context applies to
  `offset` - the offset of the document region
  `length` - the length of the document region

### DocumentTemplateContext

public DocumentTemplateContext(TemplateContextType type, IDocument document, Position position)
Creates a document template context. The supplied `Position` will be queried to compute the `getStart` and `getEnd` methods, which will therefore answer updated position data if it is registered with the document.

Parameters:
  `type` - the context type
  `document` - the document this context applies to
  `position` - the position describing the area of the document which forms the template context
Since:
  3.1

## Method Details

### getDocument

public IDocument getDocument()
Returns the document.

Returns:
  the document

### getCompletionOffset

public int getCompletionOffset()
Returns the completion offset within the string of the context.

Returns:
  the completion offset within the string of the context

### setCompletionOffset

protected void setCompletionOffset(int newOffset)
Sets the completion offset.

Parameters:
  `newOffset` - the new completion offset

### getCompletionLength

public int getCompletionLength()
Returns the completion length within the string of the context.

Returns:
  the completion length within the string of the context

### setCompletionLength

protected void setCompletionLength(int newLength)
Sets the completion length.

Parameters:
  `newLength` - the new completion length

### getKey

public String getKey()
Returns the keyword which triggered template insertion.

Returns:
  the keyword which triggered template insertion

### getStart

public int getStart()
Returns the beginning offset of the keyword.

Returns:
  the beginning offset of the keyword

### getEnd

public int getEnd()
Returns the end offset of the keyword.

Returns:
  the end offset of the keyword

### canEvaluate

public boolean canEvaluate(Template template)
Description copied from class: `TemplateContext`
Tests if the specified template can be evaluated in this context.

Examples are templates defined for a different context (e.g. a javadoc template cannot be evaluated in Java context).

Specified by:
  `canEvaluate` in class `TemplateContext`
Parameters:
  `template` - the `Template` to check
Returns:
  `true` if `template` can be evaluated in this context, `false` otherwise

### evaluate

public TemplateBuffer evaluate(Template template) throws BadLocationException, TemplateException
Description copied from class: `TemplateContext`
Evaluates the template in this context and returns a template buffer.

Evaluation means translating the template into a `TemplateBuffer`, resolving the defined variables in this context and possibly formatting the resolved buffer.

Specified by:
  `evaluate` in class `TemplateContext`
Parameters:
  `template` - the template to evaluate
Returns:
  returns the buffer with the evaluated template or `null` if the buffer could not be created
Throws:
  `BadLocationException` - if evaluation fails due to concurrently changed documents etc.
  `TemplateException` - if the template specification is not valid