Class BlockMacro
- java.lang.Object
-
- net.sourceforge.pmd.lang.vm.directive.Directive
-
- net.sourceforge.pmd.lang.vm.directive.Block
-
- net.sourceforge.pmd.lang.vm.directive.BlockMacro
-
- All Implemented Interfaces:
java.lang.Cloneable
public class BlockMacro extends Block
BlockMacro directive is used to invoke Velocity macros with normal parameters and a macro body.The macro can then refer to the passed body AST. This directive can be used as a "decorator". Body AST can contain any valid Velocity syntax. An example:
#set($foobar = "yeah!") #macro(strong $txt) <strong>$bodyContent</strong> $txt #end #@strong($foobar) <u>This text is underlined and bold</u> #end
Will print:<strong><u>This text is underlined and bold<u></strong> yeah!
bodyContent reference name is configurable (see velocity.properties).- Since:
- 1.7
- Version:
- $Id$
- Author:
- Jarkko Viinamaki
-
-
Constructor Summary
Constructors Constructor Description BlockMacro(java.lang.String name)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringgetName()Return the name of this directive.java.lang.StringgetScopeName()Override to use the macro name, since it is within an #@myMacro() ...-
Methods inherited from class net.sourceforge.pmd.lang.vm.directive.Directive
getColumn, getLine, getTemplateName, isScopeProvided, setLocation, setLocation
-
-
-
-
Method Detail
-
getName
public java.lang.String getName()
Description copied from class:DirectiveReturn the name of this directive.
-
getScopeName
public java.lang.String getScopeName()
Override to use the macro name, since it is within an #@myMacro() ... #end block that the scope in question would be used.- Overrides:
getScopeNamein classDirective- Returns:
- the name to be used when a scope control is provided for this directive.
-
-