使用最新的 JAXB (Metro) 并使用 XJC 生成 Java....
想要(正如其他用户所问的)生成 java.util.Set 作为表示无界序列的字段的类型。看起来这种类型的字段被 XJC 捕获为 UntypedListField 并且默认行为是生成 java.util.List (仅 getter)。如果我执行类似于 collection-setter-injector 插件的操作并调整字段的类型,例如
public boolean run(Outline model, Options opt, ErrorHandler errorHandler) {
for (ClassOutline co : model.getClasses()) {
FieldOutline[] fo = co.getDeclaredFields();
for ...
if ((fo[i] instanceof UntypedListField)) {
--> DO SOMETHING WITH THIS FIELD
}
}
}
人们如何调整类型,或者构建一个新字段然后在类大纲中声明的字段集中替换它是否更容易?弄乱字段的类型如何影响属性上 get 方法的生成?