3
我們基於兩個XSD文件生成Java類。這些類落在與XSD文件(a和b)相關的包中。我們想要使用生成的類的方法是相同的。但是他們沒有實現一個接口或一個超類。我們無法控制XSD,它提供了。如何避免使用不同包中生成的類生成重複代碼
例子:
package code.generated.a;
class X {
void do() {...}
}
package code.generated.b;
class X {
void do() {...}
}
我們現在想在我們自己編寫的代碼使用這些類,但不希望複製它。
所以截至目前,我們通過複製代碼來使用接口:
package code.ours.a
class Consumer {
void use(code.generated.a.X x) {...}
}
package code.ours.b
class Consumer {
void use(code.generated.b.X x) {...}
}
什麼是解決重複代碼的推薦方法?想到Go的隱式接口,但我們正在處理Java。用泛型有沒有辦法解決這個問題?
試圖指定的包名的代碼生成器,是兩個XSD同... –