Macro pass by value option
--------------------------
Key: VELOCITY-687
URL: https://issues.apache.org/jira/browse/VELOCITY-687
Project: Velocity
Issue Type: New Feature
Components: Engine
Affects Versions: 1.7
Reporter: Byron Foster
Add a configuration property which would change macro parameter passing from
pass by name, to pass by value. I think in many instances this option will
provide behavior that is more intuitive to the user. There are two important
exceptions to this, references created by #define, and references created by
BlockMacro's $bodyContent. This allows the user to still specify pass by name
semantics when desired, for example:
#define($x) #if($foo)$foo.bar#{else}-None-#end #end
#go($x)
In the above example '#if($foo)$foo.bar#{else}-None-#end' will be passed by
name. In all other cases pass by value rules apply for example:
#go($foo.bar [1, 2, 3] #if($bar)Yes#{else}No#end)
In the above example all parameters will be evaluated to a value first, then
passed to #go. This has potential performance improvements also.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]