2012-01-10 79 views
5

我想寫一個代碼生成器做任何兩個類之間的映射使用Eclipse。這個想法是提供一個嚮導,用戶可以選擇其屬性需要映射的兩個類。然後顯示所有可能的匹配項,如果用戶沒問題,那麼創建一個ClassMapper類,我們將只有一個方法圖來執行Class1.setXXX(Class2.getXXX());Eclipse代碼生成器生成映射器類

任何關於我們如何做到這一點的指針?

感謝

+0

您確定像Dozer(http://dozer.sourceforge.net/)這樣的bean映射器框架不適合您嗎? – Daff 2012-01-10 05:34:11

+0

有趣..我打算寫一個swing程序來做這件事..因爲我沒有找到任何eclipse插件。男人..你必須設置這個的次數得到那..那麼多打字..但停下來,因爲這是不值得的麻煩..讓我知道,如果你找到一個.. – sethu 2012-01-10 06:16:39

+0

打瞌睡似乎做我們的事情兩者都需要..但是它是從一個類到另一個類的靜態映射。如果你需要在多個類之間映射變量,那麼你需要編寫/生成代碼 – sethu 2012-01-10 06:20:02

回答

2

這就是你要做的提供類似的功能推土機,但靜態代碼有這個優勢,它是速度更快,它僅包含代碼的邏輯,它是更容易找到現場使用通過IDE中的調用層次結構。

通常Eclipse插件將是最好的啓動方式,因爲您只能投影GUI並且顯示是由Eclipse自己完成的,而且您還可以訪問其強大的工具以使用Java代碼。

然而,我認爲最糟糕的部分是配置之一。推土機有它的原始映射器(在原始和本地java類型之間轉換的原始方式;)它處理標準類型之間的大多數典型轉換,但是有必要對其進行配置。例如,表示布爾值的字符串可以是't'和'f',或'true'和'false'或'1'和'0',或來自其他語言的單詞。日期可以有各種格式等。所以你需要在這個插件中配置各種映射器,可以通過定義自己的代碼片段來處理特定的轉換。

但是,如果你這樣做,你將不勝感激。 我最近在尋找的東西,這將做更多,我的意思是它可以創建映射和Dto的代碼將匹配,可能性合併類層次設計,當對象的子類型由各種類表示,以平單班,更好的JSON運輸,但是,沒有結果。