独自の注釈を作成しました。これをリフレクションを介して使用して、コードで決定を下します。注釈には、その唯一の要素に設定されたデフォルト値があります。リフレクションを介してデフォルト値にアクセスする方法はありますか?
PageableRequestMapping.java (注釈)
package org.tothought.controllers.annotations;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@Retention(RetentionPolicy.RUNTIME)
public @interface PageableRequestMapping {
String variablePath() default "/";
}
デフォルト値を取得する疑似コード
private int parsePageNumber(StringBuffer requestURL,
PageableRequestMapping pageableRequestMapping) {
String variablePath = pageableRequestMapping.variablePath();
//Psuedo code doesn't work in Java, included to illustrate intentions
if(variablePath.equalsIgnoreCase(pageableRequestMapping.variablePath().default())){
//handle default case
}else{
//handle different case
}
return 0;
}
この問題に関する私の調査では、例が見つかりませんでした。この値は、クラスを介して静的な方法でアクセスできると理論付けましたが、アクセスできません。だから私は2つの質問が残っています。
- 注釈内の要素のデフォルト値を取得することは可能ですか?
- もしそうなら、どのように?
また、この値をハードコーディングできることはわかっていますが、プログラムをもう少し堅牢にしたいと考えています。