我已經定義了一個註解:如何在編譯時驗證註釋?
public @interface AdminMapping {
public final static int USER = 100;
public final static int COMPANY = 10;
public final static int ADMIN = 0;
int adminLevel() default AdminMapping.USER;
String displayName();
String category() default "";
String hasPermission() default "";
String parentCategory() default "";
}
我想使它所以你不能有一個parentCategory除非你有一個類別....
@AdminMapping(category="Company", displayName="FOO", adminLevel=AdminMapping.USER)
public static final String MONKEY = "chimp";
@AdminMapping(parentCategory="Company", displayName="BAR", adminLevel=AdminMapping.USER) //NOT VALID Parent without Category
public static final String HORSE = "zebra";
,而我在這如果我可以做到這一點,我也喜歡它,因此類別不等於parentCategory。
我知道如何使用ConstraintValidator來驗證MONKEY和HORSE,但我想驗證實際的AdminMapping條目。這可以在編譯時完成嗎?
任何幫助表示讚賞。
我還沒有嘗試過,以確認你可以做你想做的一切,但我會建議看看寫自己的PMD規則來做檢查。 –
@matthelliwell回答下面的例子中的一部分可能會幫助我很多,並導致接受:) – kasdega