-YetAnother-InterTypeその後
http://d.hatena.ne.jp/koichik/20060106#1136577656
獄長直々のコメント。それは思いつかなかったな〜。たしかにstaticフィールドでも用が足せる局面はあるでしょう。でも、ユーザーコードからまったく触れなくなっちゃうんですよね。インスタンスフィールドだとそのクラス内はもちろん、privateじゃなければ外からも見えます。記述フィールドは確実にあるので大丈夫。でもstaticだとそのフィールドは実際には用いられないので、アクセッサメソッドもフィールドもユーザーコードに無く、フレームワークからのマネジメントに限られた操作になります。蛇足ですが以下にIkushipeサンプル。
@PageModel public interface IndexModel { @Property String getUserId(); }
このモデルのgetUserId()メソッドは以下のようにコントローラのユーザーコード内で使えます。
@WebPage(pageModel=IndexModel.class) public class IndexPage { @Listener(moveTo=NextPage.class) public boolean next(IndexModel model) { String userId = model.getUserId(); ... return true; } }