Interface Template

    • Field Detail

      • EMPTY

        static final Template EMPTY
        An empty template implementation.
    • Method Detail

      • apply

        void apply​(Object context,
                   Writer writer)
            throws IOException
        Merge the template tree using the given context.
        Parameters:
        context - The context object. May be null.
        writer - The writer object. Required.
        Throws:
        IOException - If a resource cannot be loaded.
      • apply

        String apply​(Object context)
              throws IOException
        Merge the template tree using the given context.
        Parameters:
        context - The context object. May be null.
        Returns:
        The resulting template.
        Throws:
        IOException - If a resource cannot be loaded.
      • apply

        void apply​(Context context,
                   Writer writer)
            throws IOException
        Merge the template tree using the given context.
        Parameters:
        context - The context object. Required.
        writer - The writer object. Required.
        Throws:
        IOException - If a resource cannot be loaded.
      • apply

        String apply​(Context context)
              throws IOException
        Merge the template tree using the given context.
        Parameters:
        context - The context object. Required.
        Returns:
        The resulting template.
        Throws:
        IOException - If a resource cannot be loaded.
      • text

        String text()
        Provide the raw text.
        Returns:
        The raw text.
      • toJavaScript

        String toJavaScript()
        Convert this template to JavaScript template (a.k.a precompiled template). Compilation is done by handlebars.js and a JS Engine (usually Rhino).
        Returns:
        A pre-compiled JavaScript version of this template.
      • collect

        List<String> collect​(TagType... tagType)
        Collect all the tag names under the given tagType.

        Usage:

         {{hello}}
         {{var 1}}
         {{{tripleVar}}}
         

        collect(TagType.VAR) returns [hello, var]

        collect(TagType.TRIPLE_VAR) returns [tripleVar]

        collect(TagType.VAR, TagType.TRIPLE_VAR) returns [hello, var, tripleVar]

        Parameters:
        tagType - The tag type. Required.
        Returns:
        A list with tag names.
      • collectReferenceParameters

        List<String> collectReferenceParameters()
        Collects all the parameters which are also variables.

        Usage:

         {{#if v1}}{{/if}}
         {{#each v2 "test"}}{{/each}}
         

        collectReferenceParameters() returns [v1, v2]

        Returns:
        A list with reference parameter names.
      • filename

        String filename()
        Returns:
        The template file's name.
      • position

        int[] position()
        Returns:
        The line and column where the template was found.