suche ich AspectJ
und seine zahlreichen Verwendungen und mixins
entdeckt haben.Wie greife ich mit AspectJ auf private Felder zu?
Ich kann viele Beispiele finden unter Verwendung reiner AspectJ
.aj
Aspekte, aber ich brauche nur @AspectJ
Annotationen zu verwenden.
Was ich versuche zu erreichen, ist die folgende: -
Ich habe eine Klasse, die ich nicht ändern kann, es verfügt über eine private Klassenvariable, die ich brauche, um abzufragen, nach einer bestimmten Klasse Methode Ausführung abgeschlossen hat. Diese Klasse verfügt nicht über Getter- oder Setter-Methoden, die dieser privaten Klassenvariablen zugeordnet sind.
public final class CannotAmend {
private Uri privateUri;
public final void methodOne(){}
public final void methodTwo(){}
public final void methodThree(){
privateUri = "something";
}
}
Ich benötige einen Aspekt/mixin die @After
methodThree()
und erlauben erfassen kann mich den Wert in privateUri
gesetzt zu sehen.
Ist das möglich?
Mit @AspectJ
Anmerkungen?
Wo kann ich entdecken Dokumentation/tutorial/Beispiele dafür, wie dies zu erreichen?
Es ist schade, dass man nicht '.aj' Syntax verwenden kann, als dies mit einem privilegierten Aspekte ziemlich einfach sein würde. –