我有一个带有复杂方法的类,它返回boolean(没有提供此字段的属性字段或setter)。我需要将此类与JiBX绑定,因此该方法的结果将被编组为XML元素/属性,并且在解组时将被省略。所以我希望得到这样的东西:
<mapping name="freak" class="com.test.Freak">
<namespace uri="http://www.test.com/schemas/test" default="elements" />
<value name="id" field="id" style="attribute"/>
<value name="real-freak" get-method="isRealFreak" style="attribute" usage="optional" />
</mapping>
P.S。我无法修复此类以添加存根setter,需要按原样使用它。
答案 0 :(得分:5)
因为布尔值(基元)总是有值,所以这是不可能的,除非你切换到布尔值(允许为空)。
您唯一的解决方案是拥有仅输出绑定:
<binding ... direction="output">
这将确保绑定是一种方式,我猜你没关系,因为你没有任何机制来设置该值。如果您需要两个方向并且无法修改类,则需要扩展类并使用布尔值并使用单独的仅输入绑定。