1
反映在JAXB註釋對象上,有沒有一種方法可以確定類/字段/方法是否會在編組期間導致屬於xsi:type的屬性?以編程方式確定JAXB註釋是否會導致xsi:type註釋?
是XmlElement的註釋,
annotation.type != javax.xml.bind.annotation.XmlElement.DEFAULT.class
我需要擔心的唯一案例?
我正在寫一個Lua unmarshaler,我們已經放棄了大部分通常的xml類型信息,我試圖弄清楚如何將傳入的Lua匹配到JAXB。
謝謝。
--Update--
下面是簡單的例子來說明這個問題:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement()
@XmlSeeAlso({ Cat.class, Dog.class })
public class Animal {
@XmlElement()
public List<Animal> critters;
@XmlAttribute
public String type;
}
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement()
public class Dog extends Animal {
public Dog() {
this.type = "German Shepherd";
}
}
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement()
public class Cat extends Animal {
public Cat() {
this.type = "Black";
}
}
當我收到Animal對象我可以查詢小動物的註解來檢測,它應該是狗或貓而不是動物?
感謝布萊斯案例#2是我很感興趣,我怎樣檢測繼承是有什麼在註釋或做我需要到別處 –
@。?邁克 - 沒有一種標準的方式跨JAXB實現工作。如果你提供更多關於你想要映射的信息,我可能能夠以這種方式提供幫助。我非常熟悉JAXB和繼承:http://blog.bdoughan.com/search/label/Inheritance) –
對於回覆延遲感到抱歉。我們正在使用Oracle的參考實現。我的工作是遞歸地通過超類構建註解映射,到目前爲止這工作。能夠問一個註釋雖然它期望什麼類型將是方便的。我會嘗試用簡單的例子來發布它併發布它。謝謝你的時間。 –