1

我开始学习 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_ONLYWITHcaseType 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. 有没有办法限制注释中的参数?
  2. 如果问题 #1 错误,您能否给出您的理论或意见,如果这些对初学者不友好,您能否提供一些参考链接。

答案将不胜感激。

PS:我感觉很糟糕,因为我是初学者,所以我无法给出任何尝试和错误的解决方案。

4

0 回答 0