Class VelocimacroFactory


  • public class VelocimacroFactory
    extends java.lang.Object
    VelocimacroFactory.java manages the set of VMs in a running Velocity engine.
    Version:
    $Id: VelocimacroFactory.java 894953 2009-12-31 22:48:19Z nbubna $
    Author:
    Geir Magnusson Jr.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean addVelocimacro​(java.lang.String name, java.lang.String macroBody, java.lang.String[] argArray, java.lang.String sourceTemplate)
      Adds a macro to the factory.
      boolean addVelocimacro​(java.lang.String name, Node macroBody, java.lang.String[] argArray, java.lang.String sourceTemplate)
      Adds a macro to the factory.
      boolean dumpVMNamespace​(java.lang.String namespace)
      tells the vmManager to dump the specified namespace
      Directive getVelocimacro​(java.lang.String vmName, java.lang.String sourceTemplate)
      actual factory : creates a Directive that will behave correctly wrt getting the framework to dig out the correct # of args
      Directive getVelocimacro​(java.lang.String vmName, java.lang.String sourceTemplate, java.lang.String renderingTemplate)  
      void initVelocimacro()
      initialize the factory - setup all permissions load all global libraries.
      boolean isVelocimacro​(java.lang.String vm, java.lang.String sourceTemplate)
      Tells the world if a given directive string is a Velocimacro
      • Methods inherited from class java.lang.Object

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

      • VelocimacroFactory

        public VelocimacroFactory​(RuntimeServices rsvc)
        C'tor for the VelociMacro factory.
        Parameters:
        rsvc - Reference to a runtime services object.
    • Method Detail

      • initVelocimacro

        public void initVelocimacro()
        initialize the factory - setup all permissions load all global libraries.
      • addVelocimacro

        public boolean addVelocimacro​(java.lang.String name,
                                      java.lang.String macroBody,
                                      java.lang.String[] argArray,
                                      java.lang.String sourceTemplate)
        Adds a macro to the factory. addVelocimacro(String, Node, String[] argArray, String) should be used internally instead of this.
        Parameters:
        name - Name of the Macro to add.
        macroBody - String representation of the macro.
        argArray - Macro arguments. First element is the macro name.
        sourceTemplate - Source template from which the macro gets registered.
        Returns:
        true if Macro was registered successfully.
      • addVelocimacro

        public boolean addVelocimacro​(java.lang.String name,
                                      Node macroBody,
                                      java.lang.String[] argArray,
                                      java.lang.String sourceTemplate)
        Adds a macro to the factory.
        Parameters:
        name - Name of the Macro to add.
        macroBody - root node of the parsed macro AST
        argArray - Name of the macro arguments. First element is the macro name.
        sourceTemplate - Source template from which the macro gets registered.
        Returns:
        true if Macro was registered successfully.
        Since:
        1.6
      • isVelocimacro

        public boolean isVelocimacro​(java.lang.String vm,
                                     java.lang.String sourceTemplate)
        Tells the world if a given directive string is a Velocimacro
        Parameters:
        vm - Name of the Macro.
        sourceTemplate - Source template from which the macro should be loaded.
        Returns:
        True if the given name is a macro.
      • getVelocimacro

        public Directive getVelocimacro​(java.lang.String vmName,
                                        java.lang.String sourceTemplate)
        actual factory : creates a Directive that will behave correctly wrt getting the framework to dig out the correct # of args
        Parameters:
        vmName - Name of the Macro.
        sourceTemplate - Source template from which the macro should be loaded.
        Returns:
        A directive representing the Macro.
      • getVelocimacro

        public Directive getVelocimacro​(java.lang.String vmName,
                                        java.lang.String sourceTemplate,
                                        java.lang.String renderingTemplate)
        Since:
        1.6
      • dumpVMNamespace

        public boolean dumpVMNamespace​(java.lang.String namespace)
        tells the vmManager to dump the specified namespace
        Parameters:
        namespace - Namespace to dump.
        Returns:
        True if namespace has been dumped successfully.