Eclipse Platform
Release 3.0

org.eclipse.jface.text.templates
Class TemplateCompletionProcessor

java.lang.Object
  extended byorg.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
TemplateCompletionProcessor()
           
 
Method Summary
 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, Region region, int relevance)
          Creates a new proposal.
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

protected ICompletionProposal createProposal(Template template,
                                             TemplateContext context,
                                             Region 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

Eclipse Platform
Release 3.0

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2004. All rights reserved.