Why no common init() method on pages?
“two-phase init” is a pattern that deals with this and other use cases. The big downside to that pattern is that you have to transfer all your constructor arguments into fields so they can be accessed by the second phase’ init method, and for a framework concerned with size of the objects this does not mesh very well. It also adds a lot more code you have to write. so as far as making this change in Wicket we won’t do that. Moreover, it is simple enough to add a private init() into your basepage and forward both constructors to it.
A “two-phase init” is a pattern that deals with this and other use cases. The big downside to that pattern is that you have to transfer all your constructor arguments into fields so they can be accessed by the second phase’ init method, and for a framework concerned with size of the objects this does not mesh very well. It also adds a lot more code you have to write. so as far as making this change in Wicket we won’t do that. Moreover, it is simple enough to add a private init() into your basepage and forward both constructors to it.