Class Template


  • public class Template
    extends java.lang.Object
    A template expressed in EscapeVelocity, a subset of the Velocity Template Language (VTL) from Apache. The intent of this implementation is that if a template is accepted and successfully produces output, that output will be identical to what Velocity would have produced for the same template and input variables.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static interface  Template.ResourceOpener
      Used to resolve references to resources in the template, through #parse directives.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private Node root  
    • Constructor Summary

      Constructors 
      Constructor Description
      Template​(Node root)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String evaluate​(java.util.Map<java.lang.String,​?> vars)
      Evaluate the given template with the given initial set of variables.
      static Template parseFrom​(java.io.Reader reader)
      Parses a VTL template from the given Reader.
      static Template parseFrom​(java.lang.String resourceName, Template.ResourceOpener resourceOpener)
      Parse a VTL template of the given name using the given ResourceOpener.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • root

        private final Node root
    • Constructor Detail

      • Template

        Template​(Node root)
    • Method Detail

      • parseFrom

        public static Template parseFrom​(java.io.Reader reader)
                                  throws java.io.IOException
        Parses a VTL template from the given Reader. The given Reader will be closed on return from this method.
        Throws:
        java.io.IOException
      • parseFrom

        public static Template parseFrom​(java.lang.String resourceName,
                                         Template.ResourceOpener resourceOpener)
                                  throws java.io.IOException
        Parse a VTL template of the given name using the given ResourceOpener.
        Parameters:
        resourceName - name of the resource. May be null.
        resourceOpener - used to open included files for #parse directives in the template.
        Throws:
        java.io.IOException
      • evaluate

        public java.lang.String evaluate​(java.util.Map<java.lang.String,​?> vars)
        Evaluate the given template with the given initial set of variables.
        Parameters:
        vars - a map where the keys are variable names and the values are the corresponding variable values. For example, if "x" maps to 23, then $x in the template will expand to 23.
        Returns:
        the string result of evaluating the template.