潘志宝
5 天以前 fab7c0b0968155a0206fe282abd79b5c25ef7db9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package com.iailab.framework.datapermission.core.annotation;
 
import com.iailab.framework.datapermission.core.rule.DataPermissionRule;
 
import java.lang.annotation.*;
 
/**
 * 数据权限注解
 * 可声明在类或者方法上,标识使用的数据权限规则
 *
 * @author iailab
 */
@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface DataPermission {
 
    /**
     * 当前类或方法是否开启数据权限
     * 即使不添加 @DataPermission 注解,默认是开启状态
     * 可通过设置 enable 为 false 禁用
     */
    boolean enable() default true;
 
    /**
     * 生效的数据权限规则数组,优先级高于 {@link #excludeRules()}
     */
    Class<? extends DataPermissionRule>[] includeRules() default {};
 
    /**
     * 排除的数据权限规则数组,优先级最低
     */
    Class<? extends DataPermissionRule>[] excludeRules() default {};
 
}