[prev in list] [next in list] [prev in thread] [next in thread] 

List:       velocity-dev
Subject:    [jira] Created: (VELOCITY-687) Macro pass by value option
From:       "Byron Foster (JIRA)" <dev () velocity ! apache ! org>
Date:       2009-01-26 17:23:59
Message-ID: 241556633.1232990639786.JavaMail.jira () brutus
[Download RAW message or body]

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: dev-unsubscribe@velocity.apache.org
For additional commands, e-mail: dev-help@velocity.apache.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic