Right, But actually, I don't think that setupRender method are meant to be private.
Strategy is parent before children. see http://markmail.org/thread/u3t6xfa2mzopwgpz 2010/9/1 Alex Kotchnev <akoch...@gmail.com> > Christophe, > I guess a part of the problem is that if I subclass from a parent class, > I might not know what private methods it has. Thus, if the superclass ends > up having a private method annotated w/ @SetupRender, and I accidentally > end > up having a private method in my class w/ the same name and annotated > @SetupRender, my method isn't getting called. Sounds like a massive > violation of encapsulation principles. > > Regards, > > Alex K > > On Wed, Sep 1, 2010 at 8:25 AM, Christophe Cordenier < > christophe.corden...@gmail.com> wrote: > > > Hi ! > > > > Actually as far as i remember when method have the same name, the > generated > > code would simply call 'init' method without method selection in this > case. > > > > Anyway, Paul should use a protected or package visibility in his case and > > call super.init() on the parent class. > > > > 2010/9/1 Alex Kotchnev <akoch...@gmail.com> > > > > > Christophe, > > > I think Paul's point is that there shouldn't be any overriding > > happening > > > : in his first case, these are private methods; hence, the @Override > > > annotation would be incorrect. > > > > > > Sounds like a bug to me. > > > > > > Regards, > > > > > > Alex K > > > > > > > > > > > > On Wed, Sep 1, 2010 at 2:27 AM, Christophe Cordenier < > > > christophe.corden...@gmail.com> wrote: > > > > > > > Hi ! > > > > > > > > You should use @Override on overriden methods in sub-classes > > > > > > > > 2010/9/1 Paul Stanton <p...@mapshed.com.au> > > > > > > > > > I've found a strange issue with the @SetupRender annotation when > used > > > in > > > > a > > > > > class hierarchy. > > > > > > > > > > Typically, in java 2 classes within a hierarchy can have the same > > > > signature > > > > > for a private method and not effect each other, so I would expect > > this > > > to > > > > be > > > > > the case when both of these private methods are annotated with > > > > @SetupRender. > > > > > Therefore the output for case 1 and case 2 (below) should be the > same > > > and > > > > > print both messages "setupRender2", "setupRender1". > > > > > > > > > > However case 1 only prints "setupRender2" meaning it somehow > > overwrites > > > > the > > > > > method in it's implementing class. > > > > > > > > > > This is concerning because > > > > > 1. there should never be a requirement that a sub-class knows of > it's > > > > > super-classes implementation > > > > > 2. if hierarchy does come into play, the subclass should override > the > > > > super > > > > > class. > > > > > > > > > > CASE 1: > > > > > ------------------ > > > > > public abstract class StartBase { > > > > > @SetupRender > > > > > private void init() { > > > > > log.debug("setupRender2"); > > > > > } > > > > > } > > > > > > > > > > public class Start extends StartBase { > > > > > @SetupRender > > > > > private void init() { > > > > > log.debug("setupRender1"); > > > > > } > > > > > } > > > > > > > > > > CASE 2: > > > > > ------------------ > > > > > public abstract class StartBase { > > > > > @SetupRender > > > > > private void init2() { > > > > > log.debug("setupRender2"); > > > > > } > > > > > } > > > > > > > > > > public class Start extends StartBase { > > > > > @SetupRender > > > > > private void init1() { > > > > > log.debug("setupRender1"); > > > > > } > > > > > } > > > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > > > > > For additional commands, e-mail: users-h...@tapestry.apache.org > > > > > > > > > > > > > > > > > > > > > > -- > > > > Regards, > > > > Christophe Cordenier. > > > > > > > > Committer on Apache Tapestry 5 > > > > Co-creator of wooki @wookicentral.com > > > > > > > > > > > > > > > -- > > Regards, > > Christophe Cordenier. > > > > Committer on Apache Tapestry 5 > > Co-creator of wooki @wookicentral.com > > > -- Regards, Christophe Cordenier. Committer on Apache Tapestry 5 Co-creator of wooki @wookicentral.com