I apologize for my ignorance, but I am kind of confused about how the render
phases work.

Simple example:

class Base{
   @SetupRender
    protected boolean setupRender(MarkupWriter writer) {
        //do something
    }
}

class Derived extends Base{
    @BeginRender
    protected void beginRender() {
        //do something
    }
}

class AppModule{
     public static PageResponseRenderer decoratePageResponseRenderer (){
          return new PageResponseRenderer() {
            public void renderPageResponse(Page page) throws IOException {
                     //do something
                     ((PageResponseRenderer)
delegate).renderPageResponse(page);
            }
         }
     }
}


Request comes in to Derived:

Expected:
Base(SetupRender)->Derived(BeginRender)->AppModule(renderPageResponse)
Actual:
Derived(BeginRender)->AppModule(renderPageResponse)->Base(SetupRender)

How come setupRender is being called from renderPageResponse and not right
at the beginning when the request comes in?  According to the docs at
http://tapestry.apache.org/tapestry5.1/guide/rendering.html, SetupRender
should happen right upfront. 

Could someone please shed some light? I am still learning.


Derived(Base).setupRender(MarkupWriter, Event) line: not available      
ComponentPageElementImpl$SetupRenderPhase.invokeComponent(Component,
MarkupWriter, Event) line: 184  
ComponentPageElementImpl$SetupRenderPhase(ComponentPageElementImpl$AbstractPhase).run(Component)
line: 164       
ComponentPageElementImpl.invoke(boolean, ComponentCallback) line: 933   
ComponentPageElementImpl.access$400(ComponentPageElementImpl, boolean,
ComponentCallback) line: 49     
ComponentPageElementImpl$SetupRenderPhase(ComponentPageElementImpl$AbstractPhase).callback(boolean,
MarkupWriter) line: 159 
ComponentPageElementImpl$SetupRenderPhase.render(MarkupWriter, RenderQueue)
line: 189       
RenderQueueImpl.run(MarkupWriter) line: 74      
PageRenderQueueImpl.render(MarkupWriter) line: 121      
$PageRenderQueue_122a97bad5c.render(MarkupWriter) line: not available   
$PageRenderQueue_122a97bad5b.render(MarkupWriter) line: not available   
MarkupRendererTerminator.renderMarkup(MarkupWriter) line: 37    
TapestryModule$27.renderMarkup(MarkupWriter, MarkupRenderer) line: 1752 
$MarkupRenderer_122a97bad60.renderMarkup(MarkupWriter) line: not available      
TapestryModule$26.renderMarkup(MarkupWriter, MarkupRenderer) line: 1733 
$MarkupRenderer_122a97bad60.renderMarkup(MarkupWriter) line: not available      
TapestryModule$25.renderMarkup(MarkupWriter, MarkupRenderer) line: 1715 
$MarkupRenderer_122a97bad60.renderMarkup(MarkupWriter) line: not available      
TapestryModule$24.renderMarkup(MarkupWriter, MarkupRenderer) line: 1701 
$MarkupRenderer_122a97bad60.renderMarkup(MarkupWriter) line: not available      
TapestryModule$23.renderMarkup(MarkupWriter, MarkupRenderer) line: 1682 
$MarkupRenderer_122a97bad60.renderMarkup(MarkupWriter) line: not available      
TapestryModule$22.renderMarkup(MarkupWriter, MarkupRenderer) line: 1663 
$MarkupRenderer_122a97bad60.renderMarkup(MarkupWriter) line: not available      
$MarkupRenderer_122a97bad5a.renderMarkup(MarkupWriter) line: not available      
PageMarkupRendererImpl.renderPageMarkup(Page, MarkupWriter) line: 64    
$PageMarkupRenderer_122a97bad56.renderPageMarkup(Page, MarkupWriter) line:
not available   
PageResponseRendererImpl.renderPageResponse(Page) line: 61      
-- 
View this message in context: 
http://www.nabble.com/SetupRender---why-is-it-called-from-PageResponseRendererImpl.renderPageResponse--tp24636416p24636416.html
Sent from the Tapestry - User mailing list archive at Nabble.com.


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

Reply via email to