org.apache.velocity.runtime
Class VelocimacroFactory

java.lang.Object
  extended by org.apache.velocity.runtime.VelocimacroFactory

public class VelocimacroFactory
extends Object

VelocimacroFactory.java manages the set of VMs in a running Velocity engine.

Version:
$Id: VelocimacroFactory.java 1043077 2010-12-07 15:01:25Z apetrelli $
Author:
Geir Magnusson Jr.

Constructor Summary
VelocimacroFactory(RuntimeServices rsvc)
          C'tor for the VelociMacro factory.
 
Method Summary
 boolean addVelocimacro(String name, Node macroBody, List<Macro.MacroArg> macroArgs, String sourceTemplate)
          Adds a macro to the factory.
 boolean addVelocimacro(String name, String macroBody, List<Macro.MacroArg> macroArgs, String sourceTemplate)
          Adds a macro to the factory.
 boolean dumpVMNamespace(String namespace)
          tells the vmManager to dump the specified namespace
 Directive getVelocimacro(String vmName, String sourceTemplate)
          actual factory : creates a Directive that will behave correctly wrt getting the framework to dig out the correct # of args
 Directive getVelocimacro(String vmName, String sourceTemplate, String renderingTemplate)
           
 List<VelocimacroProxy> getVelocimacros(String sourceTemplate)
          Return a list of VelocimacroProxies that are defined by the given template name.
 void initVelocimacro()
          initialize the factory - setup all permissions load all global libraries.
 boolean isVelocimacro(String vm, 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(String name,
                              String macroBody,
                              List<Macro.MacroArg> macroArgs,
                              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.
macroArgs - Array of macro arguments, containing the #macro() arguments and default values. the 0th is the name.
sourceTemplate - Source template from which the macro gets registered.
Returns:
true if Macro was registered successfully.

addVelocimacro

public boolean addVelocimacro(String name,
                              Node macroBody,
                              List<Macro.MacroArg> macroArgs,
                              String sourceTemplate)
Adds a macro to the factory.

Parameters:
name - Name of the Macro to add.
macroBody - root node of the parsed macro AST
macroArgs - Array of macro arguments, containing the #macro() arguments and default values. the 0th is the name.
sourceTemplate - Source template from which the macro gets registered.
Returns:
true if Macro was registered successfully.
Since:
1.6

isVelocimacro

public boolean isVelocimacro(String vm,
                             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(String vmName,
                                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.

getVelocimacros

public List<VelocimacroProxy> getVelocimacros(String sourceTemplate)
Return a list of VelocimacroProxies that are defined by the given template name.


getVelocimacro

public Directive getVelocimacro(String vmName,
                                String sourceTemplate,
                                String renderingTemplate)
Since:
1.6

dumpVMNamespace

public boolean dumpVMNamespace(String namespace)
tells the vmManager to dump the specified namespace

Parameters:
namespace - Namespace to dump.
Returns:
True if namespace has been dumped successfully.


Copyright © 2000-2012 The Apache Software Foundation. All Rights Reserved.