hi Christophe, you're right... there is a risk in decorating/using internal services... but this is why i write extensive tests to catch these changes :)
as you probably know, tapestry features static components/pages and dynamic behaviour. so components are stateless until they are retrieved from the pool for rendering and populated with the values from the persistent store. if you try to detect data modifications (just a guess - as i still dont know what you want to achieve ;)) you should look at your beans/entities/domain objects your components are bound to . g, kris Cordenier Christophe <[EMAIL PROTECTED]> 11.03.2008 13:55 Bitte antworten an "Tapestry users" <users@tapestry.apache.org> An Tapestry users <users@tapestry.apache.org> Kopie Thema RE: T5 : How to access to a Component Body ? Hi Kristian, Thank you for you're answer. You're right, it's a part of the job the job if I want to get for example a state modification set during component rendering. But what is missing with this approach is that "@Persist" annotation is associated to a component class. Not to a component in a page... Furthermore, I'm actually wondering if it's good idea to decorate a service that is declared to be part of the "internal" API. I did it too but I'm not sure it's the good approach with Tapestry 5. Considering the decorated service is renamed or refactored, the decoration method in "AppModule" won't be called anymore without any notice. Christophe -----Message d'origine----- De : Kristian Marinkovic [mailto:[EMAIL PROTECTED] Envoyé : mardi 11 mars 2008 13:38 À : Tapestry users Objet : RE: T5 : How to access to a Component Body ? hi, if you just want the state (persistent fields ....) you could decorate the PersistentFieldManager. This service is used to persist all fields with a @Persist annotation into the respective store. i used this to implement a kind of conversation control maybe you could elaborate more on what you want to accomplish... g, kris Cordenier Christophe <[EMAIL PROTECTED]> 11.03.2008 13:28 Bitte antworten an "Tapestry users" <users@tapestry.apache.org> An Tapestry users <users@tapestry.apache.org> Kopie Thema RE: T5 : How to access to a Component Body ? Actually i'm wondering if it would be possible to monitor every elements contained in a part of a Template. Extracting persistent fields, parameters... Every information that defines the state of the portion of template for a user request. -----Message d'origine----- De : Davor Hrg [mailto:[EMAIL PROTECTED] Envoyé : mardi 11 mars 2008 11:57 À : Tapestry users Objet : Re: T5 : How to access to a Component Body ? explain what are zou trzing to achieve, maybe we can offer a different approach.. Davor Hrg On Tue, Mar 11, 2008 at 10:33 AM, Cordenier Christophe <[EMAIL PROTECTED]> wrote: > Thank you for your answer, > > But actually my component must access its child in a dynamic way. > It will be used in different context for analysis purpose. > > I've been searching for different ways to access a component body. > > For exemple, by using "nestedId" at creation time by decorating the PageElementFactory to identify if a component is contained in my component, but the nestedId does not contain the id of the parent component but is only suffixed to the container nested id. > > By decorating ComponentPageElement and intercepting "addToBody" method call for my component only, but it was not enough for the children and I don't want to generalize the use of these kind of hooks or wrapping mechanism because of the "internal" aspect of the PageElementFactory and ComponentPageElement classes. > > Best regards, > Christophe. > > -----Message d'origine----- > De : Davor Hrg [mailto:[EMAIL PROTECTED] > Envoyé : mardi 11 mars 2008 10:08 > À : Tapestry users > Objet : Re: T5 : How to access to a Component Body ? > > > > you can not access child components geenricaly, > but you can access blocks by id. > > you can embed components > @Component TextField name; //component's class is decided here > and in template simply put: > <div t:id="name"/> > > > but to access a textfield as Field you can: > @InjectComponent private Field name; > and then component's class is resolved from the template > so in the template you must put: > <t:textfield id="name"/> > > > you can not use it like this: > @Component private Field name; > and in template > <t:textfield id="name"/> > > > Davor Hrg > On Tue, Mar 11, 2008 at 9:25 AM, Cordenier Christophe > <[EMAIL PROTECTED]> wrote: > > Hello, > > > > I'm currently working on a component that needs to access the content of its body to extract informations like parameters, or persistent variable used by the components declared in its body. > > > > Actually, the ComponentResources class allows me to access the container of a component, but it appears that a child is not "contained in" the component. > > This should have helped me from a down-top view. > > > > And I didn't find any method to access the body of a component. > > > > Does anyone knows a way to access the children of a component ? > > > > Best Regards, > > Christophe Cordenier. > > > > > > Ce message et les pi?ces jointes sont confidentiels et r?serv?s ? l'usage exclusif de ses destinataires. Il peut ?galement ?tre prot?g? par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir imm?diatement l'exp?diteur et de le d?truire. L'int?grit? du message ne pouvant ?tre assur?e sur Internet, la responsabilit? du groupe Atos Origin ne pourra ?tre recherch?e quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'exp?diteur ne donne aucune garantie ? cet ?gard et sa responsabilit? ne saurait ?tre recherch?e pour tout dommage r?sultant d'un virus transmis. > > > > This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Atos Origin group liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted. > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > Ce message et les pièces jointes sont confidentiels et réservés à l'usage exclusif de ses destinataires. Il peut également être protégé par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir immédiatement l'expéditeur et de le détruire. L'intégrité du message ne pouvant être assurée sur Internet, la responsabilité du groupe Atos Origin ne pourra être recherchée quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'expéditeur ne donne aucune garantie à cet égard et sa responsabilité ne saurait être recherchée pour tout dommage résultant d'un virus transmis. > > > > This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Atos Origin group liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Ce message et les pièces jointes sont confidentiels et réservés à l'usage exclusif de ses destinataires. Il peut également être protégé par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir immédiatement l'expéditeur et de le détruire. L'intégrité du message ne pouvant être assurée sur Internet, la responsabilité du groupe Atos Origin ne pourra être recherchée quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'expéditeur ne donne aucune garantie à cet égard et sa responsabilité ne saurait être recherchée pour tout dommage résultant d'un virus transmis. This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Atos Origin group liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Ce message et les pièces jointes sont confidentiels et réservés à l'usage exclusif de ses destinataires. Il peut également être protégé par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir immédiatement l'expéditeur et de le détruire. L'intégrité du message ne pouvant être assurée sur Internet, la responsabilité du groupe Atos Origin ne pourra être recherchée quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'expéditeur ne donne aucune garantie à cet égard et sa responsabilité ne saurait être recherchée pour tout dommage résultant d'un virus transmis. This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Atos Origin group liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]