首页 > 其他分享 >多层注解非必填处理

多层注解非必填处理

时间:2023-11-13 12:34:03浏览次数:36  
标签:必填 default enabled 多层 interface 注解 Condition

一、场景

当使用复合注解时,需要将多个注解包含到一个注解中时,注解字段是必填的,这时候需要处理

二、解决方法

复合注解

@Documented
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface DataFilter {

    /**
     * 条件1
     */
    Condition org() default @Condition(enabled = false);

    /**
     * 条件2
     */
    Condition dept() default @Condition(enabled = false);

}

原子注解

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Condition {
    /**
     * 是否开启
     *
     * @return 默认开启
     */
    boolean enabled() default true;

}

标签:必填,default,enabled,多层,interface,注解,Condition
From: https://blog.51cto.com/u_15814313/8341447

相关文章