Mathias Brökelmann wrote:
uicolumn components can contain header and footer facets. But these
facets must be handled by the parent uidata since they are only
processed one time and not for every row.

UIColumn could define something like processHeaderDecodes() which is
called by parent UIData. but that would require a lot of new methods
in UIColumn.

Thanks Mathias. I see that the difference between the way the facets of each UIColumn (header/footer) have to be invoked (once per table) and the way the other children of UIColumn have to be invoked (once per row) makes things awkward.

I still believe that the current solution is ugly and that UIColumn should be managing its own children rather than UIData accessing them. However as you indicate that would require some significant API changes somewhere. As the "public final draft" for JSF 1.2 has been issued, and about 80% of the JCP participants have already voted on it (including Apache) I guess there isn't much point in following this up.

Anyway, there does appear to be a workaround (though it's not very elegant) involving having my custom UIColumn class dynamically add a dummy child to itself, where this child simply forwards processDecodes calls back to the parent UIColumn.

Cheers,

Simon

Reply via email to