簡體   English   中英

強制帶注釋的字段在Java中包含帶注釋的類

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM