@XmlJavaTypeAdapter和包装器
我不想在代码中直接使用@XmlJavaTypeAdapter和包装器,java,annotations,jaxb,wrapper,Java,Annotations,Jaxb,Wrapper,我不想在代码中直接使用XmlJavaTypeAdapter注释和XmlAdapter的类。 所以,我写了一些包装: class BinderWrapper<MODEL, BEAN> extends XmlAdapter<BEAN, MODEL>{ private final Binder<MODEL, BEAN> target; private BinderWrapper(Binder<MODEL, BEAN> target){
XmlJavaTypeAdapter
注释和XmlAdapter的类。
所以,我写了一些包装:
class BinderWrapper<MODEL, BEAN> extends XmlAdapter<BEAN, MODEL>{
private final Binder<MODEL, BEAN> target;
private BinderWrapper(Binder<MODEL, BEAN> target){
this.target = target;
}
static <MODEL, BEAN> BinderWrapper<MODEL, BEAN> createInstance(Binder<MODEL, BEAN> binder){
return new BinderWrapper<MODEL, BEAN>(binder);
}
@Override
public MODEL unmarshal(BEAN v) throws Exception {
return target.unBean(v);
}
@Override
public BEAN marshal(MODEL v) throws Exception {
return target.toBean(v);
}
}
但有一个问题@XmlJavaTypeAdapter
需要不带任何包装的XmlAdapter类。我怎样才能解决这个问题使用其他注释/编写一些配置/编写一些魔术注释/
谢谢
upd
我有一些不是JavaBeans的模型类。所以我想做一些两步映射:在bean中映射,然后映射到xml中。我也想做注释的第一步。可能我不仅需要JAXB,还需要这个bean。真正的问题是:我能用一些非JAXB注释完成第一步吗
我有一些模型类不是
JavaBeans。所以我想做两步
映射:在bean中,然后映射到xml中。
我想做注释的第一步
也也许我需要这个豆子
不仅仅是JAXB。真正的问题
是:我可以用一些非酒精饮料做第一步吗
JAXB注释
XmlAdapter提供了您正在寻找的两步映射。如果您看下面链接的示例,那么映射的对象不是JavaBean。XmlAdapter所做的是将其转换为可以映射的JavaBean
您可能会发现在类型级别而不是属性级别使用@XmlJavaTypeAdapter注释更容易。在类型级别使用时,您是说引用该类的每个人都应该使用适配器,而不是每个属性。有关类型级别的示例,请参见我在上的帖子
有关更多信息,请参阅:
public interface Binder<MODEL, BEAN> {
MODEL unBean(BEAN bean);
BEAN toBean(MODEL model);
}