Beispiele zu "Pointcuts definieren"

Beispiele zu "Pointcuts definieren"

Mit dem Joinpoint allein kann man noch nicht viel anfangen. Erst die Pointcuts geben uns die Möglichkeit, damit zu jonglieren, wie in den verschiedenen Beispielen zu Kapitel 4 demonstriert wird.

Anatomie eines Pointcuts

Hier dient das altbekannte Hello-World-Beispiel als Vorlage für benannte und anonymen Pointcuts, die in WorldAspect abgelegt wurden.

Primitive Pointcuts / Im Banne des Joinpoints / Kontrollfluss-basierter Bezeichner

Im Verzeichnis 2jRequest finden Sie die einzelnen Pointcuts, die sich auf die State-Klasse beziehen, in StateAspect.aj. Hier finden Sie z.B. den Pointcut "handleRuntimeException()" aus Kapitel 4.3.3 "Exception-Handling", aber auch den Zugriff auf den Kontext über this, target oder args, wie in Kapitel 4.4 "Im Banne des Joinpoints" beschrieben. Ebenfalls finden Sie die Beispiele aus Kapitel 4.5 "Kontrollfluss-basierte Bezeichner in StateAspect.aj.
Den Set- und Get-Pointcut aus Kapitel 4.3.4 "Attribut-Zugriff" finden Sie in UserAspect.aj. Auch die this(), target() und args()-Beispiele aus Kapitel 4.4 finden sich im UserAspect, ebenso die Beispiele der cflow()-Familie.
Mit jrequest/test/AllTests.java existiert eine Testsuite, die einige Testklassen aufruft und die sie als JUnit-Test ("Run As -> JUnit Test") starten können.

Programmtext-basierte Bezeichner

Die Beispiele zu withincode befinden sich noch im 2jRequest-Verzeichnis im StateAspect. In 3within befindet sich dann der WithinAspect mit dem within()-Beispiel. Über die UserTest-Klasse können Sie den JUnit-Test starten und erhalten dann in der Konsole die Ausgabe aus diesem Kapitel.

Dynamische Joinpoints

Die Beispiele zu diesem Kapitel befinden sich in 4DynamischeJoinpoints.

adviceexecution

Die Möglichkeit, eine Advice zu instrumentieren, wird in 5AdviceExecution im AdviceAspect demonstriert.


letzte Änderung: 11. Juli 2005