2010-03-04 88 views
1

我有一個XSD文件,用於生成一些對象,然後與其他系統共享。我想通過一些更具體的實現來定製一些業務邏輯。我沒有添加需要序列化的新字段,而是更多地添加了setMethods,它們可能會採用不同的格式參數。這些方法完成將數據轉換爲底層對象所需的表單的工作。繼承與JAXB

我可能有JAXB對象,它是一個字符串在現場,但我的系統給了我一個整數。所以,我想處理在擴展我的基類的類中轉換它的工作。

那麼,有沒有什麼特別的東西,你需要爲了得到JAXB尋找XmlRootElement將在您要求其序列化對象的子類呢?或者我必須在更具體的類中包含@XmlRootElement屬性?

的感謝!

回答

1

是,@XmlRootElement/@XmlType應該夠了。但是,爲什麼不把這些方法添加到生成的類中呢? (如果你沒有再生他們在每個版本,這是錯誤的IMO)

不過我倒是建議外化轉換到其他(轉換器)類/方法。

+0

這是因爲對象是數據的「理想化」表示。數據來自各種系統,需要按照理想化的格式。所以,我認爲最好的解決方案是調用特定對象上的方法來實現該實現,該方法負責完成所有適合的工作。如果你知道更好的方法,請告訴我! – 2010-03-04 21:12:18

+0

另外,我不同意你不應該從XSD的每個版本生成它。當你做一個乾淨的,那些生成的文件應該消失。這樣你只有一個權威的來源,那就是XSD文件。 – 2010-03-04 21:13:08