讓我們如下定義了一個註解:我們是否可以枚舉或預定義註釋,這些註釋可以被代碼重用?
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface CheckSomething {
String validIdentity() default "";
String validUserGroup() default "google";
}
我有一些註釋集這是可能在我的應用,我想使用它們。
例如:
2註釋如下:
HumanCheckSomething, RobotCheckSomething - calling these for identification
@CheckSomething(validIdentity = "IAMSTRING", validUserGroup = "HUMANS")
@CheckSomething(validIdentify = "123", validUserGroup = "ROBOTS")
現在,我想創建一個使用上面標註的枚舉 - HumanCheckSomething,RobotCheckSomething和重用在我的代碼,標註一些方法。
@MyEnum.HumanCheckSomething
void allowOnlyHumans(){}
@MyEnum.RobotCheckSomething
void allowAll(){}
代替
@CheckSomething(validIdentity = "IAMSTRING", validUserGroup = "HUMANS")
void allowOnlyHumans(){}
@CheckSomething(validIdentify = "123", validUserGroup = "ROBOTS")
void allowAll(){}