Package org.eclipse.jface.text.templates

## Class TemplateCompletionProcessor

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

All Implemented Interfaces:
  `IContentAssistProcessor`

    public abstract class TemplateCompletionProcessor
    extends Object
    implements IContentAssistProcessor

A completion processor that computes template proposals. Subclasses need to provide implementations for `getTemplates(String)`, `getContextType(ITextViewer, IRegion)` and `getImage(Template)`.

Since:
  3.0

### Constructor Summary

Constructors
`TemplateCompletionProcessor()`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods
`ICompletionProposal[]` `computeCompletionProposals​(ITextViewer viewer, int offset)` Returns a list of completion proposals based on the specified location within the document that corresponds to the current cursor position within the text viewer.
`IContextInformation[]` `computeContextInformation​(ITextViewer viewer, int documentOffset)` Returns information about possible contexts based on the specified location within the document that corresponds to the current cursor position within the text viewer.
`protected TemplateContext` `createContext​(ITextViewer viewer, IRegion region)` Creates a concrete template context for the given region in the document.
`protected ICompletionProposal` `createProposal​(Template template, TemplateContext context, IRegion region, int relevance)` Creates a new proposal.
`protected ICompletionProposal` `createProposal​(Template template, TemplateContext context, Region region, int relevance)` Deprecated. use the version specifying `IRegion` as third parameter
`protected String` `extractPrefix​(ITextViewer viewer, int offset)` Heuristically extracts the prefix used for determining template relevance from the viewer's document.
`char[]` `getCompletionProposalAutoActivationCharacters()` Returns the characters which when entered by the user should automatically trigger the presentation of possible completions.
`char[]` `getContextInformationAutoActivationCharacters()` Returns the characters which when entered by the user should automatically trigger the presentation of context information.
`IContextInformationValidator` `getContextInformationValidator()` Returns a validator used to determine when displayed context information should be dismissed.
`protected abstract TemplateContextType` `getContextType​(ITextViewer viewer, IRegion region)` Returns the context type that can handle template insertion at the given region in the viewer's document.
`String` `getErrorMessage()` Returns the reason why this content assist processor was unable to produce any completion proposals or context information.
`protected abstract Image` `getImage​(Template template)` Returns the image to be used for the proposal for `template`.
`protected int` `getRelevance​(Template template, String prefix)` Returns the relevance of a template given a prefix.
`protected abstract Template[]` `getTemplates​(String contextTypeId)` Returns the templates valid for the context type specified by `contextTypeId`.

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

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

### Constructor Detail

#### TemplateCompletionProcessor

    public TemplateCompletionProcessor()

### Method Detail

#### computeCompletionProposals

    public ICompletionProposal[] computeCompletionProposals​(ITextViewer viewer,
                                                            int offset)

Description copied from interface: `IContentAssistProcessor`
Returns a list of completion proposals based on the specified location within the document that corresponds to the current cursor position within the text viewer.

Specified by:
  `computeCompletionProposals` in interface `IContentAssistProcessor`
Parameters:
  `viewer` - the viewer whose document is used to compute the proposals
  `offset` - an offset within the document for which completions should be computed
Returns:
  an array of completion proposals or `null` if no proposals are possible

#### createProposal

    @Deprecated
    protected ICompletionProposal createProposal​(Template template,
                                                 TemplateContext context,
                                                 Region region,
                                                 int relevance)

Deprecated.
use the version specifying `IRegion` as third parameter
Creates a new proposal.

Forwards to `createProposal(Template, TemplateContext, IRegion, int)`. Do neither call nor override.

Parameters:
  `template` - the template to be applied by the proposal
  `context` - the context for the proposal
  `region` - the region the proposal applies to
  `relevance` - the relevance of the proposal
Returns:
  a new `ICompletionProposal` for `template`
Since:
  3.1

#### createProposal

    protected ICompletionProposal createProposal​(Template template,
                                                 TemplateContext context,
                                                 IRegion region,
                                                 int relevance)

Creates a new proposal.

The default implementation returns an instance of `TemplateProposal`. Subclasses may replace this method to provide their own implementations.

Parameters:
  `template` - the template to be applied by the proposal
  `context` - the context for the proposal
  `region` - the region the proposal applies to
  `relevance` - the relevance of the proposal
Returns:
  a new `ICompletionProposal` for `template`

#### getTemplates

    protected abstract Template[] getTemplates​(String contextTypeId)

Returns the templates valid for the context type specified by `contextTypeId`.

Parameters:
  `contextTypeId` - the context type id
Returns:
  the templates valid for this context type id

#### createContext

    protected TemplateContext createContext​(ITextViewer viewer,
                                            IRegion region)

Creates a concrete template context for the given region in the document. This involves finding out which context type is valid at the given location, and then creating a context of this type. The default implementation returns a `DocumentTemplateContext` for the context type at the given location.

Parameters:
  `viewer` - the viewer for which the context is created
  `region` - the region into `document` for which the context is created
Returns:
  a template context that can handle template insertion at the given location, or `null`

#### getContextType

    protected abstract TemplateContextType getContextType​(ITextViewer viewer,
                                                          IRegion region)

Returns the context type that can handle template insertion at the given region in the viewer's document.

Parameters:
  `viewer` - the text viewer
  `region` - the region into the document displayed by viewer
Returns:
  the context type that can handle template expansion for the given location, or `null` if none exists

#### getRelevance

    protected int getRelevance​(Template template,
                               String prefix)

Returns the relevance of a template given a prefix. The default implementation returns a number greater than zero if the template name starts with the prefix, and zero otherwise.

Parameters:
  `template` - the template to compute the relevance for
  `prefix` - the prefix after which content assist was requested
Returns:
  the relevance of `template`
See Also:
  `extractPrefix(ITextViewer, int)`

#### extractPrefix

    protected String extractPrefix​(ITextViewer viewer,
                                   int offset)

Heuristically extracts the prefix used for determining template relevance from the viewer's document. The default implementation returns the String from offset backwards that forms a java identifier.

Parameters:
  `viewer` - the viewer
  `offset` - offset into document
Returns:
  the prefix to consider
See Also:
  `getRelevance(Template, String)`

#### getImage

    protected abstract Image getImage​(Template template)

Returns the image to be used for the proposal for `template`.

Parameters:
  `template` - the template for which an image should be returned
Returns:
  the image for `template`

#### computeContextInformation

    public IContextInformation[] computeContextInformation​(ITextViewer viewer,
                                                           int documentOffset)

Description copied from interface: `IContentAssistProcessor`
Returns information about possible contexts based on the specified location within the document that corresponds to the current cursor position within the text viewer.

Specified by:
  `computeContextInformation` in interface `IContentAssistProcessor`
Parameters:
  `viewer` - the viewer whose document is used to compute the possible contexts
  `documentOffset` - an offset within the document for which context information should be computed
Returns:
  an array of context information objects or `null` if no context could be found

#### getCompletionProposalAutoActivationCharacters

    public char[] getCompletionProposalAutoActivationCharacters()

Description copied from interface: `IContentAssistProcessor`
Returns the characters which when entered by the user should automatically trigger the presentation of possible completions.

Specified by:
  `getCompletionProposalAutoActivationCharacters` in interface `IContentAssistProcessor`
Returns:
  the auto activation characters for completion proposal or `null` if no auto activation is desired

#### getContextInformationAutoActivationCharacters

    public char[] getContextInformationAutoActivationCharacters()

Description copied from interface: `IContentAssistProcessor`
Returns the characters which when entered by the user should automatically trigger the presentation of context information.

Specified by:
  `getContextInformationAutoActivationCharacters` in interface `IContentAssistProcessor`
Returns:
  the auto activation characters for presenting context information or `null` if no auto activation is desired

#### getErrorMessage

    public String getErrorMessage()

Description copied from interface: `IContentAssistProcessor`
Returns the reason why this content assist processor was unable to produce any completion proposals or context information.

Specified by:
  `getErrorMessage` in interface `IContentAssistProcessor`
Returns:
  an error message or `null` if no error occurred

#### getContextInformationValidator

    public IContextInformationValidator getContextInformationValidator()

Description copied from interface: `IContentAssistProcessor`
Returns a validator used to determine when displayed context information should be dismissed. May only return `null` if the processor is incapable of computing context information.

Specified by:
  `getContextInformationValidator` in interface `IContentAssistProcessor`
Returns:
  a context information validator, or `null` if the processor is incapable of computing context information