On Tue, 14 Apr 2015 16:17:48 -0300, Тимур Бухараев <bukhar...@gmail.com> wrote:

The question is really about Tapestry rendering pipeline. I need iterate
over all components in page before they start render, to send remote
requests.

Well, in a page or component you can @Inject ComponentResources resources; and use resources.getComponentModel().getEmbeddedComponentIds() to know the ids of the components declared in its template and resources.getEmbeddedComponent(String embeddedId), to get the component instance, returned as a Component interface reference, and do this recursively, traversing the component tree. You cannot add your own component rendering lifecycle events. From now, you can define an interface your "parallel" components can implement and call its methods in case the component instances implement this interface. Another option, maybe the most recommended, but you can trigger events on them by calling getComponentResources().triggerEvent() method on the Component instance. When Tapestry does bytecode manipulation on your page and component classes, it makes them implement the Component interface.

By itself, the Tapestry rendering pipeline doesn't support parallel rendering.

--
Thiago H. de Paula Figueiredo
Tapestry, Java and Hibernate consultant and developer
http://machina.com.br

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

Reply via email to