Ich bin seit gestern hier auf der Suche nach einer Möglichkeit, dies zu tun. Was ich habe, sind Hunderte von POJOs von einer dritten Partei und müssen Eigenschaften basierend auf Geschäftsregeln auf diese anwenden. Ich vermeide die Veränderung der POJOs, weil die dritte Partei sie potenziell neu erstellen könnte und somit einen Albtraum für die Verwaltung von Dateien auf der Straße schafft.JAVA Ist es möglich, dynamisch eine Klasse zu erweitern?
Was ich versuche zu tun ist, dynamisch eine Klasse zu haben, eine andere Klasse zu erweitern. Zum Beispiel.
POJO: Foo.java
package abc.service;
public class Foo {
private String greeting = "";
public Foo(){
gretting = "Good morning";
}
public String getGreeting(){
return greeting;
}
}
// end file
Mine: Bar.java
package abc.service;
public class Bar {
private String claim = "";
public Bar(){
claim = "You're correct";
}
public String getClaim(){
return claim;
}
}
// end file
Mine: TestMe.java
hier in einer Klasse Der Versuch, getrennt von der POJOs, die ein POJO haben, erweitern einen anderen meiner Klassen.
Ist das jenseits der Fähigkeiten von JAVA?
Darüber hinaus ist, dass JSON-Schemas von den bereitgestellten POJOs erstellt werden. Die POJOs basieren jedoch nur auf einem UPDATE-Record-Szenario. Ich bin auf der Suche nach dem besten Weg, um die POJOs eine weitere Klasse für CREATE-Record-Szenarien zu erweitern, weshalb ich meine POJOs dynamisch erweitern möchte, um meinen Code bei Bedarf zu erweitern.
- Need json Schema für die POJOs für UPDATE
- Müssen die Überprüfung ihrer json erfüllt die POJOs Anforderungen für UPDATE
- benötigen ihre json den POJOs für UPDATE konvertieren
auch zur Erzeugung von ,
- Need json Schema für die POJOs zu erzeugen, für CREATE
- zu überprüfen, ihre json benötigen erfüllt die POJOs Anforderungen für CREATE
- benötigen ihre json den POJOs zu konvertieren für CREATE
Mit Jackson Mixin und die ObjectMapper Ich bin in der Lage, dynamisch auf die Klassen meinen Code anwenden Beim Erstellen der Schemas ist das Problem, das ich habe, wenn versucht wird, dass die POJOs die Klasse erweitern, in der Mixin das Problem nicht lösen wird.
Nein (und ich habe mindestens 13 Zeichen zu geben, so) ... Nein –
Versuchte Schnittstellen oder abstrakte Klasse verwenden? –
@EngineerDollery Ich hoffe doch, dass es möglich ist, sonst würden spöttische Frameworks nicht funktionieren ;-) –