net.sourceforge.pmd.lang.vm.directive
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:
- 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
Fields inherited from class net.sourceforge.pmd.lang.vm.directive.Block |
key |
Method Summary |
String |
getName()
Return the name of this directive. |
String |
getScopeName()
Override to use the macro name, since it is within an
#@myMacro() ... |
Methods inherited from class net.sourceforge.pmd.lang.vm.directive.Block |
getType |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
BlockMacro
public BlockMacro(String name)
getName
public String getName()
- Description copied from class:
Directive
- Return the name of this directive.
- Specified by:
getName
in class Directive
- Returns:
- The name of this directive.
getScopeName
public 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:
getScopeName
in class Directive
Copyright © 2002–2015 InfoEther. All rights reserved.