有没有办法从jaxb unmarshalling定制你的getter?

时间:2014-12-08 16:55:53

标签: java xml jaxb unmarshalling

我有一个架构,我想从其解组中自定义生成的getter。

什么样的自定义绑定可以让我这样做? 一个例子是一个getter,我在返回它之前用一些默认值初始化对象,在对象为NULL的情况下。

例如

public smapleType getSampleObject() { (if sampleObject == NULL) sampleObject.setField(0); return sampleObject; }

有没有办法让JAXB生成这样的自定义getter?

2 个答案:

答案 0 :(得分:1)

您可以通过创建域类和ObjectFactory的子类来完成此操作 - 更多详细信息,请https://jaxb.java.net/guide/Adding_behaviors.html

答案 1 :(得分:0)

由于您将此NULL内容命名为,我认为您对更通用的方法感兴趣。

由于您的示例中的情况非常具体,因此没有通用的自定义。关闭可能是-Xinject-code插件。

如果您想深度自定义生成的代码,那么writing an XJC plugin的核心方式可能是唯一通用的方法。但这并不容易。