共通レイアウトをインターセプターで実装する

Clickで共通的なレイアウトを実現するにはここにあるようにページクラスの基底クラスのgetTemplate()メソッドをオーバーライドし、共通テンプレートのパスを返すようにします。ただ、共通テンプレートのために基底クラスを継承しなければならないというのも場合によっては不便なケースがあります。
というわけでS2Clickの次のバージョンではアノテーションとインターセプターで同様の処理を実現するための機能を提供しようと思っています。
ページクラスには以下のように@Layoutアノテーションをつけておくと、インターセプターによってgetTemplate()メソッドの戻り値が共通テンプレートのパスになります。

@Layout
public class SamplePage extends S2ClickPage {
  ...
}

共通テンプレートのパスはdiconファイルで設定しておくことができます(どんな感じで設定するかは検討中です)。また、@Layoutアノテーションの属性でテンプレートのパスを指定することもできます。

@Layout("/template.htm")
public class SamplePage extends S2ClickPage {
  ...
}

この機能によって、共通的なレイアウトを適用する場合でも必ずしも基底クラスを作成する必要はなくなります。