The boolean logic is hard coded; perhaps you should think in terms of
a enum to return instead.

On Sat, Oct 23, 2010 at 11:29 PM, Alessio Gambi <agamb...@gmail.com> wrote:
> Hi,
>
> I would like to return a boolean value form the handler instead of using the
> value of the boolean itself to control the bubbling process (actually the
> same applies to void).
> For this purpose, I defined an annotation to prevent events to bubble for
> the annotated event handler methods, and a
> ComponentClassTransformationWorker.
>
> The first idea was to let the worker to modify the return value of the
> original method to something wrapping the boolean (and the void) and
> override its result. Unfortunately I did not find a way to do that.
> The next idea is to add a new eventHandler method that listen for the same
> events/components of the original one, it basically wraps the body of the
> original method using an advide.
> The problem now is to "register" this new method with the dispatcherMethod.
> I think the best way is to annotate the method with the OnEvent annotation
> and name it something like:
>
> _+originalMethod name
>
> In this way, this method should be always called before the original one,
> always produces an Object that stops the bubbling, and always invoke the
> same logic as the original method.
>
> The problem: I cannot find a way to add the annotation to a generated
> method.
>
>
> In another possibility, I can name the new method with something like
> on+MethodName. But, I do not remember if the annotation takes precedence
> over the naming convention.
> Anyway, this solution is not so clean (and there may be clashes or method
> duplications).
>
> Any advice ?
>
> BTW, I am using 5.2
>
> Thank you.
>
> -- Alessio
>
> PS: As far as possible, I would like the OnEventWorker to register handler
> methods in the component event dispatcher.
>
>
>



-- 
Howard M. Lewis Ship

Creator of Apache Tapestry

The source for Tapestry training, mentoring and support. Contact me to
learn how I can get you up and productive in Tapestry fast!

(971) 678-5210
http://howardlewisship.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to