Я начинаю изучать java-аннотацию и хочу использовать ее как своего рода ярлык генератора.Я хочу генерировать только случайные тексты, только цифры или текст и цифры.
Вот моя пользовательская аннотация:
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
WITH 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
}
Вопросы:
- Можно ли как-то ограничить параметры в аннотации?
- Если в вопросе № 1 указано false, можете ли вы датьТеория или мнение, и если они не подходят для начинающих, не могли бы вы предоставить ссылки для справок.
Ответы будут очень благодарны.
PS: Мне плохо, потому что я могуне дайте ни одного из моих решений проб и ошибок, поскольку я новичок.