Java Mailing List Archive

http://www.gg3721.com/

Home » users.tapestry »

@SetupRender and class hierarchy

Paul Stanton

2010-08-31

Replies: Find Java Web Hosting

Author LoginPost Reply
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-unsubscribe@(protected)
For additional commands, e-mail: users-help@(protected)

©2008 gg3721.com - Jax Systems, LLC, U.S.A.