Answer inline:

> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On
> Behalf Of Geir Magnusson Jr.
> 
> Paulo Gaspar wrote:
> > 
> > But wouldn't it be better to also consider what is essential and what
> > is optional? Isn't *.velocity.app the place for application tools?
> 
> I guess I don't think of it as tools, but the application-centric API. 
> I mean, the point of the Velocity class is to not only supply some
> useful extra stuff, but decouple application programs from Runtime -
> that's why you should use the Velocity class init(), getTemplate(),
> setProperty(), etc, rather than use Runtime.
> 
> It gives us the degree of freedom to change the underlying impl of
> Runtime.

Ok, my bad interpretation.
That way I don't know anymore.

 
> ... stuff we agree on ...
>
> and smaller :)

YEEEEEESSSSSSSSS!!!!

  
> > Some extra remarks on the Event Handlers:
> >   - In NullSetEventHandler, why is the method called
> >     "nullSetLogMessage()"? One does not have to log the message and no
> >     message is directly involved. What about "nullSetAttempt()"?
> 
> er, the method returns true or false as a vote whether or not to log. 
> it has nothing to do with the #set() of the LHS.
> 
> This is something I added to solve the problem that the 
> 
> #set($foo = $!bar) 
> 
> and other variants were supposed to address, meaning a 'quiet #set()'.

Ops! I should have paid more attention to that one!
The name really says it!
 
  
> >   - Why having
> >       NullReferenceEventHandler.nullReferenceRender()   (1)
> >     and
> >       ReferenceInsertionEventHandler.referenceInsert()  (2)
> >     AFAIK, they do a similar thing, one for non silent null values and
> >     the other for non null values. Following the pattern of the first
> >     (1) case, we should have (instead of the second (2))
> >       ReferenceEventHandler.referenceRender()
> >     or
> >       NonNullReferenceEventHandler.nonNullReferenceRender()
> > 
> > For some people (not you Geir) this might look like a detail, but the
> > names of classes and methods are the first (most immediate) level of
> > documentation. They can make reading further documentation unnecessary
> > or they can induce confusion.
> 
> Try and keep up, chief. :)
> 
> NullReferenceEventHandler is gone.  It's redundant.

You are too fast!
I took a look at the cvs log just 2 days ago!
=:o)

The possibility of it being redundant crossed my mind while writing the
previous post, but I was not very sure about the whole thing.


> If you have some alternate suggestions for the methods, please - now is
> the time to fix this - it will be virtually impossible to do later.

My favorite event.method() names would be:
    ReferenceRenderEventHandler.referenceRender()
        (for the ReferenceInsertionEventHandler.referenceInsert())

and
    NullSetEventHandler.shouldLogNullSetAttempt()
        (for the NullSetEventHandler.nullSetLogMessage())
 
> And if you have a good suggestion for what package the event stuff can
> move to, that would be great as well.

No better ideas than *.velocity.app.events, which puts the events a bit
apart because,
 - More events can still pop up;
 - They do not have as much common use as other *.velocity.app classes,
   and this way they do not clutter that app-common-use package.

(I am adapting to your POV on *.velocity.app now.)
 

I will probably be some 48 hours offline now (ARGH!). I will follow up
this on Sunday. Thanks for the (as usual) fast answer.


Have fun,
Paulo Gaspar

Reply via email to