2

我有一个带有复杂方法的类,它返回布尔值(没有提供该字段的属性字段或设置器)。我需要将此类与 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>

PS我无法修复这个类来添加存根设置器,需要按原样使用它。

4

1 回答 1

5

因为布尔值(原语)总是有一个值,所以这是不可能的,除非你切换到布尔值(它允许一个空值)。

您唯一的解决方案可以是仅输出绑定:

<binding ... direction="output">

这将确保绑定是一种方式,我猜你很好,因为无论如何你都没有设置该值的机制。如果您需要两个方向并且无法修改您的类,则需要扩展您的类并使用布尔值并使用单独的仅输入绑定。

于 2011-02-08T04:12:29.430 回答