加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – JAXB 2.1为生成的Class实现Comparable

发布时间:2020-12-15 04:35:32 所属栏目:Java 来源:网络整理
导读:使用Jaxb 2.1从.xsd生成 java代码 使用jaxb2-basics插件 想要生成Class Fragment来实现Comparable Fragment public class Fragment implements Serializable,ComparableFragment { ... public int compareTo(Fragment other) { ..... return 0; }} 使用下面
>使用Jaxb 2.1从.xsd生成 java代码
>使用jaxb2-basics插件
>想要生成Class Fragment来实现Comparable< Fragment>

public class Fragment implements Serializable,Comparable<Fragment> {
  ...
  public int compareTo(Fragment other) {
    .....
    return 0;
  }
}

使用下面的jaxb绑定文件

<?xml version="1.0" encoding="UTF-8"?>
<jxb:bindings xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
    xmlns:xs="http://www.w3.org/2001/XMLSchema" 
    xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
    xmlns:ci="http://jaxb.dev.java.net/plugin/code-injector"
    xmlns:inheritance="http://jaxb2-commons.dev.java.net/basic/inheritance"
    jxb:extensionBindingPrefixes="xjc" 
    jxb:version="2.1">
    <jxb:bindings>
        <jxb:globalBindings>
            <xjc:serializable uid="12343" />
        </jxb:globalBindings>
    </jxb:bindings>
    <jxb:bindings schemaLocation="../schemas/Fragment.xsd"
        version="1.0" node="/xs:schema">
        <jxb:bindings node="//xs:element[@name='Fragment']/xs:complexType">         
            <inheritance:implements>java.lang.Comparable</inheritance:implements>
            <ci:code>           
public int compareTo(Fragment other) {

    return fragmentVersion.compareTo(other.fragmentVersion);
}
            </ci:code>
        </jxb:bindings>
    </jxb:bindings>
</jxb:bindings>

能够生成如下所示的类:

public class Fragment implements Serializable,Comparable {
  ...
  public int compareTo(Fragment other) {
    return fragmentVersion.compareTo(other.fragmentVersion);
  }
}

问题:如您所见,类生成为实现Comparable而不是实现Comparable< Fragment>.

当然,缺少一些东西.任何有待解决的帮助表示赞赏.

解决方法

JAXB2-Basics支持泛型.

只需使用:

<inheritance:implements>java.lang.Comparable&lt;Fragment&gt;</inheritance:imple??ments>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读