Wie schreibe ich eine Java-innere Klasse mit benutzerdefinierten Eigenschaften zum Kompilieren mit Anmerkungen?
Zum Beispiel möchte ich das:
%Vor%zum Generieren:
%Vor%Wie kann ich die Schnittstelle schreiben:
%Vor%Ich verstehe, dass ich eine Art AST-Transformation machen muss, um das magisch zu machen.
Ich kenne auch das Projekt lombok, aber ich möchte wissen, was der kleinste gemeinsame Nenner mit einem einfachen Beispiel ist, vorzugsweise innerhalb einer Methode, und vorzugsweise etwas, das ein guter Editor automatisch in Betracht ziehen würde, zum Beispiel RetentionPolicy. SOURCE für den Javac-Compiler, der in Intellij IDEA verwendet werden kann.
Projekt Lombok ist ein Code-kluges Tier und es ist schwierig, anzufangen.
Es muss einfacher sein, oder?
Irgendwelche Ideen?
Sie können dies durch Reflexion tun, aber Ihre neue Klasse wird keine innere Klasse sein; Aber seien Sie gewarnt, Sie werden die statische Sicherheit verlieren.
Dies kann in zwei Schritten geschehen:
Alternativen zu ähnlichen Funktionen können auch durch Bytecode-Instrumentierung erhalten werden (siehe cglib oder javassist ) oder vielleicht sogar mit Proxies .