2016-12-20 8 views
2

以下の説明は避けてください。この質問は何ですか:BigIntegerではなくJava Integerへのxs:integerへのJAXBバインディング

  • xs:integerの代わりにxs:intを使用します。
  • Integerではなくプリミティブintを使用します。
  • なぜこれが必要ですか?
  • 何を行うつもりであるかなど

QUESTION:ように、JavaのBigIntegerの整数:私はデフォルトのXSのマッピングを上書きするJAXBバインディング宣言の例をしたいと思い

xjcは代わりにJava Integerを生成します。

<xs:attribute name="id" type="xs:integer"/> 

あなたのバインディングファイルに以下を追加することができ

@XmlAttribute(name = "id") 
Integer id; 

なく

@XmlAttribute(name = "id") 
BigInteger id; 
+0

対応する文書要素に2½以上の値が含まれていると、JAXBは何を期待していますか? – VGR

+0

あまりにも心配です。 –

+0

答えはありませんか?私はそれをGoogleを使って見つけました。 –

答えて

0

を生成する必要があります

<globalBindings> 
    <javaType xmlType="xs:integer" name="java.lang.Integer"/> 
</globalBindings> 

これは、例えば、生成されます。

@XmlAttribute(name = "id") 
@XmlJavaTypeAdapter(Adapter1 .class) 
protected Integer id; 

public int getId() { 
    if (id == null) { 
     return new Adapter1().unmarshal("0"); 
    } else { 
     return id; 
    } 
} 

public void setId(Integer value) { 
    this.id = value; 
} 
関連する問題