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

yii\base\ErrorException
Copied! Copy Stacktrace Search Stackoverflow Search Google Error

PHP Core Warningyii\base\ErrorException

PHP Startup: Unable to load dynamic library 'mongodb.so' (tried: /usr/lib64/php/modules/mongodb.so (/usr/lib64/php/modules/mongodb.so: cannot open shared object file: No such file or directory), /usr/lib64/php/modules/mongodb.so.so (/usr/lib64/php/modules/mongodb.so.so: cannot open shared object file: No such file or directory))

$_GET = [
    'id' => '393665',
    'url' => 'using-roaster-how-can-i-generate-an-interface-with-a-specific-generic-type-or',
];

$_SESSION = [
    '__flash' => [],
];