JiBX仅使用getter绑定值

and*_*rey 2 jibx

我有一个带有复杂方法的类,它返回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>
Run Code Online (Sandbox Code Playgroud)

PS我无法修复此类添加存根setter,需要按原样使用它.

awe*_*old 5

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

您唯一的解决方案可能是只有输出绑定:

<binding ... direction="output">
Run Code Online (Sandbox Code Playgroud)

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