1 Einleitung

Annotationen sind eine Neuerung in J2SE 1.5 und werden häufig auch als Metadaten, also Anmerkungen zum Quellcode bezeichnet. Im Allgemeinen bezeichnet man Daten als Metadaten, die mit dem eigentlichen Gegenstand der Betrachtung zwar inhaltlich in Verbindung gebracht werden können, aber deren Vorhandensein den Inhalt des betrachteten Gegenstandes nicht verändern. Bei der Betrachtung eines Buches könnte man den Namen des Autors, den Verlag oder die ISBN als Metadaten bezeichnen. Stünden diese Daten nicht zur Verfügung, so würde das nichts am Inhalt des Buches ändern. Wollte man allerdings ein Buch bestellen, wären diese Daten unerlässlich und somit keine Metadaten mehr. Es kommt also darauf an, unter welchem Gesichtspunkt man die Daten betrachtet. Eine klare Trennung von Metadaten und normalen Daten ist somit nicht möglich.

Bislang konnte man dem Java-Quellcode Metadaten in Form von Doclets innerhalb von JavaDoc-Kommentaren hinzuzufügen. Diese wurden dann von Tools wie z.B. XDoclet ausgewertet und verarbeitet. Zum Teil wurden mithilfe dieser Tools externe Dateien generiert, welche dann zu Laufzeit geparst und ausgewertet wurden. Mitunter wurde auch neuer Quellcode generiert. Annotationen ermöglichen es nun, in einem Java-Quellcode zusätzliche Informationen in einheitlicher Form einzubringen, welche später durch ein zusätzliches Tool ausgewertet werden können.1 Auch der Compiler ist ein Tool welches Quellcode analysiert und verarbeitet. Es gibt z.B. spezielle Annotationen die bewirken, dass bestimmte Warnungen des Compilers auszugeben bzw. unterdrücken werden. Andere Annotationen werden vom Compiler in die .class Datei eingebunden, so dass sie später von der VM 2 oder anderen Tools ausgewertet werden können.