我开始学习Java注释,我想将其用作某种Generator标签。我只想生成随机文本,仅数字或文本和数字。
这是我的自定义注释:
public @interface RandomGenerator {
public int length() default 5;
public GeneratorTypeEnum type();
public GeneratorCaseTypeEnum caseType() default GeneratorCaseTypeEnum.TO_LOWER_AND_UPPER;
}
到目前为止,一切都很好。我正在使用enum来提供一些额外的定义(如果被客户端使用)。这是初始化: 我有一个使用注释的班级
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
与caseType GeneratorCaseTypeEnum.TO_LOWER_AND_UPPER
一起使用,这显然不好,因为没有大写或小写数字。
枚举:
GeneratorTypeEnum
public enum GeneratorTypeEnum {
TEXT_AND_NUMBERS,
NUMBERS_ONLY,
TEXT_ONLY
}
GeneratorCaseTypeEnum
public enum GeneratorCaseTypeEnum {
TO_LOWER,
TO_UPPER,
TO_LOWER_AND_UPPER
}
问题:
非常感谢。
PS:我感到很难受,因为我是个初学者,所以无法提供任何反复试验的解决方案。