2016-06-28 18 views
0

Ich versuche, @XmlValueExtension in einer Unterklasse zu verwenden, aber das Verhalten ist nicht wie erwartet.JAXB Moxy @XmlValueExtension bietet einen Knotennamen

Root-Klasse ist:

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

} 

Subclass ist:

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

    @XmlValueExtension 
    private String myValue; 

} 

Aber wenn Rangier-, das XML-Ergebnis:

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

Ich erwartete etwas wie folgt aus:

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

Ich benutze Moxy 2.6.3

Vielen Dank für Ihre Hilfe!

Antwort

0

OK, eigentlich brauchen wir @XmlValueExtension ADD und nicht ersetzen @XmlValue;)

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

    @XmlValue 
    @XmlValueExtension 
    private String myValue; 

}