Technique > Annotation Java
1- Annotations Java, ou metadata 
1- Introduction
Les annotations sont des informations que vous associées à des éléments du code Java, tel qu 'une classe, ou une méthode par exemple.
Les méta données existaient avant la version 1.5.0:
- Les JavaBeans utilisent des conventions de nomage (méthodes getXx et setXx par exemple) et une classe permettant de récupérer des informations (BeanInfo)
- Les commentaires Javadoc dans les commentaires. Par exemple, EJBGen de Cedric Beust permet de générer les descripteurs de déploiement XML à partir du code Java.
- Les descripteurs de déploiement XML.
Les nouvelles annotation Java permettent de simplifier et de structurer l'utilisation des Méta-données.
Par exemple, avec la future version des EJB 3.0, les descripteurs XML seront générés à partir des annotation, simplifiant ainsi notablement le développement.

Java 1.5.0 possède un certain nombre d'annotations standards, mais vous pouvez créer vos propres annotations.
2- Les annotations standards
L'annotation Override
Cette anotation indique que la méthode est la redéfinition d'une méthode définie dans une super classe. Elle permet, par exemple, de se prémunir contre les fautes de frappe: si vous définissez la méthode toStrinh à la place de toString par exemple, une erreur de compilation signalera que la méthode marquée par @Override n'est pas définie dans la super classe.
public class Entreprise {
@Override public String toString() {
return ....
}
...
} |
L'annotation Deprecated
Cette annotation remplace le tag javadoc pour signaler qu'une méthode n'est conservé que pour assurer la compatibilité avec la version précedente, et que cette méthode ne doit plus être utilisée.
public class Entreprise {
@Deprecated public String vieilleMethode {
return ....
}
...
} |
L'annotation SuppressWarnings
Les nouveauté du JDK 1.5.0 peuvent provoquer l'affichage de warning, alors que le code compilait sans warning dans la version précédente. Pour pouvoir supprimer ces warning, vous pouvez ajouter l'annotation @SuppressWarnings devant la méthode concernée.
public class Entreprise {
@SuppressWarnings({"unchecked"}) public String méthode() {
List list = new ArrayList();
list.add("Warning avec le JDK 1.5.0");
}
...
} |
La valeur de cette annotation contient la liste des warnings à masquer.
Remarquez que si vous ajoutez @SuppressWarnings pour supprimer un warning sur une classe, et que vous en ajoutez un autre pour un autre warnings sur une méthode, les deux warnings seront supprimées de la méthode lors de la compilation.
Attention, les noms des warnings ne sont pas standardisés entre les compilateurs Java.
Regardons maintenant comment créer de nouvelles annotations 