Hi Robert, 2) I tried your way, it doesn't work; it doesn't work even back to 5.0.18. 3) I don't think the get/set methods would work for parameters; look at ParameterWorker class, it's fairly complicated because of the implementation of the binding magic.
Thanks, Richard On Thu, Feb 12, 2009 at 2:56 PM, Robert Zeigler <robe...@scazdl.org> wrote: > 1) Since Child extends Parent, it already has a name @Parameter. > 2) If you want to provide the default in the child, you can always provide > the "default" method: > String defaultName() { > return "Tom"; > } > 3) Otherwise, access in the child via code is mediated through normal java > channels: create a public (or protected) getter and setter in the Parent > class. > > Robert > > On Feb 12, 2009, at 2/1212:45 PM , Yunhua Sang wrote: > >> Hi Howard, >> >> Can you show me in a child component, how to access a parameter >> defined in parent by using another way? I cannot find api which isn't >> internal about it. By the way, seems it's also diffcult to provide >> default binding for a parameter within parent because function >> bindParameter(String parameterName, Binding binding) is internal as >> well. >> >> Thanks, >> Yunhua >> >> On Thu, Feb 12, 2009 at 11:10 AM, Howard Lewis Ship <hls...@gmail.com> >> wrote: >>> >>> It looks to me like theres an ambiguity here: I don't think a child >>> component should be allowed to declare a second parameter, "name" in >>> this example, that is already defined in a super-class. >>> >>> On Wed, Feb 11, 2009 at 12:20 PM, Yunhua Sang <yunhua.s...@gmail.com> >>> wrote: >>>> >>>> Hello Howard, >>>> >>>> It turns out the error occurs only when the child wants to provide its >>>> own default binding for a parameter originally defined in parent; >>>> example: >>>> >>>> public class Parent { >>>> @Parameter >>>> private String name; >>>> void setupRender() { >>>> name.toUpperCase(); // NPE happens here >>>> } >>>> } >>>> >>>> public class Child extends Parent{ >>>> @Parameter("prop:name") >>>> private String name; >>>> public String getName() { >>>> return "Tom"; >>>> } >>>> } >>>> >>>> Page class: >>>> public class ChildExample { >>>> @Component >>>> private Child child; >>>> } >>>> >>>> Template ChildExample.tml: >>>> <html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd"> >>>> <h3>Test</h3> >>>> <t:child t:id="child"/> >>>> </html> >>>> >>>> I am sorry for my previous inaccurate information and thanks for >>>> looking into it. >>>> >>>> Yunhua >>>> >>>> >>>> On Wed, Feb 11, 2009 at 2:15 PM, Howard Lewis Ship <hls...@gmail.com> >>>> wrote: >>>>> >>>>> I'm not aware of anything that's changed in this area; could you >>>>> elaborate? >>>>> >>>>> On Wed, Feb 11, 2009 at 10:56 AM, Yunhua Sang <yunhua.s...@gmail.com> >>>>> wrote: >>>>>> >>>>>> Hello all, >>>>>> >>>>>> It seems there is no clear document about how to access a parameter >>>>>> defined in parent component; previous to 5.0.18, I was using the way >>>>>> of declaring the parameter again in child class and it worked well; >>>>>> however looks like some changes in 5.1.0.0 broke the way, seems there >>>>>> is no link between the parameter with same name in parent and child >>>>>> now. >>>>>> >>>>>> The problem is when I am USING a tapestry component, it's such a >>>>>> comfortable experience; but when I write a sub-class of a component, I >>>>>> am getting frustrated: a lot of methods are package visible; there is >>>>>> no clear way for parameter manipulation, a typical question: can I >>>>>> update an attibute of parameter in parent class? If inheritance is not >>>>>> a good practice in Tapestry, there should be a document about it. >>>>>> >>>>>> Thanks in advance for any help, >>>>>> Yunhua >>>>>> >>>>>> --------------------------------------------------------------------- >>>>>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >>>>>> For additional commands, e-mail: users-h...@tapestry.apache.org >>>>>> >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Howard M. Lewis Ship >>>>> >>>>> Creator Apache Tapestry and Apache HiveMind >>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >>>>> For additional commands, e-mail: users-h...@tapestry.apache.org >>>>> >>>>> >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >>>> For additional commands, e-mail: users-h...@tapestry.apache.org >>>> >>>> >>> >>> >>> >>> -- >>> Howard M. Lewis Ship >>> >>> Creator Apache Tapestry and Apache HiveMind >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >>> For additional commands, e-mail: users-h...@tapestry.apache.org >>> >>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >> For additional commands, e-mail: users-h...@tapestry.apache.org > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org