thank you very much!

if i provide 'public void configure(Map map)',
then what other entries will be contained in the map except those properties 
what i defined in the tool.xml explicitly?

in other words, if i provide setter methods, 
which implicit methods will be called before the tool be used?
setServletContext()? setRequest()? or others?
i need a list of such methods.

many thanks!

2010-01-12 



bluejoe2008 



发件人: Nathan Bubna 
发送时间: 2010-01-12  05:40:04 
收件人: Velocity Users List 
抄送: 
主题: Re: how to create a custom tool in tool 2.0? 
 
On Sun, Jan 10, 2010 at 9:59 PM, bluejoe2008 <[email protected]> wrote:
> hello, everyone.
>
> i wrote some application-scoped or request-scoped tools in version 1.x, in 
> which all classes were added a method named 'init(Object)'. however, in 
> version 2.0, I noticed that 'init()' method is depracated, and methods such 
> as 'setRequest()', 'setServletContext()' and 'setSession()' should be 
> provided if necessary.
Or you can provide a configure(Map) method and that map will contain
what you need.
> so my first question is: how to write a application-scoped or request-scoped 
> tool? the web page "Creating 
> Tools"[http://velocity.apache.org/tools/devel/creatingtools.html] tells 
> something about it, but i can not find any suggestion on defining a scoped 
> class. which methods are required? should one non-argument constructor be 
> provided? should the constructor be public? i do not know.
yes, a public no-arg constructor is essential.   what scope you want
it to be in is dependent on the purpose of the tool.  setting the
scope of the tool is done via your tool configuration.  there are
annotations available to limit what scope configurations are allowed.
> second, i want to know how the velocity engine load tools, especially scoped 
> tools. maybe firstly the engine calls Class.newInstance() to create a 
> instance, then it call setRequest() to initialize context? this is just my 
> guess. i want to know the truth.
yes, newInstance(), then the property setters are called, then the
configure(Map) method, if it exists.
>
> sorry to bother you! waiting for your reply! many thanks!
>
> best regards,
> bluejoe
> 2010-1-11
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to