如何为 private List<@Min(3) @Max(7) String> myList 编写 bytebuddy 代码
How to write bytebuddy code for private List<@Min(3) @Max(7) String> myList
我需要生成这个字段:
private List<@Min(3) @Max(7) String> myList
没有注释我可以用:
.defineField("myList", TypeDescription.Generic.Builder.parameterizedType(List.class, String.class).build(), Visibility.PRIVATE)
如何注释类型参数?
您可以从构建器嵌套类型,也可以构建注释
TypeDescription.Generic.Builder.parameterizedType(
TypeDescription.ForLoadedType.of(List.class),
TypeDescription.Generic.Builder.rawType(String.class).annotate(
AnnotationDescription.Builder.ofType(Min.class).define("value", 3).build(),
AnnotationDescription.Builder.ofType(Max.class).define("value", 7).build()
).build()
).build();
我需要生成这个字段:
private List<@Min(3) @Max(7) String> myList
没有注释我可以用:
.defineField("myList", TypeDescription.Generic.Builder.parameterizedType(List.class, String.class).build(), Visibility.PRIVATE)
如何注释类型参数?
您可以从构建器嵌套类型,也可以构建注释
TypeDescription.Generic.Builder.parameterizedType(
TypeDescription.ForLoadedType.of(List.class),
TypeDescription.Generic.Builder.rawType(String.class).annotate(
AnnotationDescription.Builder.ofType(Min.class).define("value", 3).build(),
AnnotationDescription.Builder.ofType(Max.class).define("value", 7).build()
).build()
).build();