Class 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 Detail

      • 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 Detail

      • 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