>> This is a side-effect of Tapestry's static structure approach. A
>> component X embedded in the template of component Y is instantiated as
>> an object attached to object Y. This instantiation happens once, at
>> page load time.
>> 
>> For X to be recursive (to contain an X), we would need to instantiate
>> X and as part of that, instantiation another X to place inside the
>> first X.  To create the second X we need to instantiate a third X ...
>> you can see where this goes.
>> 
>> In theory, we could construct the component heirarchy for the page on
>> an as-needed basis, but that might cause its own problems (including
>> performance issues) and a while different set of lazy abstractions!

  Ah.... I get it. 

  So if I nest components A(B(C(D(E)))), and B(C(D(E)))

  Then tapestry builds the following components:

   A
   A.B
   A.B.C
   A.B.C.D
   A.B.C.D.E

   B
   B.C
   B.C.D
   B.C.D.E

   So while I've written only 5 components, I've instantiated 9, and A.B.C is a 
different component then B.C. Doing that lets you cache things more 
effectively. 

 
   Pierce


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

Reply via email to