eclipse-vertx / eclipse-vertx/vertx-codegen

[Question] hasJsonConstructor in vertx/codegen/DataObjectModel.java

Offen
#257 2 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Java
Sterne
111
Forks
88
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Hello,

More of a question,

I'm trying to customize the vertx-proxygen templates to not use a constructor that requires a JsonObject but I get stopped by this bit here.

With this bit removed and by using custom templates for proxy gen that uses static factory method I don't seem to have any issues.

vertx/codegen/DataObjectModel.java
```java

boolean hasJsonConstructor = (constructors & 2) == 2;

if (concrete && !hasJsonConstructor) {
throw new GenException(modelElt, "Data object " + modelElt + " class does not have a constructor " + modelElt.getSimpleName() + "(" + JsonObject.class.getSimpleName() + ")");
}
```

Alternatively does anyone have a working example of using kotlin data class with proxy-gen? The only way I could get it to work was to hack out this bit above and change the template to use jackson deserialization instead of `new T(JsonObject).`

on v3.7.0

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne mit vertx/codegen/DataObjectModel.java und den in der Frage referenzierten proxy-gen-Vorlagen und konzentriere dich auf die hasJsonConstructor-Validierung sowie darauf, wie generierte Datenobjekte instanziiert werden. Prüfe das Verhalten von v3.7.0 und die Kompatibilität mit Kotlin data classes; abgeschlossen ist die Untersuchung, wenn entweder ein dokumentierter unterstützter Ansatz oder eine klar abgegrenzte Änderung mit übereinstimmendem Generierungsverhalten vorliegt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java, kotlin
Bereich
tooling
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.