Wie kann ich mithilfe von Roaster eine Schnittstelle mit einem bestimmten generischen Typ (oder Typen) generieren?

7

Ich verwende derzeit Roaster , um Schnittstellen zu generieren, aber an meine Schnittstelle sind generische Typen gebunden.

Hier habe ich versucht, sie zu erzeugen:

%Vor%

Aber die obigen Ergebnisse führen zu einem generierten Code, der wie folgt aussieht:

%Vor%

Was ich eigentlich will ist, dass das generische an JpaRepository gebunden ist. Wie erreiche ich das?

    
Makoto 18.08.2017, 22:02
quelle

1 Antwort

2

JavaInterfaceSource#addInterface wird mit einer String -Signatur überladen. Dies bedeutet, dass Sie einen generischen Typ erstellen können, indem Sie eine clevere String-Verkettung durchführen. Es gibt auch die gleiche Instanz von JavaInterfaceSource zurück, so dass im obigen Beispiel jpaInterface == repository , so dass die Operation sowohl unnötig als auch irreführend ist.

Da es mit String überladen ist, fügen wir einfach die Generika (gelesen: spitze Klammern) hinzu, die wir selbst wollen.

%Vor%

Es ist möglicherweise nicht so typ-elegant wie der Rest der API, aber es erzeugt am Ende das richtige Objekt.

%Vor%     
Makoto 18.08.2017, 22:02
quelle

Tags und Links