[java] アノテーション

アノテーション


  • 宣言クラス
public @interface Annotation {
    public int codeA();
    public String strA();

    public static enum CodeAType {
        TYPE_A(1, "codeATypeA"),
        TYPE_B(2, "codeATypeB");

        private final int _code;
        private final String _status;

        private strAType (int code, String status) {
            _code = code;
            _status = status;
        }
 
        public int toCode() {
            return _code;
        }

        public String toValue() {
            return _status;
        }
    }
    public static enum StrAType {
        TYPE_A(1, "strATypeA"),
        TYPE_B(2, "strATypeB");
 
        private final int _code;
        private final String _status;

        private strAType (int code, String status) {
            _code = code;
            _status = status;
        }
 
        public int toCode() {
            return _code;
        }

        public String toValue() {
            return _status;
        }
    }
}

  • 使用クラス
import …

@Annotation(codeA = CodeAType.TYPE_A, strA = StrAType.TYPE_A)
public class … {
    …
    Annotation an = getClass().getAnnotation(Annotation.class);
    int code = an.codeA();
    String value = an.strA();
}

  • デフォルト値に関して
  1. デフォルト値を設定すると、毎回値をセットする必要がなくなる。
方法:宣言の最後に「default default値」を追加する。
例) int code = an.codeA() default 0;
最終更新:2011年05月19日 15:28
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。