- Objectteams
-
ObjectTeams ist eine aspekt-orientierte Erweiterung von Java, welche in Zusammenarbeit der TU Berlin und Fraunhofer FIRST entwickelt wird.
ObjectTeams besteht (derzeit) aus einem Compiler, der auf ObjectTeams-Code für die Java-Laufzeitumgebung übersetzt, einem Laufzeitpaket sowie einer vollständigen Integration in Eclipse. ObjectTeams basiert im Wesentlichen auf dem Konzept von Teams und Rollen. Eine Pointcut-Sprache, wie sie (in anderer Form) auch in AspectJ eingesetzt wird, befindet sich derzeit in Entwicklung.
Teams
Teams sind quasi intelligente Packages: Sie fassen Klassen wie Packages zusammen, erlauben aber zusätzlich eigene Member und auch Vererbung.
Rollen
Rollen leben innerhalb von Teams und sind Java-Klassen, die an andere Klassen gebunden werden können - diese werden als Basis bezeichnet. Über diese Bindung kann eine Rolle callin- und callout-Methoden definieren. Callin-Methoden sind Methoden, die in einer von drei Arten an Methoden der Basis-Klasse gebunden werden können. Die callin-Methode wird aufgerufen
- bei "before": unmittelbar vor dem Aufruf der Basis-Methode,
- bei "after": unmittelbar nach dem Aufruf der Basis-Methode und
- bei "replace": anstatt dem Aufruf der Basis-Methode
Das Basis-Objekt wird gewissermaßen geschützt. Aufrufe auf dem Basis-Objekt sind der Rolle nicht direkt möglich. Solche Aufrufe müssen in Form von callout-Methoden explizit deklariert werden.
Derzeit in der Entwicklung ist eine Pointcut-Sprache, um ähnlich wie bei AspectJ die Selektion der Basis-Klassen und -Methoden besser steuern zu können.
Weblinks
Wikimedia Foundation.