2010-08-25 56 views
1

是否有可能使用某些動態標誌通過JAX-B可選地序列化類的屬性?你可以選擇通過JAXB序列化一個類屬性嗎?

例如假設我有

@XmlRootElement 
public class TodoItem { 
private int id; 
private String title; 
private String note; 

// getters, setters 

} 

和下面的Web服務operatios:

public TodoItem getTodoItemFull(int id) { .... } 
public TodoItem getTodoItemMinimal(int id) { .... } 

是否有特別註明,我可以使用,這樣我可以在運行時決定是否財產「筆記」將被序列化?換句話說,getTodoItemFull()方法將返回完全序列化的類,而getTodoItemMinimal()方法將返回沒有「note」xml元素的序列化類?

謝謝!

回答

1

您可以通過將多個映射應用到對象模型來實現此目的。標準JAXB僅允許您通過註釋應用一個映射。其他JAXB實現,例如莫西(我領導這個實現),也允許你代表的元數據作爲XML:

你可以有一個JAXBContext而建立在一組元數據,這完全映射「getTodoItemFull」將使用的對象模型,以及構建在另一組元數據上的另一個JAXBContext,這些元數據部分映射getTodoItemMininmal將使用的對象模型。

相關問題