users@javaserverfaces-spec-public.java.net

[jsr344-experts mirror] [jsr344-experts] Re: Re: [1072, 1079, 1109, 1110] Wrappers

From: Leonardo Uribe <lu4242_at_gmail.com>
Date: Thu, 29 Nov 2012 23:16:13 -0500

2012/11/29 Edward Burns <edward.burns_at_oracle.com>:
>>>>>> On Thu, 29 Nov 2012 22:54:49 -0500, Leonardo Uribe <lu4242_at_gmail.com> said:
>
> LU> Hi
> LU> Just as a comment, keep in mind if you add RendererWrapper, this class
> LU> could hide @ListenerFor and @ResourceDependency annotations. Some
> LU> changes are necessary over Application object to make it work
> LU> properly. It also suppose a problem if you have a Renderer that
> LU> implements ComponentSystemEventListener or SystemEventListener,
> LU> because those methods are not wrapped. I suppose it also requires
> LU> changes over UIComponent.subscribeToEvent(), specially in the wrapper
> LU> for all listeners.
>
> Yes, it felt a bit funny to add a wrapper for something component-ish.
> Neil, do you still want it? Should we take it out?
>

Please note this is not only useful for portlet case. In MyFaces ExtVal, a
RendererWrapper is used to add validation support. See:

http://svn.apache.org/repos/asf/myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/renderkit/ExtValRendererWrapper.java

For example. To deal with this, ExtVal provide additional modules to do the
wrapping of Renderer classes (generic module, which uses cglib to do the
wrapping and trinidad module, if no module is provided is just use a wrapper
but it has the problem with @ListenerFor and @ResourceDependency).

regards,

Leonardo Uribe

> Ed
>
> --
> | edward.burns_at_oracle.com | office: +1 407 458 0017
> | homepage: | http://ridingthecrest.com/