Annotation (Java)

Un article de Wikipédia, l'encyclopédie libre.

image:Langage_progr.png
Cet article fait partie de la série
langages de programmation
Langages à objets
C++ - C# - D
Eiffel - Groovy - Java
Lisaac - Python - Ruby
Simula - Smalltalk
Langages impératifs
APL - ASP - Assembleur
BASIC - C - COBOL - Natural
Forth - Fortran - Limbo - Logo
Pascal - Perl - PHP - TCL
Visual Basic - WLangage
Langages fonctionnels
Haskell - ML/OCaml
Lisp/Common Lisp
Scheme - XSLT
Langages déclaratifs
Clips - Prolog
Langages concurrents
Ada 95 - Erlang
Voir aussi
Conception - Codage
Tests - Optimisations


En programmation, une annotation Java est une façon d'ajouter des méta-données à un code source Java, accessibles au programmeur à l'exécution. Cette technique est vue comme une alternative à XML.

Les annotations Java peuvent être ajoutées aux classes, méthodes, attributs, paramètres, variables locales et paquets. Contrairement aux libellés ajoutées à la documentation Java et traitées par des outils tels que XDoclet, les annotations Java peuvent (si besoin) être accessibles au programmeur lors de l'exécution du programme grâce à la réflexion.

Sommaire

[modifier] Historique des annotations Java

Les annotations Java ont été introduites en 2002 à travers le JCP (JSR-175) et ont été approuvées en septembre 2004. Les annotations sont disponibles avec le JDK version 1.5.

[modifier] Comment les annotations Java sont traitées

Lors de la compilation des codes sources, le compilateur Java stocke les méta-données d'annotation dans les fichiers classes. Plus tard, la JVM ou d'autres programmes peuvent accéder à ces méta-données pour déterminer comment intéragir avec les composants du programmes ou changer leur comportement. Les annotations (que vous pouvez créer) peuvent être annotées avec une annotation Retention qui indique si cette annotation doit être embarquée dans le fichier class, accessible dans l'environnement d'execution ou simplement rester au niveau code source (TODO).

[modifier] Syntaxe de l'annotation

La déclaration des annotations est une variante des libellés ajoutés aux commentaires par le passé. Les annotations prennent la forme d'une déclaration d'interface précédée du caractère @, et facultativement suivies de méta-annotations, comme montré ci-dessous :

 @Retention(RetentionPolicy.RUNTIME)
 @Target({ElementType.METHOD})

Dans cet exemple, Retention et Target sont des exemples d'annotations.

[modifier] Pour et contre des annotations Java

[modifier] Pour

  • Les annotations permettent aux programmeurs de déclarer dans leur code source comment leurs programmes doivent se comporter. C'est un exemple de construction déclarative introduite dans un langage procédural.
  • C'est le successeur idéal pour tous ceux qui ont eu à développer des plugins pour XDoclet. Finis les lourds fichiers de configuration XML non-synchronisés avec le code.

[modifier] Contre

  • L'ajout de méta-données à l'exécutable requiert des ressources mémoire additionnelles.
  • Il y a peu de standards dictant comment ces méta-données doivent être employées.

[modifier] Voir aussi

[modifier] Références