アノテーションの勉強でちょっと一息
7/6に作ったソースを見てたけど、スタティック変数アノテーションをJ2SE5.0風みたいにインターフェース(タイプ?)で定義するのは、ちょっと無理があるんじゃないかなーって思った。
単純なアノテーションインターフェースだったら
public interface Simple { public String SUFFIX = "SIMPLE"; public String name(); public Class clazz(); }
アノテーションをつけるクラスも
public class Problem { public static final String name_SIMPLE = "simple problem"; public static final Class clazz_SIMPLE = String.class; }
って感じか
public class Problem { public static final String SIMPLE = "name=simple problem, clazz=String.class"; }
って感じで単純だけど、
もし入れ子(?)のアノテーションインターフェース(タイプ?)だったら
public interface Parent { public String SUFFIX = "PARENT"; public String name(); public Class clazz(); public Child[] children(); }
public interface Child { public String SUFFIX = "CHILD"; public String name(); public Class clazz(); public Baby[] babies(); }
public interface Baby { public String SUFFIX = "BABY"; public String name(); public Class clazz(); }
こんな場合にアノテーションをつけるクラスはどんな感じになるだろうー。
思いつくのは変なのばかり・・・
もっといい案がでるまで考えよう