eclipse-vertx / eclipse-vertx/vertx-codegen

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

Aperta
#257 2 commenti 1 reazione 0 assegnatari Vedi su GitHub
Lingua principale
Java
Stelle
111
Fork
88
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

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

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia da vertx/codegen/DataObjectModel.java e dai template proxy-gen citati nella domanda, concentrandoti sulla convalida di hasJsonConstructor e sul modo in cui vengono istanziati gli oggetti dati generati. Verifica il comportamento di v3.7.0 e la compatibilità con le data class di Kotlin; il lavoro sarà completato quando sarà disponibile un approccio supportato documentato oppure una modifica chiaramente delimitata con un comportamento di generazione corrispondente.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java, kotlin
Ambito
tooling
Tipo di issue
Funzionalità
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.