当前位置: 首页 > 知识库问答 >
问题:

如何用java生成JaxB类。util。可选择的

司徒兴思
2023-03-14

我使用jaxb2 maven插件从给定的XSD生成JaxB类。它很好用。但现在我想使用java。util。在生成的类中是可选的。但是JaxB生成的类没有可选项。所以我不得不对每个变量进行空检查。

有人知道必须如何配置jaxb2 maven插件才能使用java吗。util。可选择的

谢谢你的帮助!

共有1个答案

康赞
2023-03-14

也许你能找到更通用的方法,但我不确定这是否可行。无论如何,你仍然可以为你想要的可选类型定义自定义适配器。

下面是Integer的一个例子

首先,创建适配器

public final class IntegerOptionalAdapter extends OptionalAdapter<Integer>
{
} 

然后在绑定中使用这个适配器

@XmlAttribute
@XmlJavaTypeAdapter(IntegerOptionalAdapter.class)
private Optional<Integer> someInteger;
 类似资料:
  • 问题内容: 我正在使用Java 6,JaxB 2和SpringSource Tool Suite(与Eclipse相同)。我编写了一些Java类,使用JaxB从中生成XML模式。但是,我注意到为了使用JaxB从Java对象生成XML文档的功能,我需要一个ObjectFactory。 如何生成ObjectFactory而不会浪费我现在已有的类? 问题答案: 更新 这个问题可能指的是创建一个角色的作用

  • 我正在寻找一个Hamcrest Matcher到返回java的单元测试方法。util。可选类型。比如: 是否有任何可用的实现抛出Maven存储库?

  • JAXB为每个属性生成@XmlAttribute注释。例如,属性 转换为带注释的java对象属性 但是,如果属性在名称中没有下划线,则@Xml属性中的名称字段丢失(因此##默认)。我想自定义JAXB绑定,以便也生成没有下划线的名称的注释。有什么建议吗? 谢谢!Johannes

  • myType也被定义为complexType。然后得到生成的类MyResponse.java和Reference.java。我可以通过以下方式分配“引用”的值: 而且奏效了。 现在我只是删除了maxOccurs=“unbounded”,它不再起作用了。响应不再是List类型,而是JaxBelement类型。我试着用: 谁能告诉我,当它不是一个列表时,什么是正确的做法?

  • 我使用XML模式,并用xjc生成java文件,以便与JAXB一起使用。生成的java文件具有默认的@XmlAccessorType(XmlAccessType。字段)指定。我想改变这一点,使生成的java文件具有带注释的属性访问(@XmlAccessorType(XmlAccessType。属性),并且不在字段级别生成@XmlElement / @XmlAttribute批注。有没有办法通过自定义

  • 问题内容: 我想使用JAXB从dtd文件生成Java类。 dtd看起来像这样: 当使用JAXB生成类时,我得到以下内容: 对象工厂 内容 人 人数 组 团体 在内容类中,使所有人员和组退缩的方法是 有什么我可以在DTD文件改变,因此Java类的产生将使并且在分离的Java类,所以中检索所有的个人和团体将是使调用和respectivly? 问题答案: 在他的回应中,mavrav似乎告诉我们使用DTD