我开始学习 java 注释,我想用它作为某种生成器标签。我只想生成随机文本、仅数字或文本和数字。
这是我的自定义注释:
public @interface RandomGenerator {
public int length() default 5;
public GeneratorTypeEnum type();
public GeneratorCaseTypeEnum caseType() default GeneratorCaseTypeEnum.TO_LOWER_AND_UPPER;
}
到目前为止,一切都很好。如果客户端使用,我正在使用枚举来提供一些额外的定义。这是初始化:我有一个使用注释的类
public class Employee {
@RandomGenerator(type = GeneratorTypeEnum.NUMBERS_ONLY, caseType = GeneratorCaseTypeEnum.TO_LOWER_AND_UPPER)
private String id;
private String name;
// getters and setters
}
但是正如你所看到的,我可以使用GeneratorTypeEnum.NUMBERS_ONLY
WITHcaseType GeneratorCaseTypeEnum.TO_LOWER_AND_UPPER
显然不好,因为没有大小写数字。
枚举:
生成器类型枚举
public enum GeneratorTypeEnum {
TEXT_AND_NUMBERS,
NUMBERS_ONLY,
TEXT_ONLY
}
GeneratorCaseTypeEnum
public enum GeneratorCaseTypeEnum {
TO_LOWER,
TO_UPPER,
TO_LOWER_AND_UPPER
}
问题:
- 有没有办法限制注释中的参数?
- 如果问题 #1 错误,您能否给出您的理论或意见,如果这些对初学者不友好,您能否提供一些参考链接。
答案将不胜感激。
PS:我感觉很糟糕,因为我是初学者,所以我无法给出任何尝试和错误的解决方案。