[英]Force annotated field to contain annotated class in java
這與強制帶注釋的類包含帶注釋的Field相反。
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface ContainsNonEditableFields {}
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface NonEditable {}
如果任何類字段都用@NonEditable注釋; 那么如何強制使用@ContainsNonEditableFields對該類進行注釋?
這可以通過AspectJ完成。
但關鍵的想法是使用AspectJs 聲明警告或錯誤的功能,申報與每個字段錯誤@NonEditable
標注在不具有類@ContainsNonEditableFields
注解。
(不幸的是,我無法開箱即用地提供一個工作示例,但是我覺得如果您提出正確的問題,stackoverflow的人可以為您提供幫助)
declare error : @annotation(NonEditable) &&
! @annotation(ContainsNonEditableFields)
: "the class need ContainsNonEditableFields annotation";
這段代碼只是某種塗抹,它不是AspectJ語法!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.