我有一个带有复杂方法的类,它返回布尔值(没有为该字段提供属性字段或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>附注:我不能修复这个类来添加stub setter,需要按原样使用它。
发布于 2011-02-08 12:12:29
因为布尔型(原语)总是有一个值,所以这是不可能的,除非您切换到布尔型(允许null)。
您唯一的解决方案可以是具有仅输出的绑定:
<binding ... direction="output">这将确保绑定是单向的,我猜这是可以接受的,因为您没有任何机制来设置该值。如果您需要两个方向,并且不能修改您的类,则需要扩展您的类,并使用布尔值和单独的仅限输入的绑定。
https://stackoverflow.com/questions/1582118
复制相似问题