注释类型的文档@XmlElements有这个例子:
public class Foo {
@XmlElements(
@XmlElement(name="A", type=Integer.class),
@XmlElement(name="B", type=Float.class)
}
public List items;
}
当您只有几个需要在列表中的已知类型时,这非常有用。我正在寻找一种使其更具动态性的方法,以便在将新元素添加到系统类时Foo不需要修改。
首先想到的是使用一些自定义注释。让我们调用它@XmlElementType,它有一个 type 属性,可以应用于元素(Integer、Float等)。当然,这不能对预定义类型执行,它只适用于新类型。
然后将注释的变体@XmlElements应用于Listclass 中的项目Foo。它将有一个属性来指示@XmlElementType它可以包含的类型,也许是一个用于扫描 POJO 的包。
所以我有两个问题:
- 这样的东西已经存在了吗?
- 如果没有,可以实施这样的事情吗?如果是,现在?