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