0

注释类型的文档@XmlElements有这个例子:

public class Foo {
    @XmlElements(
        @XmlElement(name="A", type=Integer.class),
        @XmlElement(name="B", type=Float.class)
     }
     public List items;
}

当您只有几个需要在列表中的已知类型时,这非常有用。我正在寻找一种使其更具动态性的方法,以便在将新元素添加到系统类时Foo不需要修改。

首先想到的是使用一些自定义注释。让我们调用它@XmlElementType,它有一个 type 属性,可以应用于元素(IntegerFloat等)。当然,这不能对预定义类型执行,它只适用于新类型。

然后将注释的变体@XmlElements应用于Listclass 中的项目Foo。它将有一个属性来指示@XmlElementType它可以包含的类型,也许是一个用于扫描 POJO 的包。

所以我有两个问题:

  1. 这样的东西已经存在了吗?
  2. 如果没有,可以实施这样的事情吗?如果是,现在?
4

1 回答 1

0

我认为您可以使用 Object.class 的类型,然后使用XmlAnyElement。如果你能给出一个具体的例子,你想达到什么,那么我可以编辑答案并给出具体的例子。

于 2018-09-11T06:03:15.850 回答