2016-06-28 3 views
0

Я пытаюсь использовать @XmlValueExtension в подклассе, но поведение не так, как ожидалось.JAXB Moxy @XmlValueExtension предоставляет имя узла

Корневой класс:

@XmlDiscriminatorNode("@codeType") 
@XmlSeeAlso({Subclass1.class}) 
public abstract class SuperClass { 

} 

Подкласс:

@XmlDiscriminatorValue("1") 
public class Subclass1 extends SuperClass { 

    @XmlValueExtension 
    private String myValue; 

} 

Но когда сортировочная, результат XML является:

<Superclass codeType="1"> 
    <myValue>my awesome value</myValue> 
</Superclass> 

Я ожидал что-то подобное:

<Superclass codeType="1">my awesome value</Superclass> 

Я пользуюсь Moxy 2.6.3

Благодарим за помощь!

ответ

0

ОК, на самом деле, нам нужно добавить @XmlValueExtension, а не заменять @XmlValue;)

@XmlDiscriminatorValue("1") 
public class Subclass1 extends SuperClass { 

    @XmlValue 
    @XmlValueExtension 
    private String myValue; 

} 
Смежные вопросы