Zum Inhalt springen

Annotation (Programmierung)

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 18. Juni 2005 um 23:51 Uhr durch Messi (Diskussion | Beiträge) (link korrektur). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Annotationen sind ein Mittel zur Strukturierung von Programmquelltexten, bei der die Erzeugung von Programmtexten und mit der Programmierung verbundener Hilfsdateien teilweise automatisiert wird. Als Informationsgrundlage für die automatische Erzeugung der zusätzlichen Dateien werden Informationen aus dem Quelltext herangezogen, die vom Compiler bei der Übersetzung ausgeklammert werden. Diese Informationen nennt man Metainformationen, Metadaten, Anmerkungen, Annotationen oder Attribute.

Programmiersprachen, die diese Form der Einbindung von Metainformationen ermöglichen, sind unter anderem Java und C#. Mit Hilfe von Zusatzwerkzeugen lässt sich auch in Sprachen ohne dafür integrierte Syntax Metainformation einbinden. Die Metadaten werden dann üblicherweise in Kommentaren vor dem Compiler verborgen und mit den Zusatzwerkzeugen ausgewertet.

Fälschlicherweise wird die Programmierung mit Annotationen manchmal als Programmierparadigma bezeichnet und eingeordnet.

Annotationen in in Java

In Java gibt es zwei Möglichkeiten zur Einbindung von Metainformationen.

Bislang verwendeten Software-Entwickler Doclets, um spezielle JavaDoc-Tags in JavaDoc-Kommmentaren auswerten und verarbeiten zu lassen. Das wohl bekannteste Werkzeug dafür ist das insbesondere im J2EE-Umfeld eingesetzte XDoclet, das aus JavaDoc-Tags in den Quelltexten zu Enterprise Java Beans die zugehörigen Schnittstellen (Remote Interface, Home Interface, Local Interface, Local Home Interface), SQL-Dateien, EJB-QL, Deployment-Deskriptoren und Assembly-Deskriptoren in verschiedenen EJB-Spezifikationen und für verschiedene Application Server erzeugen kann. Das Hauptwerkzeug für den Entwickler ist hierbei javadoc, das Dokumentationswerkzeug.

In Java 5.0 wurde der Sprachumfang von Java um die Annotationen erweitert. Während Metainformationen bisher in den Javadoc-Kommentaren standen und damit wie jeder Kommentar beim Compilieren verloren gingen, stehen die neuen Annotationen unter Umständen auch in der erzeugten Klassendatei (mit der Endung .class) oder sogar zur Laufzeit zur Verfügung. Zur Verarbeitung der Metadaten wird bei den Annotationen das Werkzeug apt (annotation processing tool) verwendet.

Beispiel: Kennzeichnung als überholt (engl. deprecated) mit JavaDoc

/** @deprecated Nicht mehr verwenden. */
public class SomeDeprecatedClass {}

Beispiel: Kennzeichnung als überholt (engl. deprecated) mit Annotationen

@Deprecated
public class SomeDeprecatedClass {}