i think its simpler then that. we keep a stack of request targets used, so
at the end of the request cycle we just need to go through the stack and
call detach on each request target.

-igor



On 1/5/07, Johan Compagner <[EMAIL PROTECTED]> wrote:

>
> this should be enough (IMHO):
>
> >> 1) resolve link component
> >> 2) invoke onclick (internal methods of the component)
> >> 3) invoke onbeforerender
> >> 4) invoke render
> >> 5) invoke onafterrender



this doesn't work

>> 1) resolve link component (page1)
>> 2) invoke onclick (page1) (internal methods of the component)
>setResponsePage(Page2)
>> 3) invoke onbeforerender (Pag2)
>> 4) invoke render (Page2)
>> 5) invoke onafterrender (Page2)


Aaarghh Page1 will still be in a attached state!!......


the complete picture can be this:

> >> 1) resolve link component (page1)
> >> 2) invoke onattach (Page1)
> >> 3) invoke onclick (Page1)
> >> 2) invoke onattach (Page2)
> >> 4) invoke onbeforerender (Page2)
> >> 5) invoke render (Page2)
> >> 6) invoke onafterrender (Page2)
> >> 7) invoke ondetach (Page2)
> >> 7) invoke ondetach (Page1)

thats the complete picture that has to be taken into account.

But onAttach can be just an attach method that is public or maybe
protected
final
And is only used to set the IS_ATTACHED_FLAG to true on the complete
component hierarchy.

johan


Reply via email to