jaxb上下文中的package-info.class内容

时间:2012-04-18 08:51:30

标签: java jaxb

Heyho,

我目前遇到了JAXB序列化过程的问题。 jaxb版本2,用于序列化属性。

是否可以在“package-info.class”中添加多个包级别注释?目前我手动创建这个文件,其中已经有一个“适配器条目”,它必须留在那里。虽然我的搜索就像一个白痴,但每个例子只有一个条目,但我想这是不可能的,因为语义应该更灵活,允许多个包级注释而不仅仅是一个。 / p>

问题是,我在类中的每个地图成员上使用@XmlJavaTypeAdapter(AdapterForMap.class),但地图实际上包含另一种类型(作为值),比如说Font,它需要有一个适当的xml适配器。目前我无法使用类似Font-Adapter,因为'package-info.class'已经有一个条目。

提前谢谢! :)

1 个答案:

答案 0 :(得分:3)

可以在包级别使用@XmlJavaTypeAdapters来注册@XmlJavaTypeAdapter的许多实例。

<强>包信息

@XmlJavaTypeAdapters({
    @XmlJavaTypeAdapter(type=DateTime.class, value=DateTimeAdapter.class),
    @XmlJavaTypeAdapter(type=DateMidnight.class, value=DateMidnightAdapter.class),
    @XmlJavaTypeAdapter(type=LocalDate.class, value=LocalDateAdapter.class),
    @XmlJavaTypeAdapter(type=LocalTime.class, value=LocalTimeAdapter.class),
    @XmlJavaTypeAdapter(type=LocalDateTime.class, value=LocalDateTimeAdapter.class)
})
package blog.jodatime;

import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapters;    
import org.joda.time.*;

完整示例