2016-12-20 10 views
2

Следует избегать следующих обсуждений. Какой этот вопрос НЕ:привязка JAXB для xs: integer к Java Integer вместо BigInteger

  • используя xs: int вместо xs: integer.
  • с использованием примитива int вместо Integer.
  • Зачем вам это нужно.
  • что ты собираешься делать, если и т.д.

ВОПРОС:

Я хотел бы пример декларации JAXB привязки переопределить отображение по умолчанию хз: целое число в Java BigInteger, так что xjc вместо этого произведет Java Integer.

, например.

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

должен производить

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

и не

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

Что вы ожидаете от JAXB, если соответствующий элемент документа содержит значение ≥ 2³¹? – 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; 
}