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