Mit Annotations bietet Java 5 die Möglichkeit, Metadaten im Code unterzubringen.
Verzeichnis | Kap. | Beschreibung | s.a. |
---|---|---|---|
1Konto | 8.1 | Java5-Beispiele | Annotations in Java 5 |
2SpaceTaxi | 8.2-8.4 | Ausschnitt der Board-Software für Weltraumtaxis als Beispiel für die verschiedenen Einsatzmöglichkeiten von Annotations. | AspectJ-Annotations |
3Vererbung | 8.5 | Grossvater-/Vater-/Sohn-Beispiel | Annoation-Vererbung |
4SpaceTaxi | 8.6.1, 8.6.2 | declare error/warning, declare parents | Errors und Warnings, declare parents |
5Rabatt | 8.6.3, 8.7 | Vorrangregeln vergeben und Klassen mit Annotations versehen | declare precedence, Declare Annotation |
6PersonAnnoStyle | 8.8 | Bespiel für den Annation-basierten Entwicklungsstil | @AspectJ-Annotations |
1Konto enthält mehrere Beispiel für Annotations wie Copyright oder Version, die in KontoTest zur Laufzeit abgefragt werden.
Das space.Taxi-Beispiel aus 2SpaceTaxi dient als Grundlage für den Umgang mit Annotations in AspectJ 5. Die verwendeten Annotations liegen dabei im Paket space.annotation. über log4j.properties können Sie den Detail der Log-Ausgaben steuern, den sie beim Start von AllTests erhalten.
Annotations werden nur vererbt, wenn sie mit "@Inherited" gekennzeichnet sind. In 3Vererbung ist dies die Vorfahr-Annotation, die in Annotations.java definiert wird. @HatGeld wird im Gegensatz dazu nicht weitervererbt. Um dies zu überprüfen, rufen Sie einfach die Sohn-Klasse auf.
In PatternCheck.ja im Verzeichnis 4SpaceTaxi finden Sie das Beispiel, wie man eigene Fehlermeldungen und Warnungen deklarieren kann. Wenn Sie im FareCalculatorTest in der testConstrutor-Methode den Kommentar vor dem Konstruktor-Aufruf entfernen, sollten Sie damit eine Fehlermeldung erhalten. Und die increaseFee()-Methode des FareCalcuators erzeugt eine Warnung, wenn Sie den Kommentar entfernen!
Die Beispiele zu "declare parents" finden Sie im 4SpaceTaxi-Verzeichnis im PersistenceAspect und ModelAspect.
Als Beispiel für Kapitel 8.6.3 "declare precedence" dient das Tante-Emma-Beispiel in 5Rabatt und der AnnotationAspekt.
Das Tante-Emma-Beispiel aus 5Rabatt dient auch als Beispiel für die verschiedenen declare-Anweisungen aus Kapitel 8.7 "Declare Annotation".
Statt mit eigenen Schlüsselwörter ist es mit AspectJ 5 auch möglich, stattdessen Annotations zu benutzen, den "annotation based style" ("Annotations-basierter Entwicklungsstil") oder auch kurz "@AJ style". Dies wird in 6PersonAnnoStyle verwendet. Allerdings funktionierte in AspejctJ 1.5M4 manches noch nicht, was in der Dokumentation zu AspectJ 5 beschrieben war. Daher sind in den einem oder anderen Beispiel zu diesem Kapitel noch kleinere Lücken.