從昨天開始,我一直在尋找一種方法來做到這一點。我擁有的是來自第三方的數百個POJO,並且需要根據業務規則對這些POJO應用屬性。我正在避免改變POJO,因爲第三方可能會重新創建它們,因此造成管理文件的惡夢。JAVA是否可以動態地讓一個類擴展另一個類?
我試圖做的是動態地讓一個類擴展另一個類。例如, 。
POJO:Foo.java
package abc.service;
public class Foo {
private String greeting = "";
public Foo(){
gretting = "Good morning";
}
public String getGreeting(){
return greeting;
}
}
// end file
礦:Bar.java
package abc.service;
public class Bar {
private String claim = "";
public Bar(){
claim = "You're correct";
}
public String getClaim(){
return claim;
}
}
// end file
礦:TestMe.java
試圖在這裏一類與...隔開POJO有一個POJO擴展我的另一個類。
這是超越JAVA的能力嗎?
package abc;
public class TestMe {
Foo f = new Foo();
Class c1 = f.getClass();
Bar b = new Bar();
Class c2 = b.getClass();
Class merged = c2.asSubclass(c1);
// Trying to call the Foo method
System.out.println(merged.getGreeting());
// Trying to call the Bar method
System.out.println(merged.getClaim());
}
此外,發生的是從所提供的POJO創建JSON模式。但POJO僅基於UPDATE記錄方案。我正在尋找最佳方式讓POJO爲CREATE記錄場景擴展另一個類,這就是爲什麼我要動態地讓POJO在需要時擴展我的代碼的原因。
- 需要生成POJO的用於UPDATE
- 需要驗證自己的JSON JSON模式符合UPDATE
- POJO的要求,需要他們的JSON轉換成的POJO的UPDATE
而且,
- 需要爲CREATE生成POJO的json模式
- 需要覈實他們的JSON符合POJO的要求製造
- 需要把他們的JSON轉換成POJO的用於創建
使用傑克遜密新和ObjectMapper我能到我的代碼中動態適用於類當創建模式時,我遇到的問題是當試圖讓POJO擴展Mixin不會解決問題的類時。
否(我必須鍵入至少13個字符,所以)... –
號使用接口或抽象類試過嗎? –
@EngineerDollery我當然希望它是可能的,否則嘲笑框架將無法正常工作;-) –