アノテーション
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();
}
- デフォルト値を設定すると、毎回値をセットする必要がなくなる。
方法:宣言の最後に「default default値」を追加する。
例) int code = an.codeA() default 0;
最終更新:2011年05月19日 15:28